知识学习——Servlet基础

2017-12-04  本文已影响0人  XueFengPlay

Servlet 生命周期

public class ServletTest extends HttpServlet {
    //继承HttpServlet
    public void destroy() {
        //销毁方法
        super.destroy();
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //处理get请求
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //处理post请求
    }

    public void init() throws ServletException {
        //
    }
}

Servlet配置

//Servlet的名称和具体位置
<servlet>
    <servlet-name>RegServlet</servlet-name>
    <servlet-class>servlet.RegServlet</servlet-class>
</servlet>
//Servlet的名称和映射的地址,url-pattern可配置多个
<servlet-mapping>
    <servlet-name>RegServlet</servlet-name>
    <url-pattern>/servlet/RegServlet</url-pattern>
</servlet-mapping>

ServletConfig和ServletContext

ServletConfig接口

在servlet运行期间,经常需要一些辅助信息。我们可以在web.xml中使用一个或者多个<init-param>元素进行配置。当Tomcat初始化一个Servlet时,会将其配置信息封装到一个servletConfig对象中。

//Servlet的名称和具体位置
<servlet>
    <servlet-name>RegServlet</servlet-name>
    <servlet-class>servlet.RegServlet</servlet-class>
    <init-param>  
        <param-name>encoding</param-name>  
        <param-value>utf-8</param-value>  
    </init-param>  
</servlet>
//Servlet的名称和映射的地址,url-pattern可配置多个
<servlet-mapping>
    <servlet-name>RegServlet</servlet-name>
    <url-pattern>/servlet/RegServlet</url-pattern>
</servlet-mapping>

ServletConfig常用方法

public void doGet(HttpServletRequest request, HttpServletResponse response) throws   ServletException, IOException {
        ServletConfig config=this.getServletConfig();
}

ServletContext接口

在Servlet容器启动时,会在每个Web应用创建一个唯一的ServletContext对象代表当前应用,该对象不仅封装了当前web应用所有信息,还实现了多个Servlet之间的数据的共享。

获取web程序的初始化参数

<web-app>
  <context-param>
    <param-name>test</param-name>
    <param-value>one</param-value>
  </context-param>
</web-app>

可以使用改接口定义的getInitParameterNames() ,getInitParameter(String name)方法来获取参数值

public void doGet(HttpServletRequest request, HttpServletResponse response) throws   ServletException, IOException {
        ServletContext context=this.getServletContext();
        Enumeration<String> Names=context.getInitParameterNames();
        while(Names.hasMoreElements()){
            String name=Names.nextElement();
            String value=context.getInitParameter(name);
        }
}

实现多个Servlet对象共享数据

读取web应用下的资源文件

上一篇 下一篇

猜你喜欢

热点阅读