我正在开发一个 Java EE 网站,但我仍然需要管理登录和注册。
我希望你给我一份关于如何使用 Servlets 的指南。例如,让 .jspregistro.jsp
通过 a发送<form></form>
到. 我已经几乎掌握了注册的那部分,但我想管理会话。如果是,让系统帮我检测一下,如果是的话。因此,根据您拥有的个人资料类型,我被重定向到相应的页面Servlet
RegistroServlet
administrador
usuario registrado
我不知道这些信息是否有用,但我有一个带有表的数据库usuario
和另一个TipoUsuario
带有@ManyToOne 关系的数据库。我创建了它,以便如果创建用户,它也需要用户类型。我该如何处理该会话?我是 Java EE 的新手,我一直在看视频,但没有一个能教我我需要什么,我提前感谢任何帮助。
PS:已经在表中TipoUsuario
我有两个字段:用户 和管理员
编辑
用户记录.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="../css/estilo.css">
<title>Predicación pública - Registro</title>
</head>
<body>
<br>
<br>
<br>
<div class="register_form">
<center>
<fieldset>
<legend align="center"><h1><strong>¡Regístrate!</strong></h1></legend>
<form action="" method="POST">
<label for="nombre"><strong>Nombre: <div class="asterisco">*</div></strong></label><br>
<input type="text" name="nombre" required> <br>
<label for="apeliido"><strong>Apellido: <div class="asterisco">*</div></strong></label><br>
<input type="text" name="apellido" required><br>
<label for="usuario"><strong>Usuario: <div class="asterisco">*</div></strong></label><br>
<input type="text" name="usuario" required><br>
<label for="contrasena1"><strong>Elija su contraseña: <div class="asterisco">*</div></strong></label><br>
<input type="password" name="contrasena1" required><br>
<br>
<input type="submit" name="enviar" value="Aceptar">
</form>
</fieldset>
</center>
</div>
</body>
ServletUserRegistry.java
package com.carrito.servlets;
import com.carrito.model.TipoUsuario;
import com.carrito.model.Usuario;
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 RegistroPublicadorServlet extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String action= request.getServletPath();
switch(action){
case "/registroPublicador.":
{
String nombre = request.getParameter("nombre").trim();
String apellido = request.getParameter("apellido").trim();
String password = request.getParameter("passowrd");
//implementación del método guardar
Usuario usuario = new Usuario();
usuario.setNombreUsuario(nombre);
usuario.setContraseñaUsuario(password);
TipoUsuario perfil = new TipoUsuario();
perfil.setNombrePerfil("Administrador");
usuario.setTipoUsuarioidTipoUsuario(perfil);
要获取/登录用户,只需
HttpSession
从请求中调用对象:提示:您似乎正在使用 Netbeans,它
processRequest
为doGet
和doPost
. 这是不好的做法,你不应该使用它。doGet
用于预处理视图,而用于doPost
处理动作。我建议您直接对每种方法采取行动。如果您使用的是 JavaEE,您可能更倾向于使用已经具有成熟会话处理的 JSF,并且根据 Java 企业标准是官方 Web 层实现。
Java Enterprise 7 jsf 6 官方资料
资料java企业版7 jsf
如果您使用 jsf,那么您可以使用一个名为 FacesContext 的对象,该对象处理与会话相关的所有内容,如下所示