代码实现
public class req extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.sendRedirect("/mavenIDEA_war/hello");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
核心代码:resp.sendRedirect("/mavenIDEA_war/hello");
// hello页面java代码如下
public class hello extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
resp.setContentType("text/html");
out.print("<h1>it is a test</h1>");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
form表单如下
<html>
<body>
<h2>Hello World!</h2>
<form action="./req" method="get">
username:
<input type="text" name= "username">
password:
<input type="password" name = "password">
<input type="submit">
</form>
</body>
</html>
效果
和转发的区别
请求重定向一般返回状态码为3xx,web服务器将告诉客户端
需要前往的url,并且要求客户端自行去访问
而与重定向不同的是,转发是web将即将前往的url自行获得,然后得到页面,最后在自己的页面上显示转发的url网页