`
gao_20022002
  • 浏览: 160926 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

小项目总结之一:Servlet练习总结

    博客分类:
  • Java
阅读更多

整体的概念:

1、HTML页面直接存放在文件服务器中。当客户端需要访问具体的HTML时,会直接调用,取到后显示与客户端,数据是以什么形式存放的不会有任何变化。

2、JSP页面不同,需要服务器的支持,具体来说是Serlvet服务器的支持,现在流行的Tomcat,另外可以使用Apache与Tomcat的结合,提供负载均衡。当客户端需要访问具体的JSP时,文件在首次使用时会经过Servlet的解析,然后转换为HTML的形式,转发给客户端显示,文件是经过处理的,不是原始的数据。

3、由此可见,直接的HTML存在明显的缺陷,不能够进行动态扩展。具体最重要的表现形式就是:当我们进行列表数据的访问时,尤其是要将和数据库结合时,HTML办不到。 进行一个Servlet流程的分析:

1、编写一个Servlet。

@SuppressWarnings("serial") 

public class NewsService extends HttpServlet { 

     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

         List list = XmlParse.parse(Common.netAddr(this) + "/src/content/news.xml"); 

         request.getSession().setAttribute("newsxmlinfo", list); 

         response .sendRedirect(request.getContextPath() + "/pages/news/news.jsp"); } 

     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

                  doGet(request, response); } 

}

 

注意问题:处理的逻辑随自己的业务而定,关键问题是最后的地址转向。有两种方式,下一节讨论。另外注意此类继承于HttpServlet,这是个很有用的信息,要是处理本地文件放置于服务器上时,会出现问题,要由此来解决。

 

2、进行servlet的配置。在web.xml中加入以下配置。

 

	<servlet>
		<servlet-name>news</servlet-name>
		<servlet-class>
	                          com.kfcgw.service.news.NewsService
		</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>news</servlet-name>
		<url-pattern>/news</url-pattern>
	</servlet-mapping>

 

 说明:配置的servlet-name无关紧要,与映射mapping对应起来就可以了,起自己业务相关的名字。关键是servlet-class是自己刚才编写的那个servlet类,要全路径模式。最后一个关键点:url-pattern,它是一个过滤器的模式,当访问过程中出现此处种类型配置的时候,会被servlet拦截获取,使用配置的servlet来进行处理(这样的结果就是改变了就是JSP页面跳转的模式,当然我们知道页面之间的链接可以简单的以A标签来进行,一个页面直接连接与另外一个页面,直接表示成JSP页面,会直接转发,而要是能够被自己定义的Servlet拦截到,则可以进行相应的业务处理,然后再经过转发到自己需要的页面。与直接JSP转发区别就是自己的业务实现)。

 

3、拦截匹配问题。在JSP页面中,通过标签的进行servlet的拦截。匹配的url为刚才的配置。参见第二点的说明。

<a href="news">哈哈哈</a>

 

 

至此,一个简单的servlet就完成了。

2
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics