Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/17Franco/CulturarteWeb/llms.txt

Use this file to discover all available pages before exploring further.

The Registro servlet creates new user accounts in CulturarteWeb. It accepts a multipart form submission (because it also handles a profile-image upload), passes all data to the ControllerWS SOAP service, and returns the user to the login/registration page with a success or error banner. Before the form is submitted, two lightweight AJAX endpoints — /existeNickName and /emailUsado — allow the front-end JavaScript to check nickname and email uniqueness in real time.

GET /Registro

The Registro servlet does not implement doGet. The registration form is served by navigating directly to:
/InicioSesion_Registro.jsp
That JSP renders both the login and the registration form side by side. The registration form posts to /Registro.

POST /Registro

Creates a new account. The form must be encoded as multipart/form-data because it includes a profile-image file upload.

Request parameters

NickName
string
required
The desired unique nickname for the new account. Uniqueness is pre-validated by the /existeNickName AJAX endpoint (see below), and ultimately enforced by the SOAP backend.
password2
string
required
The account password. The JSP also collects a confirmPassword field for client-side comparison, but only password2 is forwarded to the SOAP service.
nombre
string
required
The user’s first name.
apellido
string
required
The user’s last name (surname).
email
string
required
The user’s email address. Uniqueness is pre-validated by the /emailUsado AJAX endpoint.
fecha
string
required
Date of birth in yyyy-MM-dd format (standard HTML <input type="date"> output).
tipoUsuario
string
required
User role. Must be exactly "Proponente" or "Colaborador" (radio-button values from the JSP). Determines which flag is passed to portU.registroUsuario(...).
img
file
required
Profile picture uploaded as a multipart file part. The servlet reads the binary content and the original file name, then passes both to the SOAP service.
direccion
string
Physical address. Only meaningful for Proponente accounts; the JSP shows this field only when Proponente is selected.
paginaWeb
string
Personal or organisational website URL. Shown in the JSP only for Proponente accounts.
biografia
string
Short biography text. Shown in the JSP only for Proponente accounts.

SOAP call

portU.registroUsuario(
    nick, pass, nombre, apellido, email, fecha,
    imgBytes, fileName,
    isProponente,   // true for Proponente, false for Colaborador
    direccion, web, biografia
)
The isProponente boolean is derived from tipoUsuario.equals("Proponente").

Success response

The servlet sets a request attribute and forwards to the registration/login page:
AttributeValue
successMessage"¡Registro exitoso!"
The JSP renders this inside a Bootstrap alert-success block.

Failure response

If the SOAP call throws any exception the servlet sets:
AttributeValue
errorMessage"No se pudo completar el registro."
The JSP renders this inside a Bootstrap alert-danger block.

AJAX validation endpoints

These two servlets are called by validacionNickAndEmail.js while the user is filling in the registration form. They return a JSON response that the script uses to display inline feedback without a full page reload.

GET /existeNickName

Checks whether a nickname is already registered. Query parameter: vNickR — the nickname string to check. Response: application/json
{"existe": true}
or
{"existe": false}
true means the nickname is already taken.
# Check whether the nickname "johndoe" is available
curl "http://localhost:8080/CulturarteWeb/existeNickName?vNickR=johndoe"

GET /emailUsado

Checks whether an email address is already associated with an existing account. Query parameter: vEmail — the email address to check. Response: application/json
{"existe": true}
or
{"existe": false}
true means the email is already in use.
# Check whether the email address is available
curl "http://localhost:8080/CulturarteWeb/emailUsado?vEmail=john%40example.com"
Both AJAX endpoints delegate to ControllerWS just like the main registration servlet. They read the SOAP host, port, and service path from config.properties at request time, so no redeploy is needed when the backend address changes.

User types

CulturarteWeb has two distinct roles:
  • Colaborador (default) — a standard participant. Can log in from any device including mobile.
  • Proponente — an organiser/proposer account with additional profile fields (direccion, paginaWeb, biografia). Proponentes cannot log in from mobile devices (enforced by the Login servlet).
Choose the role carefully at registration time; there is no role-change flow exposed by the web tier.

Build docs developers (and LLMs) love