0x01 环境搭配

如果还不会搭建jsp环境的可以按照下面的文章跟着搭建

Mac版IDEA创建maven web项目-详细过程: https://www.yuque.com/pmiaowu/gpy1q8/npv0fr

0x02 前言

  1. 作用:Servlet定义是容器端小程序,用于直接处理后端业务逻辑
  1. 前置操作-必须要做!!!!
  2. 1. 对准 webapp目录 右键
  3. 2. 标记 webapp目录 源码

0x03 创建对应文件

  1. webapp目录 创建 com文件夹
  2. 然后在 com文件夹里面在创建一个 Servlet文件夹
  3. 目录结构如下
  4. # 目录结构
  5. ├── src
  6. └── main
  7. └── webapp
  8. └── com
  9. └── Servlet
  10. └── HelloServlet.java
  11. └── WEB-INF
  12. └── web.xml
  13. └── index.jsp

image.png

  1. 在这目录: src->main->webapp->com->Servlet
  2. 创建一个文件: HelloServlet.java
  3. package com.Servlet;
  4. import java.io.IOException;
  5. import javax.servlet.annotation.WebServlet;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9. /**
  10. * Servlet实现类HelloServlet
  11. * 注册一个注解,这样方便我们不通过 web.xml 也可以在web中访问该类
  12. */
  13. @WebServlet("/HelloServlet")
  14. public class HelloServlet extends HttpServlet {
  15. public HelloServlet() {
  16. super();
  17. }
  18. /**
  19. * @param request
  20. * @param response
  21. * @throws IOException
  22. */
  23. @Override
  24. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
  25. // 使用 GBK 设置中文正常显示
  26. response.setCharacterEncoding("GBK");
  27. response.getWriter().write("HelloServlet类GET方法被调用");
  28. }
  29. /**
  30. * @param request
  31. * @param response
  32. * @throws IOException
  33. */
  34. @Override
  35. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
  36. // 使用 GBK 设置中文正常显示
  37. response.setCharacterEncoding("GBK");
  38. response.getWriter().write("HelloServlet类POST方法被调用");
  39. }
  40. }
  1. 打开 WEB-INF目录下的web.xml 输入如下内容
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <web-app version="2.5"
  4. xmlns="http://java.sun.com/xml/ns/javaee"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  7. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  8. <servlet>
  9. <!-- 类名 -->
  10. <servlet-name>HelloServlet</servlet-name>
  11. <!-- 所在的包路径 -->
  12. <servlet-class>com.Servlet.HelloServlet</servlet-class>
  13. </servlet>
  14. <servlet-mapping>
  15. <!-- 与 <servlet> 标签里面的 <servlet-name> 字段保持一致 -->
  16. <servlet-name>HelloServlet</servlet-name>
  17. <!-- web访问的网址 -->
  18. <url-pattern>/TomcatTest/HelloServlet</url-pattern>
  19. </servlet-mapping>
  20. </web-app>

image.png

0x04 通过注解访问文件

  1. 就是HelloServlet.java类里面的这行代码 @WebServlet("/HelloServlet")
  2. 通过注解访问: http://127.0.0.1:8081/mavenJspTest_war/HelloServlet

image.png

0x05 通过 web.xml 访问文件

  1. 通过web.xml访问: http://127.0.0.1:8081/mavenJspTest_war/TomcatTest/HelloServlet

image.png