Servlet基础

来源:互联网 发布:金鹏远 知乎 编辑:程序博客网 时间:2024/05/22 06:55

创建servlet 程序的步骤

  • 继承 HttpServlet (java 类实现)
  • 重写doGet()或者doPost()方法
  • 在web.xml 中注册Servlet
 <servlet>        <servlet-name>HelloServlet</servlet-name>        <servlet-class>com.helloServlet.testServlet</servlet-class> <!--  servlet所在路徑-->  </servlet>    <servlet-mapping>        <servlet-name>HelloServlet</servlet-name>        <url-pattern>/com/helloServlet/testServlet</url-pattern>   <!-- HelloServlet 的訪問路徑,即a标签中的超链接或者form表格中的action -->  </servlet-mapping>

Servlet 的执行流程

  • 当用户向服务器端发送给一个请求时,会首先在web.xml 配置文件中查找servlet-mapping 相对应的url-pattern。 接着以servlet-mapping 中的servlet-name 对应的名字寻找servlet 标签中相对应的servlet-name名字,最后找到该servlet 标签中的servlet-class 对应路径中的servlet 类。

Servlet 的生命周期

  • 主要包括初始化、加载、实例化、服务和销毁几个阶段。

    • Servlet 容器启动时自动装载某些Servlet,实现它只需要在web.xml文件中的之间添加如下代码:1,数字越小表示优先级别越高。
    • Servlet 容器启动后,客户首先向Servlet 发送请求。
    • Servlet 类文件被更新后,重新装载Servlet。

Sevlet 获取表单数据

Sevlet 路径跳转

  • 绝对路径:放之四海而皆准的路径。
  • 相对路径:相对于当前资源的路径。

  • 在jsp页面跳转中:

 <!--使用相对路径访问HelloServlet -->    <!-- /servlet/HelloServlet 第一个/表示服务器的根目录 -->    <a href="servlet/HelloServlet">访问HelloServlet!</a><br>    <!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录-->    <a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br>    <!--表单中action的URL地址写法,与超链接方式完全相同。 -->    <a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>
  • 在web.xml的配置中:
  <servlet-mapping>    <servlet-name>HelloServlet</servlet-name>    <!--url-pattern处必须以/开头,这里的/表示项目的根目录  -->    <url-pattern>/servlet/HelloServlet</url-pattern>  </servlet-mapping>
  • 在servlet 的跳转中:
     //请求重定向方式跳转到test.jsp,当前路径是ServletPathDirection/servlet/  //response.sendRedirect("test.jsp"); //使用request.getContextPath获得上下文对象//response.sendRedirect(request.getContextPath()+"/test.jsp");//服务器内部跳转,这里的斜线表示项目的根目录//request.getRequestDispatcher("/test.jsp").forward(request, response);request.getRequestDispatcher("../test.jsp").forward(request, response);

servlet 获取初始化参数

在web.xml 中配置Servlet 时,可以配置一些初始化参数。而在Servlet 中可以通过ServletConfig 接口提供的方法来取得这些参数。

  • 在web.xml中的Servlet标签中添加
<init-param>    <param-name>username</param-name>    <param-value>admin</param-valuie></init-param>

即可对username进行初始化配置。

  • 在Servlet 的init() 方法中调用getInitParameter(“username”) 即可获得初始化参数的值。
原创粉丝点击