美文网首页JavaWeb
JavaWeb开发基础-Servlet基础

JavaWeb开发基础-Servlet基础

作者: 蘑菇v5 | 来源:发表于2018-10-15 15:35 被阅读22次

    【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!

    概念

    Servelt可以完成将java程序运行到web环境中

    Servlet的创建

    • 写一个类让其继承HttpServlet
    • 覆盖doGet方法,在doGet方法中加入一些测试程序
    • 配置web.xml让该servlet可以访问

    Servlet的配置

    a.创建<servlet>
    <servlet-name>xxxx</servlet-name> //为该servlet设定一个名称
    <servlet-class>xxx.xxx.xxx</servlet-class>//servlet的类,要加入包路径
    
    b.创建<servlet-mapping>
     <servlet-name>xxxx</servlet-name>//说明servlet的name
     <url-pattern>/xxx<url-pattern>//声明在浏览器中需要访问的地址
    

    示例代码,如下图1所示:

    图1

    调用过程如下图2:

    图2

    resp响应的使用

    使用doGet或者doPost方法中的resp参数可以向浏览器输出相应的数据

    1、设置MIME类型
    resp.setContentType("text/html");
    
    2、通过resp获取PrintWriter的输出流,并且向浏览器写入数据
     PrintWriter out = resp.getWriter();
      out.println("<html>");
     out.println("<body><h1>Its Work</h1></body>");
     out.println("</html>");
    

    Servlet的生命周期

    对应Servlet而言,用户将请求提交给Servlet,首先会由web容器(Tomcat)截获,并且在web.xml中解析请求获取相应的Servlet,之后根据情况判断是否执行init方法(见备注),doGetdoPost会自动调用service方法,通过request对象处理完请求之后可以通过resp对象向浏览器输出相应信息。当服务器关闭时调用destory方法销毁这个servlet

    备注: init方法解释
    1、init方法有两个一个带参数,一个不带参数,如果两个都覆盖了(这种情况基本不会出现),会调用带参数
    2、带参数的这个init方法可以获取web.xml<init-param>中的数据,通过config.getInitParamxx("username")可以获取一下xmlTeacher这个值,init什么时候执行需要根据web.xml中servlet配置中的<load-on-startup>来确定

    <init-param>
        <param-name>username</param-name>
        <param-value>Teacher</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
    

    load-on-startup的值为 0或者不写load-on-startup都是在第一次调用servlet时才执行init方法,如果值>0会在启动时调用init方法

    相关文章

      网友评论

        本文标题:JavaWeb开发基础-Servlet基础

        本文链接:https://www.haomeiwen.com/subject/kpmfzftx.html