首页 > 其他 > 详细

Servlet

时间:2020-07-28 22:09:19      阅读:63      评论:0      收藏:0      [点我收藏+]

Servlet

1. Servlet简介

  • sun公司开发动态web的一门技术
  • sun公司在这些API中提供一个接口叫做:Servlet。如果你想开发一个Servlet程序,只需要完成两个小步骤
    • 编写一个类,实现servlet接口
    • 把开发好的java类部署到web服务器中

把实现了servlet接口的java程序叫做servelet

2. HelloServlet

Servlet接口在sun公司有两个默认的实现类:HttpServlet,GenericServlet

  1. 构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这里面建立module;这个空的工程就是Maven的主工程;以webapp为模板建立一个子工程

  2. 关于Maven父子工程的理解:

    父项目中会有

        <modules>
            <module>servlet-01</module>
        </modules>
    

    子项目中会有

        <parent>
            <artifactId>HelloServlet</artifactId>
            <groupId>org.example</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    

    父项目中的jar包子项目中可以直接使用(类似java中的继承)

  3. Maven环境优化

    1. 修改web.xml为最新的

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
      version="4.0"
      metadata-complete="true">
      </web-app>
      
    2. 将maven的结构搭建完整

  4. 编写一个servlet程序

    1. 编写一个普通类

    2. 实现servlet接口,这里我们直接继承HttpServlet

      技术分享图片

      public class HelloServlet extends HttpServlet {
      
          //由于get或者post只是请求实现的不同方式,可以相互调用,业务逻辑都一样
          @Override
          protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              //ServletOutputStream outputStream = resp.getOutputStream();
              PrintWriter writer = resp.getWriter();  //响应流
      
              writer.print("Hello, Serlvet");
          }
      
          @Override
          protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              doGet(req, resp);
          }
      }
      
  5. 编写servlet的映射

    为什么需要映射:我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的servlet,还需要给他一个浏览器能够访问的路径

        <!--注册Servlet-->
        <servlet>
            <servlet-name>hello</servlet-name>
            <servlet-class>com.wang.servlet.HelloServlet</servlet-class>
        </servlet>
        <!--Servlet的请求路径-->
        <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    
  6. 配置Tomcat

    注意配置项目发布的路径就可以了

  7. 启动测试

注意!写url时不要忘了加/

<!--Servlet的请求路径-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

3. Servlet原理

servlet是由web服务器调用,web服务器在收到浏览器请求之后会:

技术分享图片

4. Mapping问题

Servlet

原文:https://www.cnblogs.com/wang-sky/p/13392451.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!