巴索罗米·杰

I hear – and I forget; I see – and I remember; I do – and I understand!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、登陆form

 1 <s:form name="login" action="login" method="post" theme="simple">
 2             <s:bean name="net.nw.vo.UserRoles" var="r" />
 3                 <table>
 4                     <tr>
 5                         <td colspan="2">
 6                             <s:actionmessage cssStyle="red"/>
 7                         </td>
 8                     </tr>
 9                     <tr>
10                         <td>
11                             类型:
12                         </td>
13                         <td>
14                             <s:select name="roleId" list="%{#r.roles}" headerKey="0" headerValue="--请选择--"/>
15                         </td>
16                     </tr>
17                     <tr>
18                         <td>
19                             用户名:
20                         </td>
21                         <td>
22                             <s:textfield name="username" />
23                         </td>
24                     </tr>
25                     <tr>
26                         <td>
27                             密码:
28                         </td>
29                         <td>
30                             <s:password name="password" />
31                         </td>
32                     </tr>
33                     <tr>
34                         <td>
35                             验证码:
36                         </td>
37                         <td>
38                             <s:textfield name="randomCode" maxlength="4"/>
39                         </td>
40                     </tr>
41                     <tr>
42                         <td>
43                             <input type="submit" value="提交" />
44                         </td>
45                         <td>
46                             <input type="button" value="注册">
47                         </td>
48                     </tr>
49                 </table>
50             </s:form>
login.jsp 部分代码

2、struts.xml配制跳转

1     <package name="user" namespace="/" extends="tiles-default">
2         <action name="login" class="net.nw.action.UsersAction" method="login">
3             <result type="tiles">adminTiles</result>
4             <result name="input">/login.jsp</result>
5         </action>
6     </package>
struts.xml package

3、vo

 1 package net.nw.vo;
 2 
 3 import java.util.Date;
 4 
 5 /**
 6  * 用户
 7  * @author syj
 8  *
 9  */
10 public class Users {
11     private int userId;
12     private String username;
13     private String password;;
14     private String status;
15     private Date regdate;
16     private int roleid;
17     
18     public int getUserid() {
19         return userId;
20     }
21     public void setUserId(int userId) {
22         this.userId = userId;
23     }
24     public String getUsername() {
25         return username;
26     }
27     public void setUsername(String username) {
28         this.username = username;
29     }
30     public String getPassword() {
31         return password;
32     }
33     public void setPassword(String password) {
34         this.password = password;
35     }
36     public String getStatus() {
37         return status;
38     }
39     public void setStatus(String status) {
40         this.status = status;
41     }
42     public Date getRegdate() {
43         return regdate;
44     }
45     public void setRegdate(Date regdate) {
46         this.regdate = regdate;
47     }
48     public int getRoleId() {
49         return roleid;
50     }
51     public void setRoleId(int roleId) {
52         this.roleid = roleId;
53     }
54     
55 }
Users.java
 1 package net.nw.vo;
 2 
 3 import java.util.Map;
 4 
 5 import net.nw.dao.UserrolesDAO;
 6 
 7 /**
 8  * 用户角色
 9  * 
10  * @author syj
11  * 
12  */
13 public class UserRoles {
14     private int roleid;
15     private String roleName;
16     private Map<Integer, String> roles;
17 
18     public UserRoles()
19     {
20         UserrolesDAO urDao = new UserrolesDAO();
21         roles = urDao.getRoles();
22     }
23     
24     public Map<Integer, String> getRoles() {
25         return roles;
26     }
27 
28     public void setRoles(Map<Integer, String> roles) {
29         this.roles = roles;
30     }
31 
32     public int getRoleId() {
33         return roleid;
34     }
35 
36     public void setRoleId(int roleId) {
37         this.roleid = roleId;
38     }
39 
40     public String getRoleName() {
41         return roleName;
42     }
43 
44     public void setRoleName(String roleName) {
45         this.roleName = roleName;
46     }
47 
48 }
UserRoles.java

vo关系视图

