Este artigo compartilha o método da função de login Javaweb para sua referência. O conteúdo específico é o seguinte
Primeiro de tudo, precisamos do processo básico do Login Javaweb: envie solicitações na página JSP -> Servlet -> Servlet obtém dados do banco de dados chamando métodos e retorna o resultado para a página.
Primeiro, criamos três páginas JSP, incluindo login.jsp (página de login), index.jsp (exibe as informações após o sucesso do login) e Error.jsp (página que falha ao login). O conteúdo das duas últimas páginas pode ser escrito à vontade, e o principal conteúdo da página Login.jsp são os seguintes:
<Form Action = "LogInServlet" Method = "Post"> Nome de usuário: <input type = "text" name = "UserName"/> senha: <input type = "senha" name = "senha"/> <input type = "submit" value = "submit"/> </form>
No início do arquivo login.jsp, precisamos alterar PageEncoding = "ISO-8859-1" para PageEncoding = "UTF-8" (ao mesmo tempo, não se esqueça de definir o formato de codificação da ferramenta de desenvolvimento; caso contrário, a página JSP exibirá código contorno)
Com base nos dois atributos de nome de usuário e senha, criamos classes de entidade correspondentes e adicionamos métodos GET e Set. O código é o seguinte:
Public class Usuário {private String Nome de usuário; senha de sequência privada; public String getUserName () {return Username; } public void setUserName (string userName) {this.username = nome de usuário; } public string getPassword () {return senha; } public void setPassword (string senha) {this.password = senha; }} O Action = "LogInservlet" na página JSP refere -se ao envio de uma solicitação ao servlet para processamento. Em seguida, vamos ao servlet para processar:
importar java.io.ioException; importar javax.servlet.servletexception; importar javax.servlet.http.httpServlet; importar javax.servlet.http.httpServLeveLeQuest; import javax.servlet.http.ht5 Servlet em vez de classe quando criado. Ele precisa ser configurado em web.xml. O código configurado Myeclipse gerará automaticamente a classe pública LogInservlet estende HttpServlet {// Crie objeto UserDAO para facilitar a consulta do banco de dados UserDAO Userdao = new Userdao (); //The following doGet methods and doPost methods correspond to method="get" and method="post" in the form form respectively public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {} public void DoPOST (solicitação httpServLeTrequest, httpServletResponse resposta) lança servletexception, ioexception {// use o método getParameter para obter o valor inserido na caixa de texto em primeiro plano, onde o conteúdo nos colches é o nome do nome " String senha = request.getParameter ("senha"); // Ligue para o método getSelect no userdao e obtenha o valor de retorno bandeira boolean = userdao.getSelect (nome de usuário, senha); // encaminhe para a página index.jsp if (sinalizador) {request.getRequestDispatcher ("index.jsp"). Forward (request, resposta); } else Response.SendRedirect ("Error.jsp"); }} O que eu já disse nos comentários é muito claro, então não vou mais repetir. Você pode olhar para as linhas 26 e as linhas 29, dos quais 26 estão encaminhando e 29 estão redirecionando. Amigos interessados podem verificar a diferença entre os dois. A parte restante é a operação de consulta sobre o banco de dados que mencionamos anteriormente. Chamamos isso na linha 23, e o método a seguir concluímos a chamada:
pacote com.test.dao; importar java.sql.connection; importar java.sql.driverManager; importar java.sql.preparedStatement; importar java.sql.resultset; public class UserDao {// conectando a conexão com a conexão public (); // conexão com o banco de dados Senha senha senha = ""; String driver = "com.mysql.jdbc.driver"; // onde teste é o nome do banco de dados String url = "jdbc: mysql: // localhost: 3306/teste"; Conexão conn = null; tente {class.ForName (driver); Conn = (conexão) driverManager.getConnection (URL, nome de usuário, senha); } catch (Exceção e) {e.printStackTrace (); } retornar Conn; } // O método de consulta, se houver dados que atendem às condições, ele retorna o verdadeiro public boolean getSelect (nome de usuário da string, senha da string) {sinalizador booleano = false; String sql = "Selecione * do usuário onde o nome de usuário = '"+nome de usuário+"' e senha = '"+senha+"'"; Conexão conn = getCon (); Preparado Pstatement Pst = NULL; tente {pst = (preparadostatement) Conn.Preparestatement (SQL); ResultSet rs = pst.executeQuery (); if (rs.Next ()) {flag = true; }} catch (Exceção e) {} Retornar sinalizador; }}Neste método, primeiro nos conectamos ao banco de dados e depois passamos o nome de usuário e a senha do método de consulta obtidos na página JSP para determinar se o usuário com esse nome de usuário e senha existe no banco de dados. Se existir, ele retornará true, caso contrário, retorna false (não se esqueça de importar o pacote vinculado ao banco de dados).
Quanto aos campos no banco de dados, basta usar o usuário da classe Entity para criá -lo, ou seja, inclui dois atributos: nome de usuário e senha. Se você tiver alguma dúvida sobre o link do banco de dados, consulte o ensaio anterior sobre a parte do banco de dados.
Por fim, vamos dar uma olhada na configuração no web.xml:
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xmls/javaee/web-web-web-web-web--/java.sun.com/xmls/javaeeeee/web-web-web-web-web-web-web-web-web-web-web-web-web-web-web-/java.sun.com/ <Verlet> <Verlet-name> LogInservlet </servlet-name> <Servlet-class> com.test.servlet.loginservlet </servlet-class> </servlet> <sutlet-mapping> <Verlet-name> Loginservlet </Servlet> <url-Pattern>/Loginservlet </url>
O <nome do servlet> em <Verlet> pode ser escrito à vontade, apenas certifique-se de que as partes superior e inferior sejam iguais.
Depois, há o caminho do servlet definido por você (incluindo o nome do pacote) e, finalmente, <url-padrão>. O conteúdo interno também pode ser escrito à vontade, mas o atributo de ação do formulário na página JSP deve ser o mesmo que esse nome (a ação não contém "/")
Por fim, precisamos publicar o projeto da web no tomcat e depois entrar: http: // localhost: 8080/nome do projeto/login.jsp no navegador para acessar e fazer login.
Este é apenas um aplicativo simples, e o objetivo é ajudar todos os amigos a entender o processo básico do desenvolvimento do JSP+Servlet. Obviamente, realizaremos uma segmentação mais detalhada no processo de desenvolvimento real, incluindo interfaces, classes de implementação, etc.