登录功能_实现_Service&Dao
测试代码
public class TestUserService {
@Test
public void test01 ( ) {
UserService userService = new UserService ( ) ;
User user = userService. findUserByName ( "jackhello" ) ;
if ( user == null) {
System. out. println ( "不存在" ) ;
} else {
System. out. println ( "存在" ) ;
}
}
@Test
public void test02 ( ) {
UserService userService = new UserService ( ) ;
User user = new User ( ) ;
user. setUsername ( "jackhello" ) ;
user. setPassword ( "123456" ) ;
int code = userService. login ( user) ;
if ( code == - 1 ) {
System. out. println ( "未注册" ) ;
} else if ( code == - 2 ) {
System. out. println ( "注册,但是未激活" ) ;
} else if ( code == - 3 ) {
System. out. println ( "注册,已激活,密码不对" ) ;
} else if ( code == 1 ) {
System. out. println ( "注册,已激活,密码对" ) ;
}
}
}
domain
public class User {
private int uid;
private String username;
private String password;
private Date birthday;
private String name;
private String sex;
private String telephone;
private String email;
private char status;
private String code;
UserDao方法与测试
UserDaoTest
public class UserDaoTest {
@Before
public void init ( ) throws Exception {
}
@After
public void destory ( ) throws Exception {
}
@Test
public void test01 ( ) {
UserDao userDao = MySessionUtils. getSession ( ) . getMapper ( UserDao. class ) ;
User user = userDao. findByName ( "jackhello" ) ;
System. out. println ( user) ;
}
}
UserDao.xml
< ? 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.wzx.dao.UserDao" >
< select id= "findByName" parameterType= "string" resultType= "user" >
select * from tab_user where username = #{ username}
< / select>
< / mapper>
Junit的注解
public class UserDaoTest {
private SqlSession session;
private UserDao userDao;
@Before
public void init ( ) throws Exception {
System. out. println ( "Before" ) ;
session = MySessionUtils. getSession ( ) ;
userDao = session. getMapper ( UserDao. class ) ;
}
@After
public void destory ( ) throws Exception {
System. out. println ( "After" ) ;
session. commit ( ) ;
session. close ( ) ;
}
@Test
public void test01 ( ) {
User user = userDao. findByName ( "jackhello" ) ;
System. out. println ( user) ;
}
@Test
public void test02 ( ) {
User user = userDao. findByName ( "jackhello" ) ;
System. out. println ( user) ;
}
}
login
public int login ( User user) {
UserDao userDao = MySessionUtils. getSession ( ) . getMapper ( UserDao. class ) ;
User u = userDao. findByName ( user. getUsername ( ) ) ;
if ( u == null) {
return - 1 ;
} else {
if ( 'Y' == u. getStatus ( ) ) {
if ( u. getUsername ( ) . equals ( user. getUsername ( ) ) && u. getPassword ( ) . equals ( user. getPassword ( ) ) ) {
return 1 ;
} else {
return - 2 ;
}
} else {
return - 3 ;
}
}
}
登录_前台_表单校验1
< script type = " text/javascript" >
function checkUserName ( ) {
var username = $ ( "#username" ) . val ( ) ;
var reg = /^\w{8,20}$/ ;
var flag = reg. test ( username) ;
if ( flag) {
$ ( "#username" ) . css ( "border" , "" ) ;
} else {
$ ( "#username" ) . css ( "border" , "1px solid red" ) ;
}
return flag;
}
function checkPassword ( ) {
var username = $ ( "#password" ) . val ( ) ;
var reg = /^\w{8,20}$/ ;
var flag = reg. test ( username) ;
if ( flag) {
$ ( "#password" ) . css ( "border" , "" ) ;
} else {
$ ( "#password" ) . css ( "border" , "1px solid red" ) ;
}
return flag;
}
$ ( function ( ) {
$ ( "#username" ) . blur ( checkUserName) ;
$ ( "#password" ) . blur ( checkPassword) ;
} )
</ script>
登录_前台_表单校验2
$("#btn_login").click(function () {
//要求两个值正确,我们才做提交
if(checkUserName()&&checkPassword()){
var un = $("#username").val()
var pw = $("#password").val()
//alert(un+pw)
//写提交
$.ajax({
url:"loginServlet",
async:true,
data:"username="+un+"&password="+pw,
type:"post",
dataType:"json",
success:function (data) {
alert(data)
},
error:function () {
alert("服务器发生了错误")
}
});
}
})
登录后台_Servlet代码实现
LoginServlet
@WebServlet ( "/loginServlet" )
public class LoginServlet extends HttpServlet {
protected void doPost ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet ( request, response) ;
}
protected void doGet ( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map< String, String[ ] > map = request. getParameterMap ( ) ;
User u = new User ( ) ;
try {
BeanUtils. populate ( u, map) ;
} catch ( IllegalAccessException e) {
e. printStackTrace ( ) ;
} catch ( InvocationTargetException e) {
e. printStackTrace ( ) ;
}
UserService userService = new UserService ( ) ;
int code = userService. login ( u) ;
ResponseInfo info = new ResponseInfo ( ) ;
info. setCode ( code) ;
if ( code == - 1 ) {
info. setData ( "用户不存在" ) ;
} else if ( code == 1 ) {
info. setData ( "登录成功" ) ;
} else if ( code == - 2 ) {
info. setData ( "账号密码出错" ) ;
} else if ( code == - 3 ) {
info. setData ( "账号未激活" ) ;
}
String json = new ObjectMapper ( ) . writeValueAsString ( info) ;
response. getWriter ( ) . println ( json) ;
}
}
过滤器
@WebFilter ( "/*" )
public class CharchaterFilter implements Filter {
public void init ( FilterConfig filterConfig) throws ServletException {
}
public void doFilter ( ServletRequest req, ServletResponse rep, FilterChain filterChain) throws IOException, ServletException {
req. setCharacterEncoding ( "utf-8" ) ;
rep. setContentType ( "text/html;charset=utf-8" ) ;
/ / 放行请求
filterChain. doFilter ( req, rep) ;
}
public void destroy ( ) {
}
}
login.jsp
$( "#btn_login" ) . click ( function ( ) {
if ( checkUserName ( ) && checkPassword ( ) ) {
var un = $( "#username" ) . val ( )
var pw = $( "#password" ) . val ( )
$. ajax ( {
url: "loginServlet" ,
async: true ,
data: "username=" + un+ "&password=" + pw,
type: "post" ,
dataType: "json" ,
success: function ( data) {
if ( 1 == data. code) {
$( "#errorMsg" ) . html ( "" ) ;
window. location= "index.html"
} else {
$( "#errorMsg" ) . html ( data. data) ;
}
} ,
error: function ( ) {
alert ( "服务器发生了错误" )
}
} ) ;
}
} )