您的位置:首页 > 编程语言 > Java开发

详解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的好处。

(完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: