目录结构
demo\day20\src\com\demo\service\Dome1.javademo\day20\src\com\demo\service\Dome2.javademo\day20\src\com\demo\service\Dome3.javademo\day20\src\com\demo\service\Dome4.javademo\day20\web\WEB-INF\lib\javax.servlet.jardemo\day20\web\index.jspdemo\day20\web\logan1.htmldemo\day20\web\login.html
访问 http://localhost:8080/login.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form action="/Dome1" method="post">用户名:<input type="text" name="username"> <br>密码:<input type="password" name="password"><br><input type="submit" value="登录"></form>
</body>
</html>
或者访问 http://localhost:8080/logan1.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form ACTION="/Dome1" method="post"><a href="/Dome1">超链接</a>
</form>
</body>
</html>
servlet服务
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Dome1")
public class Dome1 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("123");request.setAttribute("name","name");response.sendRedirect("Dome2");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/Dome2")
public class Dome2 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");System.out.println("张三");request.setAttribute("name","张三");System.out.println(request.getAttribute("name"));}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/Dome3")
public class Dome3 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 设置状态码为302response.setStatus(302);//2.设置响应头locationresponse.setHeader("location","/Dome4");System.out.println("你好呀");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/Dome4")
public class Dome4 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("你好");
// System.out.println( request.getContextPath());
// String contextPath = request.getContextPath();
// System.out.println(contextPath);
// //简单的形式,设置编码,是在获取流之前设置
// response.setContentType("text/html;charset=utf-8");
// PrintWriter pw = response.getWriter();
// System.out.println(pw);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}
访问 http://localhost:8080/login.html 后随便填写账户和密码,后端会重定向到demo2,浏览器url也能看出重定向到了demo2
访问 http://localhost:8080/logan1.html 点击超链接 也会重定向到demo2
直接访问 http://localhost:8080/Dome3 会重定向到demo4
用到的jar: javax.servlet.jar