ssm中登录功能的实现以及页面跳转

  由于controller中配置了登录时的跳转页面,导致登录失败时会跳到当前页,若用  return "home";跳转到注册页则会导致url出现问题,第二次登录时会出现404错误,于是我新建了错误显示页,并在该页面重定向至登录页面,防止上述错误。

public class UserController {

	    @Resource
	    private UserService userService;

	    @RequestMapping(value="/login")
	    public String login(@Param("username") String username,@Param("password") String password,HttpServletRequest request) {
	       User user=userService.checkLogin(username, password);
	        if(user!=null){
	            HttpSession session=request.getSession();
	            session.setAttribute("user",user);
	            return "redirect:/user/home";// 路径 WEB-INF/pages/welcome.jsp
	        }
	        request.setAttribute("error", "用户名或密码错误");

	        return "error";
	    }

	    @RequestMapping("registerpage")
	    public String registerpage() {
	      return "register";
	    }

	    @RequestMapping("home")
	    public String home() {
	      return "home";
	    }

	    @RequestMapping("register")
	    public String register(User user,HttpServletRequest requsest) {
	      if(userService.checkRegisterUsername(user.getUsername()))
	    	  {
	    	  return "home";
	    	  }
	      return "error";
	    }
}

  error.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script type="text/javascript"> 

setTimeout("javascript:location.href=‘http://localhost:8080/lightnote/index.jsp‘", 3000);
</script>

</head>
<body>
<div align="center">
    <br/>
    <br/>
    <br/>
    <h4>${error}</h4>
    <h4><a href="http://localhost:8080/lightnote/index.jsp" >立即跳转</a></h4>
</div>

</body>
</html>

  页面较为简陋,可以实现定时跳转和立即跳转,并显示错误原因,重新定向至登录页面。

然后,注册页面也开始制作。

时间: 2024-08-12 11:30:10

ssm中登录功能的实现以及页面跳转的相关文章

ASP.NET中登录功能的简单逻辑设计

 ASP.NET中登录功能的简单逻辑设计                               概述                               逻辑设计                               1.接收参数                               2.判断参数合法性                               3.访问数据库                               4.保存Session     

SSH框架z中登录功能如何将用户保存在session

主题:SSH框架z中登录功能如何将用户保存在session 办法: 1.Action中: 1 HttpServletRequest request=(HttpServletRequest) ServletActionContext.getRequest(); 2 HttpSession session=request.getSession(); 3 session.setAttribute("Admin", admin); 2.jsp页面获取: 用struts标签: <s:pro

js中window对象详解以及页面跳转

js中window对象详解以及页面跳转 转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%90%9C/39219.shtml 1.window.top.window.location = "index.asp"; 2.window.top.location.href="index.asp" 3. window.top.location.replace("index.asp");

HTML中button标签点击实现页面跳转的三种方法

方法1:使用onclick事件12<input type="button" value="按钮"onclick="javascrtpt:window.location.href='http://www.9252.com/'" /> 或者直接使用button标签1<button onclick="window.location.href = 'https://www.9252.com/'">儿童</

SSM框架中返回的是字符串还是页面跳转的问题

如果你在控制器前的注解是@RestController的话,返回的是controller方法返回的是String值,@RestController注解相当于@ResponseBody和 @Controller的结合,使用@RestController注解,配置的视图解析器不起作用,返回的内容就是return 里的内容 如果你在控制器前的注解是@Controller的话,那么返回的是页面 想返回字符串就用@RestController,想返回页面就用@Controller 原文地址:https:/

通过在JS中可以用button点击后实现页面跳转-落月QQ935432468

第一种: <script language="javascript" type="text/javascript"> window.location.href="www.cnblogs.com"     </script> 第二种: <script language="javascript"> alert("返回"); window.history.back(-1); &

怎么给登录功能设一个访问拦截器

1 <mvc:interceptors> 2 <mvc:interceptor> 3 <mvc:mapping path="/my/cbs/**"/> 4 <mvc:mapping path="/member/**"/> 5 ....... 6 <bean id="loginInterceptor" class="com.jinqiandun.cloud.cp.utility.Log

在UITableView中使用segue进行页面跳转的注意事项

在之前的一篇学习记录UINavigationController的简单总结中, 介绍了使用UINavigationController及segue实现View之间的跳转, 并在两个View之间进行数据的传递. 如果该segue是连接UITableViewCell与WebViewController, 点击单个cell的时候, 发现页面会跳转至WebViewController, 但想要的数据却并未成功地通过segue进行传递. 通过调试, 发现prepareForSegue会比didSelect

js控制页面跳转,清缓存,强制刷新页面

单看标题,必定满脸蒙13. 其实,想表达的仅仅是,在js中通过window.location.href控制页面跳转时,有时会跳转至缓存页面,并没有真正去请求要跳转的地址,导致页面数据未能及时加载刷新. 直奔code... 解决办法: 在HTML中埋入隐藏from,通过js调用from进行请求链接地址 <form id='hidden_submit_info' method="post" enctype="multipart/form-data" action=