Advertisement
Guest User

WAD CARTOF

a guest
Mar 13th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6.  
  7. import java.sql.Statement;
  8. import java.io.IOException;
  9. import java.io.PrintWriter;
  10. import java.io.UnsupportedEncodingException;
  11. import java.math.BigInteger;
  12. import java.security.MessageDigest;
  13. import java.security.NoSuchAlgorithmException;
  14. import java.sql.Connection;
  15. import java.sql.DriverManager;
  16. import java.sql.PreparedStatement;
  17. import java.sql.ResultSet;
  18. import java.sql.SQLException;
  19. import java.util.Set;
  20. import java.util.logging.Level;
  21. import java.util.logging.Logger;
  22. import javax.servlet.ServletException;
  23. import javax.servlet.annotation.WebServlet;
  24. import javax.servlet.http.HttpServlet;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27.  
  28.  
  29. @WebServlet(urlPatterns = {"/registrationController"})
  30. public class registrationController extends HttpServlet {
  31.  
  32. /**
  33. * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  34. * methods.
  35. *
  36. * @param request servlet request
  37. * @param response servlet response
  38. * @throws ServletException if a servlet-specific error occurs
  39. * @throws IOException if an I/O error occurs
  40. * @throws java.sql.SQLException
  41. */
  42. public boolean userExists(String username) throws SQLException{
  43. try{
  44.  
  45. String url="jdbc:derby://localhost:1527/Users";
  46. Connection con=DriverManager.getConnection(url,"a","a");
  47. String sql="SELECT * FROM A.users";
  48. Statement instr = con.createStatement();
  49. ResultSet rs= instr.executeQuery(sql);
  50. while(rs.next()){
  51. String name=rs.getString("username");
  52. if(name.compareTo(username)==0) return true;
  53. }
  54. } catch (SQLException ex){
  55. ex.printStackTrace();
  56. }
  57. return false;
  58. }
  59. public static String getHash(String password) {
  60. MessageDigest digest=null;
  61. try {
  62. digest = MessageDigest.getInstance("SHA-1");
  63. } catch (NoSuchAlgorithmException ex) {
  64. ex.printStackTrace();
  65. }
  66. digest.reset();
  67. try {
  68. digest.update(password.getBytes("UTF-8"));
  69. } catch (UnsupportedEncodingException ex) {
  70. ex.printStackTrace();
  71. }
  72. return new BigInteger(1, digest.digest()).toString(16);
  73. }
  74. protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
  75. response.setContentType("text/html;charset=UTF-8");
  76. String username = request.getParameter("username");
  77. if(userExists(username)) {
  78. getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
  79. }
  80. else
  81. try (PrintWriter out = response.getWriter()) {
  82. out.println("<html>\n" +
  83. " <head>\n" +
  84. " <link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\"/>\n" +
  85. " <script type=\"text/javascript\" src=\"js/jquery-1.11.0.js\"></script>\n" +
  86. " <script type=\"text/javascript\" src=\"js/register.js\"></script> \n" +
  87. " <title>Registration</title>\n" +
  88. " <meta charset=\"UTF-8\">\n" +
  89. " <meta name=\"viewport\" content=\"width=device-width\">\n" +
  90. " </head> <body>\n" +
  91. " <div id=\"content\">\n" +
  92. " <div class=\"header\">\n" +
  93. " <img src=\"./img/companyLogo.jpg\" width=\"100px\" />\n" +
  94. " <span class=\"header-text\">Fane & Company</span>\n" +
  95. " </div> </body> </html>");
  96.  
  97. Set<String> params=request.getParameterMap().keySet();
  98. String url="jdbc:derby://localhost:1527/Users";
  99. Connection con=DriverManager.getConnection(url,"a","a");
  100. String query = "INSERT INTO USERS " + "VALUES(?,?,?,?,?,?,?)";
  101. PreparedStatement statement = con.prepareStatement(query);
  102. String pass=getHash(request.getParameter("password"));
  103. statement.setString(1,request.getParameter("name"));
  104. statement.setString(2,request.getParameter("username"));
  105. statement.setString(3,request.getParameter("password"));
  106. statement.setString(4,request.getParameter("email"));
  107. statement.setString(5,request.getParameter("gender"));
  108. statement.setString(6,request.getParameter("telephone"));
  109. statement.setString(7,request.getParameter("country"));
  110. statement.execute();
  111. for(String s : params){
  112. out.println("<p>Parameter "+s+" has the value "+request.getParameter(s));
  113. }
  114. }
  115.  
  116. }
  117.  
  118. // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  119. /**
  120. * Handles the HTTP <code>GET</code> method.
  121. *
  122. * @param request servlet request
  123. * @param response servlet response
  124. * @throws ServletException if a servlet-specific error occurs
  125. * @throws IOException if an I/O error occurs
  126. */
  127. @Override
  128. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  129. throws ServletException, IOException {
  130. try {
  131. processRequest(request, response);
  132. } catch (SQLException ex) {
  133. Logger.getLogger(registrationController.class.getName()).log(Level.SEVERE, null, ex);
  134. }
  135. }
  136.  
  137. /**
  138. * Handles the HTTP <code>POST</code> method.
  139. *
  140. * @param request servlet request
  141. * @param response servlet response
  142. * @throws ServletException if a servlet-specific error occurs
  143. * @throws IOException if an I/O error occurs
  144. */
  145. @Override
  146. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  147. throws ServletException, IOException {
  148. try {
  149. processRequest(request, response);
  150. } catch (SQLException ex) {
  151. Logger.getLogger(registrationController.class.getName()).log(Level.SEVERE, null, ex);
  152. }
  153. }
  154.  
  155. /**
  156. * Returns a short description of the servlet.
  157. *
  158. * @return a String containing servlet description
  159. */
  160. @Override
  161. public String getServletInfo() {
  162. return "Short description";
  163. }// </editor-fold>
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement