一、程序概述
用小型的用户登陆来模拟JavaWeb的三层结构,构思图如下:
二、代码
- 工程目录
- com.sky.web.servlet
//1.得到由客户端传来的参数
String username = request.getParameter("username");
String password = request.getParameter("password");
//2.调用业务层的方法,
LoginService ls = new LoginService();
boolean flag=ls.findUserByUsernameAndPassword(username, password);
//3.根据业务层的结果,调用不同资源界面
if(flag){
//3.1如果用户存在数据库中,则跳转到成功界面
request.getSession().setAttribute("name", username);
response.sendRedirect("/javaweb_mvc/success.jsp");
}else{
//3.2用户不存在,通过session返回错误信息
request.getSession().setAttribute("msg", "用户名或密码错误");
response.sendRedirect("/javaweb_mvc/index.jsp");
}
- com.sky.servic
public boolean findUserByUsernameAndPassword(String username,String password) throws Exception{
boolean flag = UserDAO.selectUserExist(username,password);
return flag;
}
- com.sky.dao
static{
try {
//1.创建数据的驱动
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static boolean selectUserExist(String username,String password) throws Exception{
//2.与数据库建立连接
Connection con = DriverManager.getConnection("jdbc:mysql:///mystudy","root","dytion");
//3.查找数据,
PreparedStatement pstt = con.prepareStatement("select * from user where username=? and password =?");
pstt.setString(1, username);
pstt.setString(2, password);
//4.根据结果返回flag
boolean flag = false;
ResultSet rs = pstt.executeQuery();
if(rs.next()){
flag=true;
}
closesql(con,pstt);
/*System.out.println(username+"……DAO……"+password);
System.out.println(flag);*/
return flag;
}
- index.jsp
<div align="center" ><%=session.getAttribute("msg")==null?"":session.getAttribute("msg")%></div>
<form action="/javaweb_mvc/loginservlet" method="post">
<table align="center">
<caption style="color:red;font-size: 30px">用户登陆</caption>
<tr>
<td>用户名:</td>
<td><input type="text" id="username" name="username"/></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" id="password" name="password"></td>
</tr>
<!-- <tr>
<td>验证码:</td>
<td><input type="text" id="checktext"/></td>
</tr> -->
<tr>
<td align="center"><input type="submit" name="login" value="登陆" ></td>
<!-- <td align="center"><input type="submit" name="sign" value="注册"></td> -->
</table>
</form>
- success.jsp
<h1><%=session.getAttribute("name") %>,欢迎登陆………………</h1>