4、UsersAction行为

 1 package net.nw.action;
 2 
 3 import net.nw.dao.UserDAO;
 4 import net.nw.vo.Users;
 5 
 6 import com.opensymphony.xwork2.ActionSupport;
 7 import com.opensymphony.xwork2.ModelDriven;
 8 
 9 public class UsersAction extends ActionSupport implements ModelDriven<Users>{
10     
11     private Users u = new Users();
12     
13     public String login()
14     {
15         System.out.println("用户名:" + u.getUsername());
16         System.out.println("密码:" + u.getPassword());
17         System.out.println("类型:" + u.getRoleId());
18         UserDAO dao = new UserDAO();
19         if(dao.userLogin(u))
20         {
21             return SUCCESS;
22         }
23         else
24         {
25             this.addActionMessage("用户名或密码错误!");
26             return INPUT;
27         }
28     }
29 
30     public Users getModel()
31     {
32         return u;
33     }
34 }
UsersAction.java

5、DAO

 1 package net.nw.dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 
 6 /**
 7  * 数据库链接
 8  * @author syj
 9  *
10  */
11 public class Conn {
12     private static String dbUrl = "jdbc:mysql://localhost:3306/smt";
13     private static String dbUser = "root";
14     private static String dbPwd = "123456";
15     
16     //静态方法块,在构建对象时,调用
17     static
18     {
19         try{
20             Class.forName("com.mysql.jdbc.Driver");
21         }catch(ClassNotFoundException e)
22         {
23             e.printStackTrace();
24         }
25     }
26     
27     public static Connection getConnection() throws Exception
28     {
29         return DriverManager.getConnection(dbUrl,dbUser,dbPwd);
30     }
31 }
Conn.java
 1 package net.nw.dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 
 7 import net.nw.vo.Users;
 8 
 9 public class UserDAO {
10     public boolean userLogin(Users u) {
11         Connection conn = null;
12         PreparedStatement stmt = null;
13         ResultSet rs = null;
14 
15         try {
16             conn = Conn.getConnection();
17             String sql = "select username,password,roleid from users where username=? and password=? and roleid=?";
18             stmt = conn.prepareStatement(sql);
19             stmt.setString(1, u.getUsername());
20             stmt.setString(2, u.getPassword());
21             stmt.setInt(3, u.getRoleId());
22             rs = stmt.executeQuery();
23             if (rs.next()) {
24                 return true;
25             } else {
26                 return false;
27             }
28         } catch (Exception ex) {
29             ex.printStackTrace();
30             return false;
31         } finally {
32             // 关闭数据库链接
33             try {
34                 if (rs != null) {
35                     rs.close();
36                     rs = null;
37                 }
38                 if (stmt != null) {
39                     stmt.close();
40                     stmt = null;
41                 }
42                 if (conn != null) {
43                     conn.close();
44                     conn = null;
45                 }
46             } catch (Exception ex) {
47                 ex.printStackTrace();
48             }
49         }
50     }
51 }
UserDAO.java
 1 package net.nw.dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.ResultSet;
 5 import java.sql.Statement;
 6 import java.util.HashMap;
 7 import java.util.Map;
 8 
 9 public class UserrolesDAO {
10     
11     //查找角色
12     public Map<Integer,String> getRoles(){
13         Map<Integer,String> map = new HashMap<Integer, String>();
14         Connection conn = null;
15         Statement stmt = null;
16         ResultSet rs = null;
17         
18         try
19         {
20             conn = Conn.getConnection();
21             stmt = conn.createStatement();
22             String sql = "select roleId,roleName from userroles;";
23             rs = stmt.executeQuery(sql);
24             while(rs.next())
25             {
26                 //System.out.println(rs.getInt("roleId"));
27                 //System.out.println(rs.getString("roleName"));
28                 map.put(rs.getInt("roleId"), rs.getString("roleName"));
29             }
30             return map;
31         }
32         catch(Exception ex)
33         {
34             ex.printStackTrace();
35             return map;
36         }
37         finally
38         {
39             //关闭数据库链接
40             try
41             {
42                 if(rs != null)
43                 {
44                     rs.close();
45                     rs = null;
46                 }
47                 if(stmt != null)
48                 {
49                     stmt.close();
50                     stmt = null;
51                 }
52                 if(conn != null)
53                 {
54                     conn.close();
55                     conn = null;
56                 }
57             }
58             catch(Exception ex)
59             {
60                 ex.printStackTrace();
61             }
62             
63         }
64     }
65     
66     
67 }
UserrolesDAO.java

代码流程简单梳理:

 

posted on 2013-05-31 00:24  SeeGo  阅读(463)  评论(0)    收藏  举报