[原]Java web学习系列之 Java web开发中的servlet类
2012-02-28 00:47 雪夜&流星 阅读(449) 评论(0) 编辑 收藏 举报到今天为止Servlet、Hibernate、Struts、Spring及Struts-Hibernate整合、Spring-Hibernate整合和Struts-Spring-Hibernate整合(SSH)全部学习完了,在这里把这些知识做一个回顾。
Servlet作为一个作为类来使用,必须在资源文件下面新建。当新建一个Servlet时就对应在WEB—INF文件夹下面的web.xml中创建一个Servlet和servlet-mapping(Servlet映射路径)。比如新建一个Servlet,对应的web.xml中的名称和映射路径:
<!-- 新建Servlet -->
<servlet>
<description>
This is the description of my J2EE component
</description>
<display-name>
This is the display name of my J2EE component
</display-name>
<!-- Servlet类的名称及包名 -->
<servlet-name>ClarckServlet</servlet-name>
<servlet-class>org.clarck.demo.MyServlet</servlet-class>
</servlet>
<!-- Servlet类映射路径 -->
<servlet-mapping>
<servlet-name>ClarckServlet</servlet-name>
<url-pattern>/clarck</url-pattern>
</servlet-mapping>
在Servlet中使用映射路径是为了更好的隐藏文件的类名,提高工程的安全性。
在创建Servlet的同时包含了init()、destroy()、service() 等方法,其中init()方法用来初始化Servlet类,而destroy()回收机制,能够更好的回收和销毁过时资源。
public MyServlet() {
super();
}
<!--销毁对象 -->
public void destroy() {
super.destroy();
System.out.println("销毁");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
<!--得到上下文请求对象 -->
String name = request.getParameter("name");
System.out.println(name);
<!--将请求响应对象封装到request中去 -->
request.setAttribute("name", name);
<!--将请求响应对象转发到"show.jsp"页面去 -->
request.getRequestDispatcher("show.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
<!--初始化对象 -->
public void init() throws ServletException {
System.out.println("初始化");
}
注释:Servlet中不存在session隐式对象,但是存在HttpSession,功能和session相同,都是用来保存对象。分三步来完成:
获得请求对象 String name=request.getParemeter("name");
创建session对象 HttpSession session=request.getSession();
将对象保存到session中去 session.setAttribute("name",name);
Servlet的目的是实现MVC模式中的控制层的功能。
写于2010-8-23 23:25 笔记。