TheDocumentation 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.
/PerfilUsuario servlet is the central hub for all user-profile related operations in CulturarteWeb. It resolves the correct DTO from the back-end web service depending on whether the target account is a Proponente (project proposer) or a Colaborador (collaborator/funder), then hands all data off to perfilUsuario.jsp for rendering. The same profile page also exposes account-management actions — deleting an account, listing all registered users, and reviewing the platform’s access log.
GET /PerfilUsuario
Fetches the full profile of any registered user and forwards the request toperfilUsuario.jsp.
Request parameters
The unique nickname (username) of the profile to display. Must not be an empty string.
The account type of the user. Accepted values are
Proponente and Colaborador. This value controls which SOAP call is made and which DTO fields are available in the JSP.Behavior
- Reads
WEB_SERVICES_HOST,WEB_SERVICES_PORT, andSERVICEfromconfig.propertiesto build the WSDL URL dynamically. - Instantiates
ControllerWS_Serviceand obtains theControllerWSport. - Branches on
tipo:tipo=Proponente→ callsportU.getDTOProponente(nick)→ returns aDtoProponente(extendsDtoUsuario; addsbiografia,direccion,webSite).- Any other value → calls
portU.getDTOColaborador(nick)→ returns aDtoColaborador.
- Sets the following request attributes for the JSP:
| Attribute | Type | Description |
|---|---|---|
infoPerfil | DtoProponente or DtoColaborador | Full user data object |
nick | String | The requested nickname |
tipo | String | The account type string |
pagina | String | Always "Perfil" — used by shared nav components |
- Forwards to
/perfilUsuario.jsp.
JSP rendering
perfilUsuario.jsp reads the infoPerfil attribute (cast to DtoUsuario for common fields) and displays:
- Profile photo (served via
/Img?ruta=…) or a generic avatar fallback. nickname,nombre,apellido,email,fechaString.- For
Proponenteprofiles additionally:biografia,direccion,webSite. - A follow/unfollow icon (rendered by
MostrarIconoSeguirODejarDeSeguir.js) when the viewer is not the profile owner. - An Eliminar Cuenta button (only visible to the logged-in
Proponenteviewing their own profile).
Example
The servlet does not check authentication itself. Access control is handled upstream by the session filter. Unauthenticated users will still see the profile page, but the follow icon and the delete button will not be rendered.
POST /EliminarCuenta
Permanently deletes a Proponente account. The request is triggered from the confirmation modal insideperfilUsuario.jsp.
Request parameters
The nickname of the account to delete. The user must type their own nickname in the confirmation modal to confirm the operation.
Behavior
- Calls
portU.existe(nick)to verify the account exists. - If it exists, calls
portU.eliminarProponente(nick). - On success, invalidates the current
HttpSession(logs the user out) and returns a JSON response. - Returns
{"resp": false}if the nickname does not exist or ifeliminarProponentereturnsfalse.
Response (JSON)
Example
GET /listarUsuarios
Returns a list of all registered users on the platform and forwards to the user-listing view.Request parameters
This endpoint takes no query parameters.Behavior
- Calls
portU.listaDTOUsuarios()on the SOAP web service. - Returns a
List<DtoUsuario>containing all registered users regardless of type. - Sets the request attribute
Usuarioswith the full list. - Forwards to
/SeguirUsuarios.jspfor rendering.
JSP attributes set
| Attribute | Type | Description |
|---|---|---|
Usuarios | List<DtoUsuario> | All registered platform users |
Example
This endpoint is typically invoked when a logged-in user navigates to the “follow users” section of the platform. The resulting
SeguirUsuarios.jsp view allows the current user to browse all accounts and initiate follow actions.RegistroDeAccesos (Servlet Filter)
RegistroDeAccesos is a Jakarta EE Filter (not a servlet) mapped to /*, meaning it intercepts every incoming HTTP request to the application before it reaches any servlet.
Filter mapping
Behavior
For every request whose URL does not contain/Img (image requests are excluded to avoid log noise):
- Extracts the client’s IP address via
sr.getRemoteAddr(). - Extracts the
User-Agentheader (defaults to"dato nulo"if absent). - Builds a
DtoRegistrosAccesoWebobject populated with:ip— client IP addressnavegadorWeb— theUser-Agentstringso— also set to theUser-Agentstringurl— the full request URLfechaReg— set tonull(timestamp is assigned server-side by the web service)
- Calls
portU.agregarRegistroAccesoWeb(reg)on the SOAP back-end to persist the access record. - Calls
fc.doFilter(sr, sr1)to continue the filter chain and allow the request to proceed normally.
RegistroDeAccesos is an administrative audit filter, not a user-facing endpoint. It runs transparently in the background on every page load. Access logs are stored and managed entirely by the back-end web service.