logonAction.java~2~
上传用户: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. protected String getUser(String username, String password) {
  21. String user = null;
  22. Connection conn = null;
  23. Statement stmt = null;
  24. ResultSet rs = null;
  25. ServletContext context = servlet.getServletContext();
  26. DataSource dataSource = (DataSource)
  27. context.getAttribute(Action.DATA_SOURCE_KEY);
  28. try {
  29. conn = dataSource.getConnection();
  30. stmt = conn.createStatement();
  31. rs =
  32. stmt.executeQuery("select * from employees where "
  33. + "username='" + username + "' "
  34. + "and password='" + password + "'");
  35. if ( rs.next() ) {
  36. user = rs.getString("username");
  37. // Iterate over the results
  38. System.err.println("Username : "
  39. + rs.getString("username")
  40. + " Password : " + rs.getString("password"));
  41. }
  42. else {
  43. System.err.println("....>User not found<....");
  44. }
  45. }
  46. catch (SQLException e) {
  47. System.err.println(e.getMessage());
  48. }
  49. finally {
  50. if (rs != null) {
  51. try {
  52. rs.close();
  53. }
  54. catch (SQLException sqle) {
  55. System.err.println(sqle.getMessage());
  56. }
  57. rs = null;
  58. }
  59. if (stmt != null) {
  60. try {
  61. stmt.close();
  62. }
  63. catch (SQLException sqle) {
  64. System.err.println(sqle.getMessage());
  65. }
  66. stmt = null;
  67. }
  68. if (conn != null) {
  69. try {
  70. conn.close();
  71. }
  72. catch (SQLException sqle) {
  73. System.err.println(sqle.getMessage());
  74. }
  75. conn = null;
  76. }
  77. }
  78. return user;
  79. }
  80. public ActionForward execute(ActionMapping mapping,
  81. ActionForm form,
  82. HttpServletRequest request,
  83. HttpServletResponse response)
  84. throws IOException, ServletException {
  85. String user = null;
  86. // Default target to success
  87. String target = "success";
  88. // Use the LoginForm to get the request parameters
  89. String username = ((logonActionForm)form).getUsername();
  90. String password = ((logonActionForm)form).getPassword();
  91. user = getUser(username, password);
  92. // Set the target to failure
  93. if ( user == null ) {
  94. target = "login";
  95. ActionErrors errors = new ActionErrors();
  96. errors.add(ActionErrors.GLOBAL_ERROR,
  97. new ActionError("errors.login.unknown",
  98. username));
  99. // Report any errors we have discovered back to the
  100. // original form
  101. if (!errors.empty()) {
  102. saveErrors(request, errors);
  103. }
  104. }
  105. else {
  106. HttpSession session = request.getSession();
  107. session.setAttribute("USER", user);
  108. }
  109. // Forward to the appropriate View
  110. return (mapping.findForward(target));
  111. }
  112. }