码迷,mamicode.com
首页 > 编程语言 > 详细

java model2用户登录简单实例

时间:2015-05-30 22:46:15      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:j2ee

    上一篇博客对model1和model2进行了对比总结,这篇博客对model2的思想“实例化”一下,介绍一个model2的登陆实例。

    实例很简单:用户在index.jsp页面输入用户名和密码,提交到servelt,servlet调用manager的方法,manager进行逻辑判断,判断后servlet会将页面转到show.jsp页面,show.jsp会反馈用户登录的情况。


index.jsp

    在这个页面中有用户名和密码的文本框,已经提交页面的submit按钮。当点击submit按钮整个form会直接提交。

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My JSP 'index.jsp' starting page</title>
  </head>
 <form name="userForm" target="_self" id="userForm" action="servlet/loginServlet">
  <body>
    	用户名:<input name="userName" type="text" id="userName" size="20" maxlength="20" value=""><br>
  	密码:<input name="passWord" type="text" id="passWord" size="20" maxlength="20" value=""><br>
	<input name="btnAdd"  type="submit" id="btnLogin" value="登陆">							
  </body>
  </form>
</html>


show.jsp

    用来反馈用户登录后的信息,这里用到了JSTL,直接显示信息。

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	${showInfo }
</body>
</html>


servlet

    获取表单数据,调用后台的业务逻辑,并进行页面的跳转。

public class loginServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//获取前台发过来的用户名和用户密码
		String userName=request.getParameter("userName");
		String passWord=request.getParameter("passWord");
		
		//构造user对象,并赋值
		User user=new User();
		user.setUserName(userName);
		user.setPassWord(passWord);
		
		//查询用户是否存在
		UserManager userManager=new UserManager();
		String showInfo=userManager.QueryUser(user);
		
		//将显示信息放入到rqeust中
		request.setAttribute("showInfo", showInfo);
		//页面重定向到show.jsp
		request.getRequestDispatcher("/show.jsp").forward(request, response);

	}
}


manager

    manager存储数据以及业务逻辑判断,在这里写了一个假数据,并与登陆的用户名和密码进行业务逻辑的判断。

public class UserManager {
	public String QueryUser(User user){
		User userDB=new User();
		userDB.setUserName("admin");
		userDB.setPassWord("admin");
		
		if (user.getUserName().equals(userDB.getUserName())
				&& user.getPassWord().equals(userDB.getPassWord())) {
			return "欢迎【"+userDB.getUserName()+"】登陆系统";
		}
		return "用户不存在";
	}
}


登录实例的时序图

技术分享


    通过和上一篇博客中model2的时序图比较不难发现,这个登录的实例的时序图可以和model2的时序图的lifeline一一对应起来。而每一层职责单一的思想也表现了出来,jsp用来显示;servlet用来转页面;manger相当于model,用来进行业务逻辑。




java model2用户登录简单实例

标签:j2ee

原文地址:http://blog.csdn.net/suneqing/article/details/46277313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!