Servlet快速入门、Servlet、ServletContext对象

Servlet简介:java

Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码,经过java的API 动态的向客户端输出内容。web

Servlet快速入门:小程序

实现步骤:浏览器

1.建立类实现Servlet接口服务器

2.覆盖还没有实现的方法---重点实现service方法oracle

3.在web.xml进行servlet的配置app

public void init(ServletConfig arg0) throws ServletException {
  System.out.println("Servlet建立了");
}
public void service(ServletRequest arg0, ServletResponse arg1) throws  ServletException, IOException {
  System.out.println("Servlet被请求了");
}
public void destroy() {
  System.out.println("Servlet销毁了");
}url

 

<servlet>
          <servlet-name>MyServlet</servlet-name>
          <servlet-class>com.oracle.demo01.MyServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>MyServlet</servlet-name>
          <url-pattern>/MyServlet</url-pattern>
      </servlet-mapping>




public class MyServlet extends HttpServlet {spa

   public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      response.getWriter().write("hello boss...");
  }3d

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

 

 

 

Servlet的API(生命周期):

init(ServletConfig config):servlet对象建立的时候执行

service(ServletRequest request,ServletResponse response):每次请求都会执行

destroy()servlet销毁的时候执行

 

public void init(ServletConfig arg0) throws ServletException {    
        System.out.println("Servlet建立了");
        //获取Servlet配置的初始化参数
        System.out.println("初始化参数为"+arg0.getInitParameter("name"));
        //获取servlet名字
        System.out.println(arg0.getServletName());
        //获取ServletContext
        System.out.println(arg0.getServletContext());
    }
    public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {    
        System.out.println("Servlet被请求了");
    }
    public void destroy() {    
        System.out.println("Servlet销毁了");
    }

 

 

Servlet基本配置:

url-pattern的配置方式:

1.彻底匹配:访问的资源与配置的资源彻底相同才能访问到。

2.目录匹配:格式:/虚拟的目录../*    *表明任意。

3.扩展名匹配:格式:*.扩展名

注意:目录匹配和扩展名匹配不要混用。

 

服务器启动实例化Servlet配置

缺省Servlet

欢迎页面:

 

 

 

ServletContext对象:

ServletContext表明是一个web应用的环境(上下文)对象,ServletContext对象 内部封装是该web应用的信息,ServletContext对象一个web应用只有一个

ServletContext对象的生命周期:

建立:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状 态))

销毁:web应用被卸载(服务器关闭,移除该web应用)

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取ServletContext对象
        ServletContext context=getServletContext();
        //获取相对于服务器的相对路径获取绝对路径
        System.out.println(context.getRealPath("WEB-INF/classses/a.txt"));
        System.out.println(context.getRealPath("b.txt"));
        System.out.println(context.getRealPath("WEB-INF/c.txt"));
        
    }

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取ServletContext对象
        ServletContext context=getServletContext();
        //往ServletContext域中的值
        context.setAttribute("name", "zhangsan");
    }

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   //获取ServletContext对象   ServletContext context=getServletContext();   //往ServletContext域中的值   String name=(String)context.getAttribute("name");   response.getWriter().write(name); }

相关文章
相关标签/搜索