0x01 环境搭配
如果还不会搭建jsp环境的可以按照下面的文章跟着搭建
Mac版IDEA创建maven web项目-详细过程: https://www.yuque.com/pmiaowu/gpy1q8/npv0fr
0x02 前言
作用:Servlet定义是容器端小程序,用于直接处理后端业务逻辑
前置操作-必须要做!!!!
1. 对准 webapp目录 右键
2. 标记 webapp目录 为 源码 根
0x03 创建对应文件
在 webapp目录 创建 com文件夹
然后在 com文件夹里面在创建一个 Servlet文件夹
目录结构如下
# 目录结构
├── src
│ └── main
│ └── webapp
│ └── com
│ └── Servlet
│ └── HelloServlet.java
│ └── WEB-INF
│ └── web.xml
│ └── index.jsp
在这目录: src->main->webapp->com->Servlet
创建一个文件: HelloServlet.java
package com.Servlet;
import java.io.IOException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet实现类HelloServlet
* 注册一个注解,这样方便我们不通过 web.xml 也可以在web中访问该类
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
public HelloServlet() {
super();
}
/**
* @param request
* @param response
* @throws IOException
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 使用 GBK 设置中文正常显示
response.setCharacterEncoding("GBK");
response.getWriter().write("HelloServlet类GET方法被调用");
}
/**
* @param request
* @param response
* @throws IOException
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 使用 GBK 设置中文正常显示
response.setCharacterEncoding("GBK");
response.getWriter().write("HelloServlet类POST方法被调用");
}
}
打开 WEB-INF目录下的web.xml 输入如下内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<!-- 类名 -->
<servlet-name>HelloServlet</servlet-name>
<!-- 所在的包路径 -->
<servlet-class>com.Servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 与 <servlet> 标签里面的 <servlet-name> 字段保持一致 -->
<servlet-name>HelloServlet</servlet-name>
<!-- web访问的网址 -->
<url-pattern>/TomcatTest/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
0x04 通过注解访问文件
就是HelloServlet.java类里面的这行代码 @WebServlet("/HelloServlet")
通过注解访问: http://127.0.0.1:8081/mavenJspTest_war/HelloServlet
0x05 通过 web.xml 访问文件
通过web.xml访问: http://127.0.0.1:8081/mavenJspTest_war/TomcatTest/HelloServlet