Java Web学习day01 Servlet

Java Web学习day01 Servlet

1.1Servlet简介

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

1.2 HelloServlet

Servlet接口有俩个默认的实现类:HttpServlet、GenericServlet

Servlet接口GenericServletHttpServlet → 自己创建的类(只需要继承HttpServlet即可

  1. 构建一个普通的Maven项目,删掉里边的src目录。

  2. pom.xml中 servlet、Jsp依赖配置

    1.     <dependencies>
              <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
              <dependency>
                  <groupId>javax.servlet</groupId>
                  <artifactId>javax.servlet-api</artifactId>
                  <version>4.0.1</version>
              </dependency>
      
              <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
              <dependency>
                  <groupId>javax.servlet.jsp</groupId>
                  <artifactId>javax.servlet.jsp-api</artifactId>
                  <version>2.3.3</version>
              </dependency>
          </dependencies>
      
  3. 关于Maven父子工程的理解:

    • 父项目中会有

          <modules>
              <module>servlet_01</module>
          </modules>
      
    • 子项目会有

      <parent>
      <arti factId>javaweb-02-servlet</artifactId>
      <groupId>com.kuang</groupId>
      <version>1.0-SNAPSHOT</version>
      </parent>
      
      

      父项目中的java 子项目可以直接使用

      son extends father
      
  4. Maven环境优化

    1. 修改web.xml为最新(web.xml)

      <?xml version="1.0" encoding= "UTF-8"?>
      <web-app xm1ns="http://xmlns.jcp.org/xml/ns/javaee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation= "http://xmlns.jcp.org/xm1/ns/javaee
                              http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
            version="4.0"
            metadata-complete="true">
        </web-app>
      
    2. 将maven的结构搭建完整(main下创建java文件夹跟resources文件夹)

  5. 编写一个servlet程序

    1. 编写一个普通类(com.kai.servlet.HelloServlet.java)
    2. 实现Servlet接口,直接继承HttpServlet
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

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,Servlet!");

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

  1. 编写Servlet的映射

    需要映射的原因:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以需要在web服务器中注册我们写的Servlet,还需要要它一个浏览器能够访问的路径;(web.xml)

      <!--web.xml中是配置我们web的核心应用-->
      <!--注册Servlet-->
      <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.kai.servlet.HelloServlet</servlet-class>
      </servlet>
      <!--一个Sevlet对应一个M挨批评:映射-->
      <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <!--Servlet的请求路径-->
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
    
  2. 配置Tomact

  3. 启动测试

posted @ 2021-07-13 23:49  爱学习的蓝天  阅读(48)  评论(0)    收藏  举报