Как хранить имена пользователей и пароли в очень простой форме регистрации, используя servlet / jsp / javabeans? - PullRequest
0 голосов
/ 15 марта 2011

Я понимаю, как использовать сеансовые куки-файлы для передачи имени пользователя и пароля от сервлета к сервлету, но я озадачен тем, как хранить успешные регистрации, чтобы, когда кто-то новый регистрируется, он проверял его в этом хранилище данных, чтобы убедиться, что выбранное имя пользователя еще не использовался.

Имейте в виду, ничего из этого не должно быть безопасным, просто должно работать.

У меня есть настройка формы, которая запрашивает имя пользователя, пароль и подтверждает установку пароля и передает данные формы сервлету с именем process.

За свою жизнь я не могу придумать простой способ сделать эту работу, не вдаваясь в более продвинутые методы, которые требуют баз данных или других средств.

Вот код моей формы. Любая вещь, которая может направить меня в правильном направлении, будет очень полезна. Спасибо.

package HWpackage;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class register extends HttpServlet {


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            ///* TODO output your page here
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet register</title>");  
            out.println("</head>");
            out.println("<body>");
            out.println("<form action='process' method='post'>");
            out.println("<table border ='5'>" +
                        "<tr>" +
                        "<th colspan='2'>Register Account Information</th>" +
                        "</tr>" +
                        "<tr>" +
                        "<td>Requested Username:</td>" +
                        "<td><input type='text' name='username' /></td>" +
                        "</tr>" +
                        "<tr>" +
                        "<td>Password:</td>" +
                        "<td><input type='password' name='password' /></td>" +
                        "</tr>" +
                        "<tr>" +
                        "<td>Confirm Password:</td>" +
                        "<td><input type='password' name='password' /></td>" +
                        "</tr>" +
                        "<tr>" +
                        "<th colspan='2'><input type='Submit' value='Submit'><input type='Reset' value='Reset' /></form></th>" +
                        "</tr>" +
                        "</table>");
            out.println("</body>");
            out.println("</html>");
            //*/
        } finally { 
            out.close();
        }
    } 

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } 


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }


    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

У меня есть несколько предложений для вас.

  • Вы смешиваете представление с контроллером. Не делайте этого , следуйте MVC модель
  • Да, вы правы, имя пользователя / пароль должны храниться только в БД, используйте JDBC для запроса вашей БД.
  • См. Servlet
1 голос
/ 15 марта 2011

Попробуйте db4o . Он может сохранить ваши объекты только в одной строке кода и в одном банке в вашем пути к классам.

db.store(user);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...