一、点击a标签跳转到登录页面
代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
</head>
<body>
<h2>欢迎来到项目首页</h2>
<h3><a href="login.jsp">去登陆</a></h3>
</body>
</html>
运行效果如下:
登录页面代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<form action="login" method="post">
<table>
账号:<input type="text" name="username"><br/>
密码:<input type="password" name="password"><br/>
<input type="submit" value="登录"/>
</table>
</form>
</body>
</html>
运行效果如下:
二、用户名的判断
代码如下:
package com.dou.controller;
import com.dou.bean.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;
@Controller
@SessionAttributes({"error","user"})//把msg数据的作用域变为session域
public class UserController {
//登录的处理程序
@RequestMapping("/login")
public ModelAndView login(User user){
ModelAndView mv = new ModelAndView();
if (user.getUsername().equals("admin")&&user.getPassword().equals("666")){
mv.addObject("user",user);
//登录成功,去请求查询商品信息
mv.setViewName("redirect:/findAll");
}else {
//登录失败,跳转到错误页,发送错误提示
mv.addObject("error","用户名或密码错误");
mv.setViewName("error");
}
return mv;
}
}
三、做出响应,跳转页面
1、当账号密码正确进行全查操作
代码如下:
package com.dou.controller;
import com.dou.bean.Goods;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
@Controller
@SessionAttributes({"goodsList"})
public class GoodsController {
//常规把数据以Java集合的方式放入session中传递给页面
@RequestMapping("/findAll")
public ModelAndView findAll(){
ModelAndView modelAndView = new ModelAndView();
//查询商品信息
List<Goods> goodsList = new ArrayList<>();
Goods g1 = new Goods();
g1.setGid(1);
g1.setGname("泡面");
g1.setPrice(4.5);
Goods g2 = new Goods();
g2.setGid(2);
g2.setGname("可乐");
g2.setPrice(3.5);
Goods g3 = new Goods();
g3.setGid(3);
g3.setGname("火腿肠");
g3.setPrice(6.5);
goodsList.add(g1);
goodsList.add(g2);
goodsList.add(g3);
modelAndView.addObject("goodsList",goodsList);
modelAndView.setViewName("redirect:zhuye.jsp");
return modelAndView;
}
}
运行效果如下:
2、当账号密码错误跳转错误页面
代码如下:
<html>
<head>
<title>错误页</title>
</head>
<body>
<h2>${error}</h2>
</body>
</html>
运行效果如下: