zoukankan      html  css  js  c++  java
  • servlet

    servlet 是server applet 缩写,服务端程序,applet是运行于客户端浏览器上的小程序。servlet 没有main方法,运行于服务端,创建和销毁都是由servlet 容器(tomcat,netty等)来管理。

    public class HelloWorld extends HttpServlet {
    	
    	@Override
    	public void init() throws ServletException {
    		System.out.println("-------servlet init ---------");
    		super.init();
    	}
    
    	@Override
    	public void init(ServletConfig config) throws ServletException {
    		System.out.println("-------servlet init  with paramenter config---------"+ config);
    		super.init(config);
    	}
    
    	@Override
    	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		System.out.println("-------servlet service ---------");
    		PrintWriter pw = resp.getWriter();
    		pw.println("hello world");
    		pw.close();
    //		super.service(req, resp);
    	}
    
    	@Override
    	public void destroy() {
    		System.out.println("-------servlet destroy ---------");
    		super.destroy();
    	}
    
    
    
    }
    

      web.xml 中配置:

      <servlet>
      		<servlet-name>helloServlet</servlet-name>      //servlet的注册名称
      		<servlet-class>com.servlet.HelloWorld</servlet-class>
      </servlet>
      <servlet-mapping>
      		<servlet-name>helloServlet</servlet-name>
      		<url-pattern>/123Hello</url-pattern>          //对外访问的路径
      </servlet-mapping>
    

      

      在lib中导入 servlet-api.jar , 启动tomcat , 输入:

    信息: Server startup in 857 ms
    -------servlet init with paramenter config---------org.apache.catalina.core.StandardWrapperFacade@6bfd67ba
    -------servlet init ---------        // 这句话是执行有参的init 方法  super.init(config);  输出的 ,有参的init 方法会去执行 无参的init 方法。

    -------servlet service ---------

    浏览器访问 http://localhost:8080/jspstudy/123Hello , 则执行service方法页面, 继续输出 -------servlet service --------- , 

    PrintWriter 对象并向浏览器输出: hello world 。

    当停止tomcat 时, 执行 destroy 方法: 输出
    -------servlet destroy ---------

    客户端发送http请求,到达tomcat内置的web服务器,web服务器转发给servlet容器,servlet容器接到请求后,加载servlet,产生servet实例后,向实例传递表示请求的 HttpServletRequest 对象和 表示响应的 HttpServletResponse 对象,
    servlet实例 使用 HttpServletRequest 对象 得到客户端的请求信息,一个servlet处理完后,可能会转发到另外的servlet,servlet 都处理完成后,通过 响应对象 返回给客户端。

    init 和 destroy 方法只会被执行一次。每次客户端请求都会执行 service 方法。在 tomcat被启动后,并不会执行init方法,即tomcat 启动后,并不会实例化servlet ,只有servlet 被访问了,才执行init 方法。
  • 相关阅读:
    201521123061 《Java程序设计》第三周学习总结
    201521123061 《Java程序设计》第二周学习总结
    201621123033 《Java程序设计》第10周学习总结
    201621123033 《Java程序设计》第9周学习总结
    201621123033 《Java程序设计》第8周学习总结
    201621123033 《Java程序设计》第7周学习总结
    201621123033 《Java程序设计》第6周学习总结
    201621123033 《Java程序设计》第5周学习总结
    201621123033 《Java程序设计》第4周学习总结
    201621123033 《Java程序设计》第3周学习总结
  • 原文地址:https://www.cnblogs.com/z360519549/p/9925255.html
Copyright © 2011-2022 走看看