Advertisement
Krebons94

WAD-hw1

Mar 13th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.83 KB | None | 0 0
  1. import java.sql.Statement;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.io.UnsupportedEncodingException;
  5. import java.math.BigInteger;
  6. import java.security.MessageDigest;
  7. import java.security.NoSuchAlgorithmException;
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.sql.SQLException;
  13. import java.util.Set;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.servlet.ServletException;
  17. import javax.servlet.annotation.WebServlet;
  18. import javax.servlet.http.HttpServlet;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21.  
  22.  
  23. @WebServlet(urlPatterns = {"/registrationController"})
  24. public class registrationController extends HttpServlet {
  25.  
  26.     /**
  27.      * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
  28.      * methods.
  29.      *
  30.      * @param request servlet request
  31.      * @param response servlet response
  32.      * @throws ServletException if a servlet-specific error occurs
  33.      * @throws IOException if an I/O error occurs
  34.      * @throws java.sql.SQLException
  35.      */
  36.     public boolean userExists(String username) throws SQLException{
  37.     try{
  38.        
  39.         String url="jdbc:derby://localhost:1527/a";
  40.         Connection con=DriverManager.getConnection(url,"a","a");
  41.         String sql="SELECT * FROM A.users";
  42.         Statement instr = con.createStatement();
  43.         ResultSet rs= instr.executeQuery(sql);
  44.         while(rs.next()){
  45.         String name=rs.getString("username");
  46.         if(name.compareTo(username)==0) return true;
  47.         }
  48.         } catch (SQLException ex){
  49.             ex.printStackTrace();
  50.         }  
  51.         return false;
  52.     }
  53.     public static String getHash(String password) {
  54.         MessageDigest digest=null;
  55.         try {
  56.         digest = MessageDigest.getInstance("SHA-1");
  57.         } catch (NoSuchAlgorithmException ex) {
  58.         ex.printStackTrace();
  59.         }
  60.         digest.reset();
  61.         try {
  62.         digest.update(password.getBytes("UTF-8"));
  63.         } catch (UnsupportedEncodingException ex) {
  64.         ex.printStackTrace();
  65.         }
  66.         return new BigInteger(1, digest.digest()).toString(16);
  67.     }
  68.     protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException {
  69.         response.setContentType("text/html;charset=UTF-8");
  70.         String username = request.getParameter("username");
  71.         if(userExists(username)) {
  72.             getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
  73.         }
  74.         else
  75.         try (PrintWriter out = response.getWriter()) {
  76.             out.println("<html>\n" +
  77.                         "    <head>\n" +
  78.                         "        <link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\"/>\n" +
  79.                         "        <script type=\"text/javascript\" src=\"js/jquery-1.11.0.js\"></script>\n" +
  80.                         "        <script type=\"text/javascript\" src=\"js/register.js\"></script> \n" +
  81.                         "        <title>Registration</title>\n" +
  82.                         "        <meta charset=\"UTF-8\">\n" +
  83.                         "        <meta name=\"viewport\" content=\"width=device-width\">\n" +
  84.                         "    </head> <body>\n" +
  85.                         "        <div id=\"content\">\n" +
  86.                         "        <div class=\"header\">\n" +
  87.                         "            <img src=\"./img/companyLogo.jpg\" width=\"100px\"  />\n" +
  88.                         "            <span class=\"header-text\">Fane & Company</span>\n" +
  89.                         "        </div> </body> </html>");
  90.            
  91.             Set<String> params=request.getParameterMap().keySet();
  92.             String url="jdbc:derby://localhost:1527/a";
  93.             Connection con=DriverManager.getConnection(url,"a","a");
  94.             String query = "INSERT INTO USERS " + "VALUES(?,?,?,?,?,?,?)";
  95.             PreparedStatement statement = con.prepareStatement(query);
  96.             String pass=getHash(request.getParameter("password"));
  97.             statement.setString(1,request.getParameter("name"));
  98.             statement.setString(2,request.getParameter("username"));
  99.             statement.setString(3,request.getParameter("password"));
  100.             statement.setString(4,request.getParameter("email"));
  101.             statement.setString(5,request.getParameter("gender"));
  102.             statement.setString(6,request.getParameter("telephone"));
  103.             statement.setString(7,request.getParameter("country"));
  104.             statement.execute();
  105.             for(String s : params){
  106.                 out.println("<p>Parameter "+s+" has the value "+request.getParameter(s));
  107.             }
  108.         }
  109.        
  110.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement