版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linzhaoliangyan/article/details/88808502
* 简单登录
public interface UserMapper {
User queryUser(User user);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hx.ssm.dao.UserMapper">
<select id="queryUser" parameterType="User" resultType="User">
SELECT id,username,psw,sex
FROM USER
WHERE username = #{username}
AND psw = #{psw};
</select>
</mapper>
public class LoginOutDataVo extends BaseDataVo {
private boolean loginStatus;
public boolean isLoginStatus() {
return loginStatus;
}
public void setLoginStatus(boolean loginStatus) {
this.loginStatus = loginStatus;
}
@Override
public String toString() {
return "LoginOutDataVo{" +
"loginStatus=" + loginStatus +
", code=" + code +
", result='" + result + '\'' +
'}';
}
}
public interface LoginService {
LoginOutDataVo login(User user);
}
@Service
public class LoginServiceImpl implements LoginService {
@Autowired
private UserMapper mUserMapper;
@Override
public LoginOutDataVo login(User user) {
User u = mUserMapper.queryUser(user);
LoginOutDataVo loginOutDataVo=new LoginOutDataVo();
loginOutDataVo.setLoginStatus(u!=null);
return loginOutDataVo;
}
}
@Controller
public class LoginController {
@Autowired
private LoginService mLoginService;
@RequestMapping("/toLogin")
public String toLogin(){
return "login";
}
@RequestMapping(value = "/login",method = RequestMethod.POST)
public String login(User user){
System.out.println(user);
LoginOutDataVo loginOutDataVo = mLoginService.login(user);
if(loginOutDataVo.isLoginStatus()){
return "redirect:/ztree2.jsp";
}
return "redirect:/loginfail.jsp";
}
}
forward方式相当于“request.getRequestDispatcher().forward(request,response)”,转发后浏览器地址栏还是原来的地址
redirect方式相当于“response.sendRedirect()”,转发后浏览器的地址栏变为转发后的地址
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>欢迎登录</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/bootstrap/css/bootstrap.min.css">
<script src="${pageContext.request.contextPath}/jquery/jquery-3.3.1.js"></script>
<script src="${pageContext.request.contextPath}/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<form class="form-horizontal" role="form" action="${pageContext.request.contextPath}/login.do" method="post">
<div class="form-group">
<label class="col-sm-6 control-label">账户</label>
<div class="col-sm-3">
<input type="text" class="form-control" name="username"
placeholder="请输入账户">
</div>
</div>
<div class="form-group">
<label class="col-sm-6 control-label">密码</label>
<div class="col-sm-3">
<input type="password" class="form-control" name="psw"
placeholder="请输密码">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> 请记住我
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">登录</button>
</div>
</div>
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>登录失败</title>
</head>
<body>
<h1 style="color: red">登录失败...</h1>
</body>
</html>
* 乱码的解决
* 登录用中文测试
* 解决post乱码问题
* 在web.xml
filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
* 解决get乱码问题
对于get请求中文参数出现乱码解决方法有两个:
修改tomcat配置文件添加编码与工程编码一致,如下:
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
另外一种方法对参数进行重新编码:
String userName =new
String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
ISO8859-1是tomcat默认编码,需要将tomcat编码后的内容按utf-8编码
在tomcat8默认编码不是ISO8859-1