赞
踩
<%-- Date: 2024/2/26 Time: 14:17 User: 孙显圣 Version:1.0 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h4><a href="selfview">点击跳转到自定义视图解析器</a> </h4> </body> </html>
//跳转到自定义视图解析器
@RequestMapping("/selfview")
public String selfview() {
return "sunView"; //返回给自定义视图解析器
}
<!--视图解析器按照order的大小来决定优先级,默认的视图解析器是最低的优先级MAX_VALUE = 0x7fffffff-->
<!--配置自定义视图解析器-->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="99"/>
</bean>
package com.sun.web.view; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.view.AbstractView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Map; /** * @author 孙显圣 * @version 1.0 */ @Component(value = "sunView") /** * 自定义视图 */ public class MyView extends AbstractView { @Override protected void renderMergedOutputModel(Map<String, Object> map, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { System.out.println("自定义视图"); //请求转发到view_result.jsp httpServletRequest.getRequestDispatcher("/WEB-INF/pages/view_result.jsp").forward(httpServletRequest, httpServletResponse); } }
<%-- Date: 2024/2/26 Time: 14:27 User: 孙显圣 Version:1.0 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h3>view——result</h3> </body> </html>
//重定向
@RequestMapping("/redirect")
public String redirect() {
//重定向是不能访问WEB-INF路径下的资源的
//重定向的/也是指的上下文路径,返回给视图解析器之后,会自动将这个/解析成/工程路径/success.jsp
return "redirect:/success.jsp";
}
//请求转发
@RequestMapping("/forward")
public String forward() {
//请求转发可以请求到WIN-INF目录下的文件
return "forward:/WEB-INF/pages/success.jsp";
}
package com.sun.web.entity; /** * @author 孙显圣 * @version 1.0 */ public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "user{" + "username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
<%-- Date: 2024/2/23 Time: 20:44 User: 孙显圣 Version:1.0 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <%--这里使用浏览器默认路径,目前在上下文路径下,所以可以直接找到/login--%> <form action="doLogin" method="post"> username:<input name="username" type="text"> password:<input name="password" type="password"> <input type="submit" value="登录"> </form> </body> </html>
//验证用户名密码
@RequestMapping("/doLogin")
//将用户名和密码封装到自动封装到user对象里
public String doLogin(User user) {
if ("sun".equals(user.getUsername()) && "123".equals(user.getPassword())) {
System.out.println("验证通过");
//请求转发
return "forward:/success.jsp";
}
else {
//重定向
return "redirect:/fail.jsp";
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>重定向成功</h1>
</body>
</html>
<%-- Date: 2024/2/26 Time: 21:42 User: 孙显圣 Version:1.0 --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h2>error!!!</h2> <h2><a href="login.jsp">请重新登陆</a> </h2> </body> </html>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。