Servlet运行原理

来源:互联网 发布:软件限制策略设置 编辑:程序博客网 时间:2024/06/03 20:17

   Servlet运行原理

1:使用Java EE版本的Eclipse开发动态的WEB工程(Java WEB项目)

 1)把开发选项切换到Java EE
 2)可以window->show view中找到package Explore,把其拖到开发区左边
 3)在Servers面板中新建Tomcat服务器
 4)新建Dynamic Web project(动态web工程) ,其中Target Runtime需要选择Tomcat
 5)开发Java Web应用
 6)可以通过run on server 运行 WEB项目
 
 2:ServLet的HelloWorld
   1)创建一个ServLet接口实现类
   2)在web.xml文件中配置和映射ServLet
   <servlet>
     <servlet-name>helloServlet</servlet-name>
     <servlet-class>com.test.HelloServlet</servlet-class>
   </servlet>
  <servlet-mapping>
     <servlet-name>helloServlet</servlet-name>
     <url-pattern>/hello</url-pattern>
  </servlet-mapping>
  
   3)浏览器访问ServLet通过<url-pattern>/hello</url-pattern>
   
 3:servLet容器:运行ServLet,JSP,Filter,Listener
  1)可以来创建ServLet,并调用ServLet的相关生命周期方法
  2)JSP,Filter,Listen,Tag...运行在ServLet容器中
 
 4:ServLet生命周期的方法:以下方法都是由ServLet容器负责调用
  1)构造器:第一次请求ServLet时,创建ServLet的实例,调用构造器(说明是ServLet一个单实例)
  2)init:只被调用一次,在ServLet容器被实例化后立即调用,用于初始化ServLet
  3)service:被多次调用,每次调用时都会调用service方法,实际用于响应请求
  4)destory:在ServLet容器销毁时调用,只被调用一次,释放ServLet当前所占用的资源
  

 5:load-on-startup:在被加载时创建实例


 Servlet:

package com.test;


import java.io.IOException;


import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
 * ServLet是一个接口
 * @author Administrator
 *
 */


public class HelloServlet implements Servlet{


public HelloServlet() {
System.out.println("HelloServlet's Constructor...");
}


@Override
public void destroy() {
System.out.println("destroy...");

}


@Override
public ServletConfig getServletConfig() {
System.out.println("getServletConfig...");
return null;
}


@Override
public String getServletInfo() {
System.out.println("getServletInfo...");
return null;
}


@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("init...");

}


@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("service...");

}


}


   web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Servlet1</display-name>
  <!--  配置和映射ServLet-->
  <servlet>
      <!-- ServLet注册的名字  -->
     <servlet-name>helloServlet</servlet-name>
      <!-- ServLet的全类名 -->
     <servlet-class>com.test.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
   <!-- 需要和某一个ServLet节点的servlet-name子节点保持一致 -->
     <servlet-name>helloServlet</servlet-name>
      <!-- 映射具体访问路径:/当前WEB应用的根目录 -->
     <url-pattern>/hello</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

0 0
原创粉丝点击