logonAction.java~6~
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:3k
源码类别:

Java编程

开发平台:

Java

  1. package strutsds;
  2. import java.io.IOException;
  3. import javax.servlet.ServletContext;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServletRequest;
  6. import javax.servlet.http.HttpServletResponse;
  7. import javax.servlet.http.HttpSession;
  8. import org.apache.struts.action.Action;
  9. import org.apache.struts.action.ActionForm;
  10. import org.apache.struts.action.ActionForward;
  11. import org.apache.struts.action.ActionMapping;
  12. import org.apache.struts.action.ActionErrors;
  13. import org.apache.struts.action.ActionError;
  14. import javax.sql.DataSource;
  15. import java.sql.Connection;
  16. import java.sql.Statement;
  17. import java.sql.ResultSet;
  18. import java.sql.SQLException;
  19. public class logonAction extends Action {
  20. java.util.ArrayList list=new java.util.ArrayList();
  21. protected String getUser(String username, String password) {
  22. String user = null;
  23. Connection conn = null;
  24. Statement stmt = null;
  25. ResultSet rs = null;
  26. ServletContext context = servlet.getServletContext();
  27. DataSource dataSource = (DataSource)context.getAttribute(Action.DATA_SOURCE_KEY);
  28. try {
  29. conn = dataSource.getConnection();
  30. stmt = conn.createStatement();
  31. rs =stmt.executeQuery("select * from employees where "+ "username='" + username + "' "+ "and password='" + password + "'");
  32. if ( rs.next() ) {
  33.         user = rs.getString("username");
  34. // Iterate over the results
  35.         System.err.println("Username : "+ rs.getString("username")+ " Password : " + rs.getString("password"));
  36.         rs.get
  37. }
  38. else {
  39. System.err.println("....>User not found<....");
  40. }
  41. }
  42. catch (SQLException e) {
  43. System.err.println(e.getMessage());
  44. }
  45. finally {
  46. if (rs != null) {
  47. try {
  48. rs.close();
  49. }
  50. catch (SQLException sqle) {
  51. System.err.println(sqle.getMessage());
  52. }
  53. rs = null;
  54. }
  55. if (stmt != null) {
  56. try {
  57. stmt.close();
  58. }
  59. catch (SQLException sqle) {
  60. System.err.println(sqle.getMessage());
  61. }
  62. stmt = null;
  63. }
  64. if (conn != null) {
  65. try {
  66. conn.close();
  67. }
  68. catch (SQLException sqle) {
  69. System.err.println(sqle.getMessage());
  70. }
  71. conn = null;
  72. }
  73. }
  74. return user;
  75. }
  76.   public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse httpServletResponse) {
  77.   String user = null;
  78. // Default target to success
  79.  String target = "success";
  80. // Use the LoginForm to get the request parameters
  81.  String username = ((logonActionForm)form).getUsername();
  82.  String password = ((logonActionForm)form).getPassword();
  83.  user = getUser(username, password);
  84. // Set the target to failure
  85.  if ( user == null ) {
  86.  target = "login";
  87.  ActionErrors errors = new ActionErrors();
  88.  errors.add(ActionErrors.GLOBAL_ERROR,
  89.  new ActionError("errors.login.unknown",username));
  90. // Report any errors we have discovered back to the
  91. // original form
  92.  if (!errors.empty()) {
  93.  saveErrors(request, errors);
  94.  }
  95.  }
  96.  else {
  97.  HttpSession session = request.getSession();
  98.  session.setAttribute("USER", user);
  99.  }
  100. // Forward to the appropriate View
  101.  return (mapping.findForward(target));
  102.  }
  103. }