用户登录
login.html
< ! DOCTYPE html>
< ! -- saved from url= ( 0066) https://www.17sucai.com/preview/1145608/2019-06-21/loge/index.html -->
< html> < head> < meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" >
< title> 网站后台管理系统< /title>
< meta name= "viewport" content= "width=device-width, initial-scale=1" >
< ! --可无视-->
< link rel= "stylesheet" href= "./css/bootstrap.min.css" >
< ! --主要样式-->
< script type= "text/javascript" src= "js/jquery-3.4.1.js" > < /script>
< script type= "text/javascript" src= "js/login.js" > < /script>
< link type= "text/css" href= "./css/style.css" rel= "stylesheet" >
< script type= "text/javascript" src= "./js/cookie_util.js" > < /script>
< /head>
< body>
< div class= "container" align= "center" >
< div class= "col-md-6" style= "margin-top: 8%;" >
< div class= "inset" >
< div class= "div" >
< input type= "hidden" name= "enews" value= "login" >
< div>
< h2> 后台管理系统< /h2>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 用户名< /label> < /span>
< span> < input type= "text" id= "username" name= "username" class= "textbox" > < /span>
< /div>
< div>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 密码< /label> < /span>
< span> < input name= "password" id= "password" type= "password" class= "password" > < /span>
< /div>
< div class= "sign" >
< input type= "reset" class= "submit" id= "reset" value= "重置" >
< input type= "submit" value= "登录" id= "submit" class= "submit" >
< /div>
< /div>
< /div>
< /div>
< /div>
< /body> < /html>
login.js
$ ( function ( ) {
$ ( '#reset' ) . click ( function ( ) {
$ ( '#username' ) . val ( '' ) ;
$ ( '#password' ) . val ( '' ) ;
} )
$ ( '#submit' ) . click ( function ( ) {
if ( $ ( '#username' ) . val ( ) == '' )
{
alert ( '请输入用户名' ) ;
$ ( '#username' ) . focus ( ) ;
return ;
} else if ( $ ( '#password' ) . val ( ) == '' )
{
alert ( '请输入登录密码' ) ;
$ ( '#password' ) . focus ( ) ;
return ;
}
var sendData= { "username" : $ ( '#username' ) . val ( ) , "password" : $ ( '#password' ) . val ( ) } ;
$. ajax ( {
type: "post" ,
url: "user/login.do" ,
data: sendData,
datatype: "json" ,
success: function ( msg) {
if ( msg. state== 1 ) {
console. log ( msg. data. name) ;
SetCookie ( "userid" , msg. data. id) ;
window. location. href= "main.html" ;
} else {
alert ( msg. message) ;
}
} ,
error: function ( msg) {
alert ( "通信失败" ) ;
}
} ) ;
} )
} ) ;
User.java
package com. whc. noteserver. entity;
import java. io. Serializable;
public class User implements Serializable {
private String username;
private String password;
private int age;
private String id;
private String name;
public String getId ( ) {
return id;
}
public void setId ( String id) {
this . id = id;
}
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;
}
public int getAge ( ) {
return age;
}
public void setAge ( int age) {
this . age = age;
}
public String getName ( ) {
return name;
}
public void setName ( String name) {
this . name = name;
}
@Override
public String toString ( ) {
return "User [username=" + username + ",age=" + age + ", name=" + name + "]" ;
}
}
UserDao.java
package com. whc. noteserver. dao;
import java. util. List;
import com. whc. noteserver. entity. User;
public interface UserDao {
public List< User> login ( User user) ;
public List< User> getUserByUserName ( User user) ;
public int addUser ( User user) ;
public int updateUser ( User user) ;
public List< User> getUserByID ( User user) ;
}
UserImpl.java
package com. whc. noteserver. serviceimpl;
import java. util. List;
import java. util. UUID;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Service;
import org. springframework. transaction. annotation. Transactional;
import com. whc. noteserver. dao. JFDao;
import com. whc. noteserver. dao. UserDao;
import com. whc. noteserver. entity. JF;
import com. whc. noteserver. entity. User;
import com. whc. noteserver. service. UserService;
@Service
public class UserImpl implements UserService {
@Autowired
UserDao userDao;
@Autowired
JFDao jfDao;
public User login ( User user) {
List< User> list= userDao. login ( user) ;
if ( list== null || list. isEmpty ( ) ) {
System. out. println ( "用户名、密码不匹配" ) ;
return null;
} else {
System. out. println ( list. get ( 0 ) ) ;
return list. get ( 0 ) ;
}
}
public User getUserByUserName ( User user) {
List< User> list= userDao. getUserByUserName ( user) ;
if ( list== null || list. isEmpty ( ) ) {
return null;
}
return list. get ( 0 ) ;
}
@Transactional
public int addUser ( User user) {
JF jf = new JF ( ) ;
jf. setId ( UUID. randomUUID ( ) . toString ( ) ) ;
jf. setJf ( 5 ) ;
jf. setUser_id ( user. getId ( ) ) ;
int re= jfDao. addJF ( jf) ;
System. out. println ( "添加积分返回值" + re) ;
return userDao. addUser ( user) ;
}
public int updateUser ( User user) {
return userDao. updateUser ( user) ;
}
public User getUserByID ( User user) {
List< User> list= userDao. getUserByID ( user) ;
if ( list== null || list. isEmpty ( ) ) {
return null;
}
return list. get ( 0 ) ;
}
}
UserService.java
package com. whc. noteserver. service;
import com. whc. noteserver. entity. User;
public interface UserService {
public User login ( User user) ;
public User getUserByUserName ( User user) ;
public int addUser ( User user) ;
public int updateUser ( User user) ;
public User getUserByID ( User user) ;
}
UserController.java
package com. whc. noteserver. controller;
import java. util. UUID ;
import javax. servlet. http. HttpSession;
import org. apache. logging. log4j. LogManager;
import org. apache. logging. log4j. Logger;
import org. springframework. beans. factory. annotation. Autowired;
import org. springframework. stereotype. Controller;
import org. springframework. web. bind. annotation. RequestMapping;
import org. springframework. web. bind. annotation. ResponseBody;
import com. whc. noteserver. entity. User;
import com. whc. noteserver. service. JFService;
import com. whc. noteserver. service. UserService;
import com. whc. noteserver. util. JsonResult;
import com. whc. noteserver. util. MD5 ;
@Controller
@RequestMapping ( "/user" )
public class UserController {
private Logger logger = LogManager. getLogger ( UserController. class ) ;
@Autowired
UserService userService;
@Autowired
JFService starService;
@RequestMapping ( "/login" )
@ResponseBody
public Object login ( User user, HttpSession session) {
logger. debug ( "登录:" + user. getUsername ( ) ) ;
logger. info ( "登录:" + user. getUsername ( ) ) ;
try {
user. setPassword ( MD5 . md5 ( user. getPassword ( ) , "helloword" ) ) ;
} catch ( Exception e) {
logger. error ( "MD5加密" , e) ;
}
User userResult = userService. login ( user) ;
JsonResult jsonResult;
if ( userResult != null ) {
session. setAttribute ( "id" , userResult. getId ( ) ) ;
jsonResult = new JsonResult ( JsonResult. STATE_SUCCESS , "" , userResult) ;
} else {
jsonResult = new JsonResult ( JsonResult. STATE_ERROR , "用户名或密码错误" , null ) ;
}
return jsonResult;
}
@RequestMapping ( "/register" )
@ResponseBody
public Object register ( User user) {
user. setId ( UUID . randomUUID ( ) . toString ( ) ) ;
try {
String newpassword = MD5 . md5 ( user. getPassword ( ) , "helloword" ) ;
user. setPassword ( newpassword) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
JsonResult jsonResult = null ;
System. out. println ( user) ;
User userResult = userService. getUserByUserName ( user) ;
if ( userResult == null ) {
int result = userService. addUser ( user) ;
if ( result == 1 ) {
jsonResult = new JsonResult ( JsonResult. STATE_SUCCESS , "注册成功" , null ) ;
} else {
jsonResult = new JsonResult ( JsonResult. STATE_ERROR , "注册失败" , null ) ;
}
} else {
jsonResult = new JsonResult ( JsonResult. STATE_ERROR , "存在重复的用户名" , null ) ;
}
return jsonResult;
}
@RequestMapping ( "/getuserbyid" )
@ResponseBody public Object getuserbyid ( User user) { JsonResult
jsonResult= null ;
User userRe= userService. getUserByID ( user) ;
jsonResult= new JsonResult ( JsonResult. STATE_SUCCESS , "" , userRe) ;
return jsonResult;
}
@RequestMapping ( "/updateregister" )
@ResponseBody public Object updateRegister ( User user) { JsonResult
jsonResult= null ;
int result= userService. updateUser ( user) ;
if ( result== 1 ) {
jsonResult = new JsonResult ( JsonResult. STATE_SUCCESS , "更新成功" , null ) ; } else {
jsonResult= new JsonResult ( JsonResult. STATE_ERROR , "更新失败" , null ) ; }
return jsonResult;
}
}
UserMapper.xml
< ?xml version= "1.0" encoding= "UTF-8" ?>
< ! DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd" >
< ! -- 第8题,添加命名空间 -->
< mapper namespace= "com.whc.noteserver.dao.UserDao" >
< select id= "login" parameterType= "com.whc.noteserver.entity.User" resultType= "com.whc.noteserver.entity.User" >
select * from note_t_users where username=
< /select>
< select id= "getUserByUserName" parameterType= "com.whc.noteserver.entity.User" resultType= "com.whc.noteserver.entity.User" >
select * from note_t_users where username=
< /select>
< insert id= "addUser" parameterType= "com.whc.noteserver.entity.User" >
insert into note_t_users ( id,username,password,age,name) values(
< /insert>
< select id= "getUserByID" parameterType= "com.whc.noteserver.entity.User" resultType= "com.whc.noteserver.entity.User" >
select * from note_t_users where id=
< /select>
< update id= "updateUser" parameterType= "com.whc.noteserver.entity.User" >
update note_t_users set name=
< /update>
< /mapper>
用户注册
register.html
< ! DOCTYPE html>
< ! -- saved from url= ( 0066) https://www.17sucai.com/preview/1145608/2019-06-21/loge/index.html -->
< html> < head> < meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" >
< title> 网站后台管理系统< /title>
< meta name= "viewport" content= "width=device-width, initial-scale=1" >
< ! --可无视-->
< link rel= "stylesheet" href= "./css/bootstrap.min.css" >
< ! --主要样式-->
< script type= "text/javascript" src= "js/jquery-3.4.1.js" > < /script>
< script type= "text/javascript" src= "js/register.js" > < /script>
< link type= "text/css" href= "./css/style.css" rel= "stylesheet" >
< /head>
< body>
< div class= "container" align= "center" >
< div class= "col-md-6" style= "margin-top: 8%;" >
< div class= "inset" >
< div class= "div" >
< input type= "hidden" name= "enews" value= "login" >
< div>
< h2> 后台管理系统< /h2>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 用户名< /label> < /span>
< span> < input type= "text" id= "username" name= "username" class= "textbox" > < /span>
< /div>
< div>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 密码< /label> < /span>
< span> < input name= "password" id= "password" type= "password" class= "password" > < /span>
< /div>
< div>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 确认密码< /label> < /span>
< span> < input name= "repassword" id= "repassword" type= "password" class= "password" > < /span>
< /div>
< div>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 姓名< /label> < /span>
< span> < input name= "name" id= "name" type= "text" class= "password" > < /span>
< /div>
< div>
< span style= "text-align: left;text-indent: 0.4em;" > < label> 年龄< /label> < /span>
< span> < input name= "age" id= "age" type= "text" class= "password" > < /span>
< /div>
< div class= "sign" >
< input type= "reset" class= "submit" id= "reset" value= "重置" >
< input type= "submit" value= "注册" id= "submit" class= "submit" >
< /div>
< /div>
< /div>
< /div>
< /div>
< /body> < /html>
register.js
$ ( function ( ) {
$ ( '#reset' ) . click ( function ( ) {
$ ( '#username' ) . val ( '' ) ;
$ ( '#username' ) . blur ( ) ;
$ ( '#password' ) . val ( '' ) ;
$ ( '#password' ) . blur ( ) ;
$ ( '#repassword' ) . val ( '' ) ;
$ ( '#repassword' ) . blur ( ) ;
$ ( '#name' ) . val ( '' ) ;
$ ( '#name' ) . blur ( ) ;
$ ( '#age' ) . val ( '' ) ;
$ ( '#age' ) . blur ( ) ;
} )
$ ( '#submit' ) . click ( function ( ) {
var username = $ ( '#username' ) . val ( ) ;
if ( username. length== 0 )
{
alert ( '用户名不能为空' ) ;
$ ( '#username' ) . focus ( ) ;
return ;
} else if ( $ ( '#password' ) . val ( ) == '' )
{
alert ( '密码不能为空' ) ;
$ ( '#password' ) . focus ( ) ;
return ;
} else if ( $ ( '#repassword' ) . val ( ) == '' )
{
alert ( '确认密码不能为空' ) ;
$ ( '#repassword' ) . focus ( ) ;
return ;
} else if ( $ ( '#name' ) . val ( ) !== $ ( '#name' ) . val ( ) )
{
alert ( '姓名不能为空' ) ;
$ ( '#name' ) . focus ( ) ;
return ;
} else if ( $ ( '#age' ) . val ( ) !== $ ( '#age' ) . val ( ) )
{
alert ( '年龄不能为空' ) ;
$ ( '#age' ) . focus ( ) ;
return ;
}
if ( $ ( '#password' ) . val ( ) != $ ( '#repassword' ) . val ( ) ) {
alert ( '密码确认密码不能为空' ) ;
$ ( '#repassword' ) . focus ( ) ;
return ;
}
var reg= /^(?:[1-9][0-9]?|1[01][0-9]|120)$/ ;
if ( reg. test ( $ ( '#age' ) . val ( ) ) ) {
} else {
alert ( '年龄输入不合法,1-120' ) ;
$ ( '#age' ) . focus ( ) ;
return ;
}
var sendData= { "username" : $ ( '#username' ) . val ( ) , "password" : $ ( '#password' ) . val ( ) , "name" : $ ( '#name' ) . val ( ) , "age" : $ ( '#age' ) . val ( ) } ;
$. ajax ( {
type: "post" ,
url: "user/register.do" ,
data: sendData,
datatype: "json" ,
success: function ( msg) {
if ( msg. state== 1 ) {
alert ( msg. message) ;
} else {
alert ( msg. message) ;
}
} ,
error: function ( msg) {
alert ( "通信失败" ) ;
}
} ) ;
} )
} ) ;