失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java三层架构实现登录_用户登录——三层架构

java三层架构实现登录_用户登录——三层架构

时间:2019-10-25 09:20:41

相关推荐

java三层架构实现登录_用户登录——三层架构

1、MVC开发模式(web开发模式):

M:model-------javabean(封装数据)

V:view----------jsp(显示数据)

C:controller----servlet(获取数据)

2、javaee的三层架构(javaee开发):

web层:与客户端交互

service层:复杂的业务处理

dao层:与数据库交互

3、工程结构:

4、三层架构:

web层:

protected voiddoPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {

HttpSession httpSession=request.getSession();

String username=request.getParameter("username");//从表单获取数据,并作为形式参数传递到login函数中

String password=request.getParameter("password");

UserService userService=newUserService();

User user=userService.login(username,password);//从service层获取user信息,该信息是从数据库中查询的

if(user!=null){

httpSession.setAttribute("user",user);//失败的话,重定向到首页

response.sendRedirect(request.getContextPath()+"/main.jsp");

response.getWriter().write("ni hao");

}else{

request.setAttribute("logerrorinf","用户名或密码错误") ;

request.getRequestDispatcher("/index.jsp").forward(request,response);

}

创建Servlet从表单获取用户信息,并将此信息作为参数传递到service层。

service层:

public classUserService {public User login(String username, String password) {//返回dao层的user信息

UserDao userDao=newUserDao();returnuserDao.login(username,password);

}

}

将参数传递到dao层,并将冲数据库中查询的值返回给web层。便于web层对是否登录成功进行校验。

dao层:

public classUserDao {public User login(String username, String password) {//返回查找到的符合条件的用户

Connection con=null;

User user= null;try{

con=C3p0Utils.getConnection();

QueryRunner qr= newQueryRunner();

String sql= "Select * from login where account=? and password=?";

Object[]select ={username,password};return qr.query(con, sql, new BeanHandler((User.class)), select);

}catch(SQLException e) {throw newRuntimeException(e);

}

}

查询是否有符合条件的用户,将结构封装到Javabean中,并返回查询结果。

index.jsp

login

登录

用户名:

密码 :

${requestScope.logerrorinf}

该jsp页面主要实现登录功能,为Servlet提供用户数据,并运用EL从request域中获取值。

main.jsp:

main

你好,${sessionScope.user.getAccount()}

该jsp实现了登录成功后的显示功能,并从session域中获得用户的账户名称。

5、效果:

初始界面:

登录失败界面:

登录成功界面:

如果觉得《java三层架构实现登录_用户登录——三层架构》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。