zoukankan      html  css  js  c++  java
  • Servlet基础

    什么是Servlet:

    Servlet是在服务器端运行的Java程序,可以接收客户端请求并作出响应。

    Servlet可以动态生成HTML内容对客户端进行响应。(客户端请求服务器,服务器运行Java代码生成HTML代码,响应给客户端。)

    Servlet与JSP存在什么联系:

    它们都是请求和响应给客户端。

    不同点:

    JSP是要先翻译.Java文件,在编译.class文件,后执行给服务器,在运行效率上要慢。

    Servlet是在服务器运行Java代码生成HTML代码,响应给客户端。比JSP要快。

    Servlet体系结构

    HttpServlet继承GenericServlet类,实现Servlet接口和SservletConfing接口。

    Servlet实现方法:

    void init (ServletConfig config)

    由 Servlet 容器调用,用于完成Servlet对象在处理客户请求前的初始化工作。

    void  service (ServletRequest  req,ServletResponse  res)

    由 Servlet 容器调用,用来处理客户端的请求。

    void destroy()     由 Servlet 容器调用,释放Servlet对象所使用的资源。

    HttpServlet抽象类(处理HTTP协议的请求和响应):

    public void service(ServletRequest req,ServletResponse res)

    对GenericServlet类中service()方法的实现

    protected void service(HttoServletRequest req,HttpServletResponse res)

    接收HTTP 请求,并将它们分发给此类中定义的 doXXX( ) 方法。

    protaected void doXXX(HttpServletRequest req,HttpServletResponse   res)

    根据请求方式的不同分别调用的相应处理方法,如doGet()、doPost()等

    HttpServletRequest接口:

     String  getContextPath( )

    返回请求URI中表示请求上下文的路径,上下文路径是请求URI的开始部分。

    Cookie[ ]  getCookies( )   返回客户端在此次请求中发送的所有cookie对象。

    HttpSession getSession( )

    返回和此次请求相关联的session,如果没有给客户端分配session,则创建一个新的session。

    String getMethod( )

    返回此次请求所使用的HTTP方法的名字,如GET、POST。

    String getHeader( String name)   返回指定的请求头信息。

     Servlet的生命周期

    实例化:Servlet容器创建Servlet的实例

    初始化:该容器调用init( ServletConfig )方法

    服务:如果请求Servlet,则容器调用service()方法

    销毁:销毁实例之前调用destoy()方法

    获取Servlet初始化参数

       Servlet初始化参数配置:

    <web-app>
       <servlet>
           <servlet-name>HelloServlet</servlet-name>
           <servlet-class>demo.servlet.HelloServlet</servlet-class>
           <init-param>
                <param-name>initParam</param-name>
                <param-value>Hello Servlet</param-value>
            </init-param>
       </servlet>
       <servlet-mapping>
            <servlet-name>HelloServlet</servlet-name>
            <url-pattern>/HelloServlet</url-pattern>
        </servlet-mapping>
    </web-app>

       获取初始化参数:

    public void doGet ( HttpServletRequest  request, 
                              HttpServletResponse  response )
                          throws  ServletException,  IOException  {
            System.out.println("处理请求时,doGet()方法被调用。");
            String initParam = getInitParameter( "initParam" );
            System.out.println(initParam);
    }
  • 相关阅读:
    【solr专题之三】Solr常见异常
    python清除数据库错误日志
    【LeetCode OJ 136】Single Number
    ZOJ 1649 Rescue(有敌人迷宫BFS)
    HDU 1885
    hdu 2594 Simpsons’ Hidden Talents
    _DataStructure_C_Impl:链串
    Errors occurred during the build. Errors running builder &#39;Integrated External Tool Builder&#39; on proje
    logo切图大小相应的尺寸
    再记作品展
  • 原文地址:https://www.cnblogs.com/zhrehe-11/p/13722471.html
Copyright © 2011-2022 走看看