鱼少学习多摸

day101-HttpServletResponse实现重定向

HttpServletResponse实现重定向

一个web资源收到客户端请求后,通知a客户访问另一个web资源,这个过程叫重定向

常见场景:用户登录

使用resp.sendRedirect请求跳转至指定的页面

 
复制代码
public class RedirectServlet extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 //        resp.sendRedirect(req.getContextPath()+"/image");
 //        resp.setHeader("Location","image");
 //        resp.setStatus(302);
         resp.sendRedirect("image");
     }
 ​
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         doGet(req, resp);
     }
 }
复制代码

 

image界面是实现验证码

测试request请求

复制代码
 public class RequestTest extends HttpServlet {
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         System.out.println("进入RequestTest请求");
         //处理请求
         String username = req.getParameter("username");
         String password = req.getParameter("password");
         System.out.println(username+","+password);
         resp.sendRedirect("success.jsp");
 ​
 ​
     }
 ​
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         doGet(req, resp);
     }
 }
复制代码

 

在初始界面进入index.jsp

复制代码
 <html>
 <body>
 <h2>Hello World!</h2><%--提交的路径是项目的路径--%>
 <form action="${pageContext.request.contextPath}/login" method="get">
     用户名:<input type="text" name="username">
     密码:<input type="text" name="pwd">
     <input type="submit">
 </form>
 <%@page contentType="text/html;" pageEncoding="UTF-8"%>
 </body>
 </html>
复制代码

 

提交后跳到request的login下,使用重定向进入success.jsp

复制代码
 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
 <html>
 <head>
     <title>Title</title>
 </head>
 <body><h1>
 欢迎进入
 </h1></body>
 </html>
复制代码

 

servlet定义

 
复制代码
<servlet>
     <servlet-name>image</servlet-name>
     <servlet-class>com.gu.servlet.ImageServlet</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>image</servlet-name>
     <url-pattern>/image</url-pattern>
 </servlet-mapping><servlet>
         <servlet-name>RedirectServlet</servlet-name>
         <servlet-class>com.gu.servlet.RedirectServlet</servlet-class>
     </servlet>
     <servlet-mapping>
         <servlet-name>RedirectServlet</servlet-name>
         <url-pattern>/red</url-pattern>
     </servlet-mapping><servlet>
         <servlet-name>request</servlet-name>
         <servlet-class>com.gu.servlet.RequestTest</servlet-class>
     </servlet>
     <servlet-mapping>
         <servlet-name>request</servlet-name>
         <url-pattern>/login</url-pattern>
     </servlet-mapping>
复制代码

 

 
posted @   北海之上  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
/* 粒子吸附*/
点击右上角即可分享
微信分享提示