zoukankan      html  css  js  c++  java
  • Servlt入门

    Servlt入门

    java的两种体系结构

           C/S (客户端/服务器)体系结构  通讯效率高且安全,但系统占用多

           B/S (浏览器/服务器)体系结构    节约开发成本

           C/S (客户端/服务器)体系结构  通讯效率高且安全,但系统占用多

           B/S (浏览器/服务器)体系结构    节约开发成本

     

    http协议

        http请求

           请求行  请求头请求正文

           请求行包括:请求类型路径协议(http1.1)

           get无请求正文,内容直接拼接在请求头中

        http响应

           状态行、响应头、响应正文

           状态行包括:协议响应码(200) 响应说明(OK/notfund)

    请求头中   Referer字段值为上一输入的地址

    响应头中   Location字段用于跳转页面

               Refresh字段用于自动跳转, html页面中 meta 标签实现

               <meta http-equiv=” Refresh” content=”3”;url=”地址”>

    servlet实现

    1创建web项目

    创建Dynamic Web project项目

    设置项目名 选择Dynamic web module version为2.5版本

    2次next后设置context root(外部访问名) (外部访问名前面不需要/)

    注: 修改对项目外部访问名的方法:

    右键Properties->Web Project Settings->Context root

     

    2实现servlet实现

        1 创建class文件,文件的类继承HttpServlet,重写service方法

    @Override

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

             ……处理代码

    }

    2 Servlet类实现类是无主方法的,根据服务器进行调用

        3 设置webContentweb-INF目录下的web.xml配置文件(web-app标签内)

    <servlet>

           <servlet-name>资源名</servlet-name>

           <servlet-class>class类路径</servlet-class>

           </servlet>

           <servlet-mapping>

           <servlet-name>资源名同上</servlet-name>

           <url-pattern>/资源外部访问名</url-pattern>

           </servlet-mapping>

        注:

    1 <url-pattern>的值前面要加"/"

    2 若存在多个同资源名的<servlet-mapping>则都指向相同的<servlet>

    3 <servlet>标签中的<servlet-name>不可重复

    4 <url-pattern>资源外部访问名不能重名

    5 修改xml需要重启服务器

    6 url-pattern可以设置多个访问路径

        "*"通配符,匹配所有

    只能放在最前面或者最后面,不能单独使用,不能放在中间,不能和字母拼接

    越精准,优先级越高

    /路径/*  : 只要访问的路径中包含"路径",都可以访问

    *.后缀 : 只要是以指定后缀结尾的路径,都可以访问

    /*     : 任意路径,都可以访问

        7 <servlet>标签中设置servlet启动优先级

           <load-on-startup>3</load-on-startup> 值越小优先级越高,先执行

        8 <servlet>标签中设置初始化参数(可设多个<init-param>,结构key-value)

      <init-param>

         <param-name>encode</param-name>

         <param-value>UTF-8</param-value>

      </init-param>

        9  同一个<servlet-mapping>可设置多个<url-pattern>路径

         <!-- 配置多个路径  -->

         <url-pattern>/ser005</url-pattern>

         <!--  访问指定目录  -->

         <url-pattern>/test/*</url-pattern>

         <!-- 以指定后缀结尾的路径  -->

         <url-pattern>*.do</url-pattern>

         <!-- 访问所有路径 -->

         <url-pattern>/*</url-pattern>

    servlet实现类

    1继承HttpServlet,重写service方法

    2实现Servlet接口

      重写全部接口方法

    init()             初始化时执行的代码(只在初始化时执行一次)

        destroy()            在servlet销毁时执行的方法(销毁时执行一次)

    getServletConfig()  配置信息

    getServletInfo()     服务器版本信息

    service()            执行的功能代码

    3继承GenericServlet类

      重写service()方法

    4多个实现类的关联

    (HttpServlet) extends (GenericServlet) implements (Servlet)

     

     

    3外部servlet访问

    外部访问: http://域名(主机名,ip,自定义名):端口/项目访问名/资源访问名

  • 相关阅读:
    BZOJ1045 [HAOI2008]糖果传递 && BZOJ3293 [Cqoi2011]分金币
    [BZOJ1103][POI2007]大都市meg dfs序+树状数组
    [BZOJ1122][POI2008]账本BBB 单调队列+后缀和
    [BZOJ1131][POI2008]Sta
    [BZOJ1370][Baltic2003]Gang团伙 并查集+拆点
    网易云基于 Kubernetes 的深度定制化实践
    微服务化的基石——持续集成
    微服务的接入层设计与动静资源隔离
    从互联网+角度看云计算的现状与未来(2)
    从互联网+角度看云计算的现状与未来(1)
  • 原文地址:https://www.cnblogs.com/javaxiaobu/p/11141500.html
Copyright © 2011-2022 走看看