详解Eclipse搭建一个简单的Web系统及其遇到的问题
2014-01-17 08:35
971 查看
首先要确保安装了JDK6.0和配置了tomcat 6.0。关于在Eclipse下配置这些环境此处略去。
1. 目标:输入localhost or 127.0.0.1 :8080/index.jsp能够访问该页面
2. 搭建过程:
2.1 在Eclipse中选择 File-new -Project--Web- Dynamic Web Project,
输入Project name,其他项默认,next,Default output folder 暂时不改变,next
Content directory 建议不用默认的WebCotent(这也是很多系统中为啥有WebContent的原因),改成WebRoot
Finish。
则基本的工程创建完毕。
2.2. 建Server
确保你已经在Eclipse下配置了Tomcat,此时建一个Server就比较容易了。
File-New-Other-Server
下一步可以将左侧相关的Project添加,从而与tomcat server关联。如果没选,则需要配置下在Package Explorer视图下的Servers下的yourservername-config下server.xml文件。
增加这样一行<Context path="" docBase="{yourprojectPath}\WebRoot" reloadable="true" />
然后启动server.
[注] 启动server时console下可能会报一个 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
这个可以不用理会,不影响服务器的正常启动。
2.3写一个普通Servlet
一个Servlet需要实现其基本API, init(),doGet(x,y),doPost(x,y)。具体可以看看这篇文章
[b][b]JavaServlet技术[/b][/b] http://www.blogjava.net/jerry-zhaoj/articles/286008.html
完成后需要在web.xml里配置,从而能够在浏览器里输入url进行访问。
MyTestServlet名字可以随便取,只要能区分标识。servlet-class必须写对应的类(含包)
url-pattern是准备访问的url模式,eg图中的配置,则访问时用localhost:8080/testServlet
代码写完,配置完成后,启动Server,会自动地加载这个Servlet(服务器启动后也可在url里访问)。此时可能会出现一个异常:
找不到这个Servlet class。
这种凡是找不到class的必然都是build path出了问题。
一般会去web-inf/classes里面寻找编译后的类进行加载(这个应该是jsp和servlet默认的规范吧),而我们可能配置的是build/classes默认路径,当然找不到了。
只需要在web-inf下创建classes这个文件夹,refresh下,然后将build path的Default output folder改到这个classes路径即可。
2.3 如果有兴趣,加上一个Filter。
2.4 servlet能够进行了访问,可以在该servlet里的doGet方法或doPost方法中进行相应的response的内容push。
也可response.sendRedirect("index.jsp"),则可以跳到index.jsp了。
当然也可以直接在浏览器里输入 localhost:8080/index.jsp进行访问了。
--
后记拓展:
jsp web开发基本环境搭建步骤如上。就实战开发而言,一般是三个档次(层次)
Level 1:纯jsp / java(bean) + jsp: 初级层次,html和逻辑都写在jsp页面里,然后jsp互相跳转完成逻辑。有的甚至不用到java,而是纯粹地jsp来完成开发。稍微改进一些的是将一些常用逻辑封装到java 类中,然后在jsp页面完成调用。
优点:容易上手,比较直白
缺点:逻辑混乱,不利于后期维护
Level 2: Servlet + java(bean) + jsp: 中级层次,html和少量逻辑在jsp页面编写。控制访问(启动配置加载、Filter、编码解码控制等)等在Servlet里进行控制
优点:将相关的控制逻辑进行剥离和单独处理,减轻jsp页面的逻辑负担,易于后期维护
缺点:每一个Servlet都要配置,容易搞错。
由于前2个Level都会出现不足,因此前辈们就想到了用一些框架来整合这些不解耦的现象,从而将我们的精力更多地花在代码的编写和清晰地维护上。
Level 3: 少量Servlet + java(bean) + jsp + Spring/Struts + Hibernate/Mybatis
Spring通过配置来完成类的组合加载;而Hibernate/Mybatis出现的原因在于:传统的JDBC的访问数据库比较散漫和繁重,程序员要为数据的存/取花费很多重复的劳动。而Hibernate将这些都封装在下层,利于程序员进行编程。
优点:充分利用传统的jsp开发的优点,同时也通过基于AOP/数据ORM(Object/Relation Mapping)框架来减轻程序员的重复劳动
缺点:配置相对比较复杂,同时Hibernate的数据表对应的类加载机制,在项目发展到一定程度,数据量剧增时,数据库访问效率也会降低。但从大体上讲,其优点远远高于缺点。SSH框架也是业内比较成熟的框架,我们可以通过在编码时的经验来克服对应的缺点。
直接进入Level 3有时容易晃神,建议一步步来,先体会低Level的乐趣和繁琐,才会体会到高Level的好处。
(完)
1. 目标:输入localhost or 127.0.0.1 :8080/index.jsp能够访问该页面
2. 搭建过程:
2.1 在Eclipse中选择 File-new -Project--Web- Dynamic Web Project,
输入Project name,其他项默认,next,Default output folder 暂时不改变,next
Content directory 建议不用默认的WebCotent(这也是很多系统中为啥有WebContent的原因),改成WebRoot
Finish。
则基本的工程创建完毕。
2.2. 建Server
确保你已经在Eclipse下配置了Tomcat,此时建一个Server就比较容易了。
File-New-Other-Server
下一步可以将左侧相关的Project添加,从而与tomcat server关联。如果没选,则需要配置下在Package Explorer视图下的Servers下的yourservername-config下server.xml文件。
增加这样一行<Context path="" docBase="{yourprojectPath}\WebRoot" reloadable="true" />
然后启动server.
[注] 启动server时console下可能会报一个 信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path
这个可以不用理会,不影响服务器的正常启动。
2.3写一个普通Servlet
一个Servlet需要实现其基本API, init(),doGet(x,y),doPost(x,y)。具体可以看看这篇文章
[b][b]JavaServlet技术[/b][/b] http://www.blogjava.net/jerry-zhaoj/articles/286008.html
完成后需要在web.xml里配置,从而能够在浏览器里输入url进行访问。
MyTestServlet名字可以随便取,只要能区分标识。servlet-class必须写对应的类(含包)
url-pattern是准备访问的url模式,eg图中的配置,则访问时用localhost:8080/testServlet
代码写完,配置完成后,启动Server,会自动地加载这个Servlet(服务器启动后也可在url里访问)。此时可能会出现一个异常:
找不到这个Servlet class。
这种凡是找不到class的必然都是build path出了问题。
一般会去web-inf/classes里面寻找编译后的类进行加载(这个应该是jsp和servlet默认的规范吧),而我们可能配置的是build/classes默认路径,当然找不到了。
只需要在web-inf下创建classes这个文件夹,refresh下,然后将build path的Default output folder改到这个classes路径即可。
2.3 如果有兴趣,加上一个Filter。
2.4 servlet能够进行了访问,可以在该servlet里的doGet方法或doPost方法中进行相应的response的内容push。
也可response.sendRedirect("index.jsp"),则可以跳到index.jsp了。
当然也可以直接在浏览器里输入 localhost:8080/index.jsp进行访问了。
--
后记拓展:
jsp web开发基本环境搭建步骤如上。就实战开发而言,一般是三个档次(层次)
Level 1:纯jsp / java(bean) + jsp: 初级层次,html和逻辑都写在jsp页面里,然后jsp互相跳转完成逻辑。有的甚至不用到java,而是纯粹地jsp来完成开发。稍微改进一些的是将一些常用逻辑封装到java 类中,然后在jsp页面完成调用。
优点:容易上手,比较直白
缺点:逻辑混乱,不利于后期维护
Level 2: Servlet + java(bean) + jsp: 中级层次,html和少量逻辑在jsp页面编写。控制访问(启动配置加载、Filter、编码解码控制等)等在Servlet里进行控制
优点:将相关的控制逻辑进行剥离和单独处理,减轻jsp页面的逻辑负担,易于后期维护
缺点:每一个Servlet都要配置,容易搞错。
由于前2个Level都会出现不足,因此前辈们就想到了用一些框架来整合这些不解耦的现象,从而将我们的精力更多地花在代码的编写和清晰地维护上。
Level 3: 少量Servlet + java(bean) + jsp + Spring/Struts + Hibernate/Mybatis
Spring通过配置来完成类的组合加载;而Hibernate/Mybatis出现的原因在于:传统的JDBC的访问数据库比较散漫和繁重,程序员要为数据的存/取花费很多重复的劳动。而Hibernate将这些都封装在下层,利于程序员进行编程。
优点:充分利用传统的jsp开发的优点,同时也通过基于AOP/数据ORM(Object/Relation Mapping)框架来减轻程序员的重复劳动
缺点:配置相对比较复杂,同时Hibernate的数据表对应的类加载机制,在项目发展到一定程度,数据量剧增时,数据库访问效率也会降低。但从大体上讲,其优点远远高于缺点。SSH框架也是业内比较成熟的框架,我们可以通过在编码时的经验来克服对应的缺点。
直接进入Level 3有时容易晃神,建议一步步来,先体会低Level的乐趣和繁琐,才会体会到高Level的好处。
(完)
相关文章推荐
- Java 安全模型介绍
- Java: 复制文件最快方法
- Java里this的用法
- Java Web开发笔记
- The 2nd Day Learning JAVA: enable JAVA demo run in Chrome
- Head First Java相关资源已上传
- Head First Java_Study Notes_Chapter 6 Using the Java Library
- JAVA hdu 2162 Add ‘em
- JAVA hdu 2164 Rock, Paper, or Scissors?
- MyEclipse8.0 注册码生成代码
- JAVA hdu 2309 ICPC Score Totalizer Software
- JAVA hdu 2539 点球大战
- 第三节(下):struts.xml文件配置详解
- JAVA中sqlite的使用
- SQLite 在 Java中的使用
- java中调用SQLite的简单经验总结
- java线程安全总结
- 使用SQLite3开发java应用程序
- 《深入理解Java内存模型》读书总结
- 50道java算法题(一)