青木求鱼——leejie
我要强大到没有任何事物能够打扰到我内心地平静。
I want to be strong enough that no thing can disturb the tranquility of my heart.

一、Servlet基础

a)   Servlet和JSP的关系

1、 Servlet是一个运行在服务器端的Java程序,它可以动态地生成web页面,是属于客户和服务器响应的中间层。可以说JSP就是一个Servlet。

2、 Servlet是JSP的底层实现;实际上,在运行JSP时,服务器底层将JSP编译成一个Servlet。

3、 Servlet适合纯编程,和Servlet相比,编写JSP成本更低。

b)   Servlet的编写

1、 继承javax.servlethttp.HttpServlet;

2、 重写HttpServlet的doGet()和doPost()方法

doGet()和doPost()方法使用来处理业务逻辑上。

3、 在web.xml中配置Servlet

<servlet>

<servlet-name>Servlet名</servlet-name>

<servlet-class>Servlet类路径</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Servlet名</servlet-name>

<url-pattern>映射路径</url-pattern>

</servlet-mapping>

<servlet>和<servlet-mapping>中配置的<servlet-name>要一致才能制定此两项配置是同一个Servlet。

4、 部署Servlet

c)   Servlet的运行机制

初次运行Servlet时实例化Servlet

Servlet采用多线程机制,首次执行时实例化,当有多个用户请求时创建多个线程,每次请求时执行doGet()或doPost()方法。

d)   Servlet的生命周期

init()方法:Servlet实例化过程中将会调用此方法。

doGet()/doPost()/service()方法:当用户请求Servlet时会调用service方法,service方法会根据请求类型去调用doGet()或doPost()方法。

destroy()方法:Servlet实例消亡时自动调用此方法。

e)   Servlet与JSP内置对象

1、 JSP的request对象---HttpServletRequest

2、 JSP的response对象---HttpServletResponse

3、 JSP的out对象---Servlet的(PrintWriter)response.getWriter()

4、 JSP的session对象---Servlet的(HttpSession)resquest.getSession()

5、 JSP的application对象---Servlet的(ServletContext)this.getServletContext()

f)   Servlet参数读取和web.xml的参数配置

1、 web.xml文件参数配置

a)   全局参数配置:所有的Servlet都能访问

全局参数配置在web.xml的最上面,格式为:

<context-param>

    <param-name>参数名</param-name>

    <param-value>参数值</param-value>

</context-param>

b)   局部参数配置:只有相应的Servlet才能访问

配置格式为:

<servlet>

<servlet-name>Servlet名称</servlet-name>

<servlet-class>Servlet类路径</servlet-class>

<init-param>

       <param-name>参数名</param-name>

       <param-value>参数值</param-value>

</init-param>

</servlet>

2、 Servlet获取参数

a)   获取全局参数

ServletContext application = this.getServletContext();

Application.getInitParameter(“参数名”);

b)   获取局部参数

this.getInitParameter(“参数名”);

二、Servlet高级

a)   Servlet页面跳转

1、 Servlet重定向

使用response.sendRedirect(url)

页面重定向到一个新的页面,同JSP中的response.sendRedirect();

2、 Servlet服务器跳转

ServletContext application = this.getServletContext()

RequestDispatcher rd=application.getRequestDispatcher(url)

rd.forword(request,response);

该方式同JSP中的<jsp:forword page=””></jsp:forward>

b)   ServletContext高级功能:(application对象)

获取当前项目资源的绝对路径信息:使用getRealPath()

posted on 2012-07-26 18:07  leejie1001  阅读(279)  评论(0编辑  收藏  举报