上一篇文章讲解了 servlet 环境搭建,本文介绍 servlet 相关用法
上一篇文章地址:servlet 教程 1:环境搭建和新建 servlet 项目
WebContent 目录下的 jsp 页面,可以直接通过地址访问
在 WebContent 目录下新建 demo.jsp
在项目的 WebContent 目录下右键,选择 New、Jsp File

新建 demo.jsp

将编码修改为 UTF-8

修改后添加 h1标签,内容如下
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title heretitle>
- head>
- <body>
- <h1>demo 页面h1>
- body>
- html>
启动项目
浏览器访问:http://localhost:8080/servlet-learn/demo.jsp

WEB-INF 目录下的 jsp 页面是不能通过地址直接访问的,因此,想要访问 WEB-INF 目录下的 jsp 页面,需要使用 Servlet 中转一下
在 WEB-INF 目录下新建 user.jsp,步骤和上面一样
user.jsp 页面内容
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title heretitle>
- head>
- <body>
- <h1>user 页面h1>
- body>
- html>

浏览器直接访问

404 访问不到
如何使用 servlet 中转呢?新建一个 servlet,浏览器请求 servlet 地址,serlvet 返回 jsp 页面
新建 UserServlet
- package com.learn;
-
- import java.io.IOException;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- @WebServlet("/user")
- public class UserServlet extends HttpServlet {
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-
- req.getRequestDispatcher("WEB-INF/user.jsp").forward(req, resp);
- }
-
- }
UserServlet 使用 @WebServlet 注解,因此无需在 web.xml 文件中配置 servlet
重启 tomcat
浏览器请求地址:http://localhost:8080/servlet-learn/user

至此完