Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
Asistencia
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Billy Larru
Asistencia
Commits
d0472b18
Commit
d0472b18
authored
Jul 11, 2018
by
Billy Larru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
filtros para servlets
parent
ff497ee3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
509 additions
and
235 deletions
+509
-235
RequestFilter.java
src/main/java/asistencia/filters/RequestFilter.java
+232
-232
RequestsFilter.java
src/main/java/asistencia/filters/RequestsFilter.java
+268
-0
web.xml
src/main/webapp/WEB-INF/web.xml
+9
-3
No files found.
src/main/java/asistencia/filters/RequestFilter.java
View file @
d0472b18
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
asistencia
.
filters
;
import
java.io.IOException
;
import
java.io.PrintStream
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.servlet.Filter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.FilterConfig
;
import
javax.servlet.ServletException
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletResponse
;
import
javax.servlet.annotation.WebFilter
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
javax.ws.rs.WebApplicationException
;
import
javax.ws.rs.core.Response
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
asistencia.config.RequestPath
;
import
asistencia.utilities.GeneralUtils
;
import
asistencia.utilities.HttpRequest
;
/**
*
* @author sistem08user
*/
@WebFilter
(
filterName
=
"RequestFilter"
,
urlPatterns
=
{
"/*"
})
public
class
RequestFilter
implements
Filter
{
// The filter configuration object we are associated with. If
// this value is null, this filter instance is not currently
// configured.
private
FilterConfig
filterConfig
=
null
;
public
RequestFilter
()
{
}
private
void
doBeforeProcessing
(
ServletRequest
req
,
ServletResponse
resp
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
HttpServletResponse
response
=
(
HttpServletResponse
)
resp
;
String
uri
=
request
.
getRequestURI
();
if
(
uri
.
endsWith
(
"Asistencia"
)
||
uri
.
endsWith
(
"Asistencia/"
)
||
uri
.
contains
(
"vistas/index.jsp"
)
||
uri
.
contains
(
"plantilla/assets"
)
||
uri
.
endsWith
(
".js"
)
||
uri
.
endsWith
(
".css"
)
||
uri
.
endsWith
(
".png"
)
||
uri
.
endsWith
(
".jpg"
)
||
uri
.
endsWith
(
".gif"
)
||
uri
.
contains
(
"/login"
)
||
uri
.
contains
(
"vistas/redireccionarServlet"
)
||
uri
.
contains
(
"vistas/interceptar"
))
{
chain
.
doFilter
(
request
,
response
);
}
else
{
if
(
request
.
getSession
().
getAttribute
(
"codigo"
)
!=
null
)
{
if
(
uri
.
endsWith
(
".jsp"
))
{
HttpSession
session
=
request
.
getSession
();
HttpRequest
httpRequest
=
new
HttpRequest
();
JSONObject
valid
=
null
;
String
respuesta
=
""
;
String
auth
=
""
;
try
{
if
(
session
.
getAttribute
(
"Authorization"
)
!=
null
)
{
auth
=
(
String
)
session
.
getAttribute
(
"Authorization"
);
}
else
{
setError
(
response
);
}
respuesta
=
httpRequest
.
getRespuesta
(
RequestPath
.
VERIFICAR_LOGIN
,
HttpRequest
.
POST
,
new
JSONObject
(
"{}"
),
auth
);
valid
=
new
JSONObject
(
respuesta
);
if
(
valid
.
getBoolean
(
"status"
))
{
JSONObject
menu
=
new
JSONObject
(
valid
.
getString
(
"menu"
));
//Obtiene el menu
List
<
Object
>
vistas
=
new
ArrayList
<>();
JSONObject
rolvista
=
valid
.
getJSONObject
(
"rolvista"
);
JSONArray
urls
=
rolvista
.
getJSONArray
(
"vistas"
);
for
(
int
i
=
0
;
i
<
urls
.
length
();
i
++)
{
vistas
.
add
(
urls
.
get
(
i
));
}
vistas
.
add
(
"main.jsp"
);
String
ruta
=
request
.
getRequestURI
();
int
indice
=
GeneralUtils
.
obtenerIndex
(
ruta
);
String
rutaJsp
=
ruta
.
substring
(
indice
,
ruta
.
length
());
boolean
acceso
=
vistas
.
contains
(
rutaJsp
);
if
(!
acceso
)
{
request
.
getSession
().
setAttribute
(
"error"
,
"no tiene acceso a la vista solicitada"
);
//Esta session se elimina en el jsp (para que no ocupe memoria)
// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
response
.
sendRedirect
(
"error/error.jsp"
);
return
;
}
session
.
setAttribute
(
"menu"
,
menu
.
toString
());
}
else
{
deleteCredenciales
(
response
,
request
);
request
.
getSession
().
setAttribute
(
"error"
,
"no tiene credenciales validas"
);
// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
response
.
sendRedirect
(
"error/error.jsp"
);
return
;
///*
// * To change this license header, choose License Headers in Project Properties.
// * To change this template file, choose Tools | Templates
// * and open the template in the editor.
// */
//package asistencia.filters;
//
//import java.io.IOException;
//import java.io.PrintStream;
//import java.io.PrintWriter;
//import java.io.StringWriter;
//import java.util.ArrayList;
//import java.util.List;
//import javax.servlet.Filter;
//import javax.servlet.FilterChain;
//import javax.servlet.FilterConfig;
//import javax.servlet.ServletException;
//import javax.servlet.ServletRequest;
//import javax.servlet.ServletResponse;
//import javax.servlet.annotation.WebFilter;
//import javax.servlet.http.Cookie;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//import javax.ws.rs.WebApplicationException;
//import javax.ws.rs.core.Response;
//import org.json.JSONArray;
//import org.json.JSONObject;
//import asistencia.config.RequestPath;
//import asistencia.utilities.GeneralUtils;
//import asistencia.utilities.HttpRequest;
//
///**
// *
// * @author sistem08user
// */
//@WebFilter(filterName = "RequestFilter", urlPatterns = {"/*"})
//public class RequestFilter implements Filter {
//
// // The filter configuration object we are associated with. If
// // this value is null, this filter instance is not currently
// // configured.
// private FilterConfig filterConfig = null;
//
// public RequestFilter() {
// }
//
// private void doBeforeProcessing(ServletRequest req, ServletResponse resp, FilterChain chain)
// throws IOException, ServletException {
// HttpServletRequest request = (HttpServletRequest) req;
// HttpServletResponse response = (HttpServletResponse) resp;
// String uri = request.getRequestURI();
//
// if (uri.endsWith("Asistencia") || uri.endsWith("Asistencia/")
// || uri.contains("vistas/index.jsp")
// || uri.contains("plantilla/assets") || uri.endsWith(".js") || uri.endsWith(".css")
// || uri.endsWith(".png") || uri.endsWith(".jpg") || uri.endsWith(".gif")
// || uri.contains("/login") || uri.contains("vistas/redireccionarServlet")
// || uri.contains("vistas/interceptar")) {
// chain.doFilter(request, response);
// } else {
// if (request.getSession().getAttribute("codigo") != null) {
// if (uri.endsWith(".jsp")) {
// HttpSession session = request.getSession();
// HttpRequest httpRequest = new HttpRequest();
// JSONObject valid = null;
// String respuesta = "";
// String auth = "";
// try {
// if (session.getAttribute("Authorization") != null) {
// auth = (String) session.getAttribute("Authorization");
// } else {
// setError(response);
}
}
catch
(
Exception
ex
)
{
request
.
getSession
().
setAttribute
(
"error"
,
ex
.
getMessage
());
// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
response
.
sendRedirect
(
"error/error.jsp"
);
return
;
// setError(response);
}
}
chain
.
doFilter
(
request
,
response
);
}
else
{
deleteCredenciales
(
response
,
request
);
response
.
sendRedirect
(
"index.jsp"
);
}
}
}
private
void
deleteCredenciales
(
HttpServletResponse
response
,
HttpServletRequest
request
)
{
Cookie
cookieAuth
=
new
Cookie
(
"Authorization"
,
""
);
cookieAuth
.
setMaxAge
(
0
);
request
.
getSession
().
invalidate
();
response
.
addCookie
(
cookieAuth
);
}
private
void
sendError
(
HttpServletResponse
response
)
throws
IOException
{
response
.
setStatus
(
HttpServletResponse
.
SC_UNAUTHORIZED
);
response
.
sendError
(
401
);
}
public
void
setError
(
HttpServletResponse
response
)
throws
IOException
{
Response
.
ResponseBuilder
builder
=
null
;
sendError
(
response
);
builder
=
Response
.
status
(
Response
.
Status
.
UNAUTHORIZED
).
entity
(
response
);
throw
new
WebApplicationException
(
builder
.
build
());
}
private
void
doAfterProcessing
(
ServletRequest
request
,
ServletResponse
response
)
throws
IOException
,
ServletException
{
}
public
void
doFilter
(
ServletRequest
req
,
ServletResponse
resp
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
System
.
out
.
println
(
"Entrando al filtro"
);
doBeforeProcessing
(
req
,
resp
,
chain
);
// chain.doFilter(req, resp);
doAfterProcessing
(
req
,
resp
);
}
/**
* Return the filter configuration object for this filter.
*/
public
FilterConfig
getFilterConfig
()
{
return
(
this
.
filterConfig
);
}
/**
* Set the filter configuration object for this filter.
*
* @param filterConfig The filter configuration object
*/
public
void
setFilterConfig
(
FilterConfig
filterConfig
)
{
this
.
filterConfig
=
filterConfig
;
}
/**
* Destroy method for this filter
*/
public
void
destroy
()
{
}
/**
* Init method for this filter
*/
public
void
init
(
FilterConfig
filterConfig
)
{
}
private
void
sendProcessingError
(
Throwable
t
,
ServletResponse
response
)
{
String
stackTrace
=
getStackTrace
(
t
);
if
(
stackTrace
!=
null
&&
!
stackTrace
.
equals
(
""
))
{
try
{
response
.
setContentType
(
"text/html"
);
PrintStream
ps
=
new
PrintStream
(
response
.
getOutputStream
());
PrintWriter
pw
=
new
PrintWriter
(
ps
);
pw
.
print
(
"<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"
);
//NOI18N
// PENDING! Localize this for next official release
pw
.
print
(
"<h1>The resource did not process correctly</h1>\n<pre>\n"
);
pw
.
print
(
stackTrace
);
pw
.
print
(
"</pre></body>\n</html>"
);
//NOI18N
pw
.
close
();
ps
.
close
();
response
.
getOutputStream
().
close
();
}
catch
(
Exception
ex
)
{
}
}
else
{
try
{
PrintStream
ps
=
new
PrintStream
(
response
.
getOutputStream
());
t
.
printStackTrace
(
ps
);
ps
.
close
();
response
.
getOutputStream
().
close
();
}
catch
(
Exception
ex
)
{
}
}
}
public
static
String
getStackTrace
(
Throwable
t
)
{
String
stackTrace
=
null
;
try
{
StringWriter
sw
=
new
StringWriter
();
PrintWriter
pw
=
new
PrintWriter
(
sw
);
t
.
printStackTrace
(
pw
);
pw
.
close
();
sw
.
close
();
stackTrace
=
sw
.
getBuffer
().
toString
();
}
catch
(
Exception
ex
)
{
}
return
stackTrace
;
}
public
void
log
(
String
msg
)
{
filterConfig
.
getServletContext
().
log
(
msg
);
}
}
// }
// respuesta = httpRequest.getRespuesta(RequestPath.VERIFICAR_LOGIN, HttpRequest.POST, new JSONObject("{}"), auth);
// valid = new JSONObject(respuesta);
// if (valid.getBoolean("status")) {
// JSONObject menu = new JSONObject(valid.getString("menu"));//Obtiene el menu
// List<Object> vistas = new ArrayList<>();
// JSONObject rolvista = valid.getJSONObject("rolvista");
// JSONArray urls = rolvista.getJSONArray("vistas");
// for (int i = 0; i < urls.length(); i++) {
// vistas.add(urls.get(i));
// }
// vistas.add("main.jsp");
// String ruta = request.getRequestURI();
// int indice = GeneralUtils.obtenerIndex(ruta);
// String rutaJsp = ruta.substring(indice, ruta.length());
// boolean acceso = vistas.contains(rutaJsp);
// if (!acceso) {
// request.getSession().setAttribute("error", "no tiene acceso a la vista solicitada");//Esta session se elimina en el jsp (para que no ocupe memoria)
//// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
// response.sendRedirect("error/error.jsp");
// return;
// }
// session.setAttribute("menu", menu.toString());
// } else {
// deleteCredenciales(response, request);
// request.getSession().setAttribute("error", "no tiene credenciales validas");
//// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
// response.sendRedirect("error/error.jsp");
// return;
//// setError(response);
// }
// } catch (Exception ex) {
// request.getSession().setAttribute("error", ex.getMessage());
//// request.getRequestDispatcher("/vistas/error.jsp").forward(request, response);
// response.sendRedirect("error/error.jsp");
// return;
//// setError(response);
// }
// }
// chain.doFilter(request, response);
// } else {
// deleteCredenciales(response, request);
// response.sendRedirect("index.jsp");
// }
// }
// }
//
// private void deleteCredenciales(HttpServletResponse response, HttpServletRequest request) {
// Cookie cookieAuth = new Cookie("Authorization", "");
// cookieAuth.setMaxAge(0);
// request.getSession().invalidate();
// response.addCookie(cookieAuth);
// }
//
// private void sendError(HttpServletResponse response) throws IOException {
// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
// response.sendError(401);
// }
//
// public void setError(HttpServletResponse response) throws IOException {
// Response.ResponseBuilder builder = null;
// sendError(response);
// builder = Response.status(Response.Status.UNAUTHORIZED).entity(response);
// throw new WebApplicationException(builder.build());
// }
//
// private void doAfterProcessing(ServletRequest request, ServletResponse response)
// throws IOException, ServletException {
//
// }
//
// public void doFilter(ServletRequest req, ServletResponse resp,
// FilterChain chain)
// throws IOException, ServletException {
// System.out.println("Entrando al filtro");
// doBeforeProcessing(req, resp, chain);
//
//// chain.doFilter(req, resp);
// doAfterProcessing(req, resp);
//
// }
//
// /**
// * Return the filter configuration object for this filter.
// */
// public FilterConfig getFilterConfig() {
// return (this.filterConfig);
// }
//
// /**
// * Set the filter configuration object for this filter.
// *
// * @param filterConfig The filter configuration object
// */
// public void setFilterConfig(FilterConfig filterConfig) {
// this.filterConfig = filterConfig;
// }
//
// /**
// * Destroy method for this filter
// */
// public void destroy() {
// }
//
// /**
// * Init method for this filter
// */
// public void init(FilterConfig filterConfig) {
//
// }
//
// private void sendProcessingError(Throwable t, ServletResponse response) {
// String stackTrace = getStackTrace(t);
//
// if (stackTrace != null && !stackTrace.equals("")) {
// try {
// response.setContentType("text/html");
// PrintStream ps = new PrintStream(response.getOutputStream());
// PrintWriter pw = new PrintWriter(ps);
// pw.print("<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"); //NOI18N
//
// // PENDING! Localize this for next official release
// pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n");
// pw.print(stackTrace);
// pw.print("</pre></body>\n</html>"); //NOI18N
// pw.close();
// ps.close();
// response.getOutputStream().close();
// } catch (Exception ex) {
// }
// } else {
// try {
// PrintStream ps = new PrintStream(response.getOutputStream());
// t.printStackTrace(ps);
// ps.close();
// response.getOutputStream().close();
// } catch (Exception ex) {
// }
// }
// }
//
// public static String getStackTrace(Throwable t) {
// String stackTrace = null;
// try {
// StringWriter sw = new StringWriter();
// PrintWriter pw = new PrintWriter(sw);
// t.printStackTrace(pw);
// pw.close();
// sw.close();
// stackTrace = sw.getBuffer().toString();
// } catch (Exception ex) {
// }
// return stackTrace;
// }
//
// public void log(String msg) {
// filterConfig.getServletContext().log(msg);
// }
//
//}
src/main/java/asistencia/filters/RequestsFilter.java
0 → 100644
View file @
d0472b18
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
asistencia
.
filters
;
import
asistencia.config.RequestPath
;
import
asistencia.utilities.GeneralUtils
;
import
asistencia.utilities.HttpRequest
;
import
java.io.IOException
;
import
java.io.PrintStream
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.servlet.Filter
;
import
javax.servlet.FilterChain
;
import
javax.servlet.FilterConfig
;
import
javax.servlet.ServletException
;
import
javax.servlet.ServletRequest
;
import
javax.servlet.ServletResponse
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpSession
;
import
javax.ws.rs.WebApplicationException
;
import
javax.ws.rs.core.Response
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
/**
*
* @author Percy Oliver Quispe Huarcaya
*/
public
class
RequestsFilter
implements
Filter
{
private
FilterConfig
filterConfig
=
null
;
public
RequestsFilter
()
{
}
private
void
doBeforeProcessing
(
ServletRequest
req
,
ServletResponse
resp
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
HttpServletResponse
response
=
(
HttpServletResponse
)
resp
;
String
uri
=
request
.
getRequestURI
();
if
(
uri
.
endsWith
(
"vistas/index.jsp"
)){
if
(
request
.
getSession
().
getAttribute
(
"codigo"
)
!=
null
)
{
response
.
sendRedirect
(
"main.jsp"
);
return
;
}
chain
.
doFilter
(
req
,
resp
);
}
else
{
if
(
request
.
getSession
().
getAttribute
(
"codigo"
)
!=
null
)
{
if
(
uri
.
endsWith
(
".jsp"
))
{
HttpSession
session
=
request
.
getSession
();
HttpRequest
httpRequest
=
new
HttpRequest
();
JSONObject
valid
=
null
;
String
respuesta
=
""
;
String
auth
=
""
;
try
{
if
(
session
.
getAttribute
(
"Authorization"
)
!=
null
)
{
auth
=
(
String
)
session
.
getAttribute
(
"Authorization"
);
}
else
{
setError
(
response
);
}
respuesta
=
httpRequest
.
getRespuesta
(
RequestPath
.
VERIFICAR_LOGIN
,
HttpRequest
.
POST
,
new
JSONObject
(
"{}"
),
auth
);
valid
=
new
JSONObject
(
respuesta
);
if
(
valid
.
getBoolean
(
"status"
))
{
JSONObject
menu
=
new
JSONObject
(
valid
.
getString
(
"menu"
));
//Obtiene el menu
List
<
Object
>
vistas
=
new
ArrayList
<>();
JSONObject
rolvista
=
valid
.
getJSONObject
(
"rolvista"
);
JSONArray
urls
=
rolvista
.
getJSONArray
(
"vistas"
);
for
(
int
i
=
0
;
i
<
urls
.
length
();
i
++)
{
vistas
.
add
(
urls
.
get
(
i
));
}
String
ruta
=
request
.
getRequestURI
();
int
indice
=
GeneralUtils
.
obtenerIndex
(
ruta
);
String
rutaJsp
=
ruta
.
substring
(
indice
,
ruta
.
length
());
boolean
acceso
=
vistas
.
contains
(
rutaJsp
);
if
(!
acceso
)
{
request
.
getSession
().
setAttribute
(
"error"
,
"no tiene acceso a la vista solicitada"
);
//Esta session se elimina en el jsp (para que no ocupe memoria)
request
.
getRequestDispatcher
(
"/vistas/error.jsp"
).
forward
(
request
,
response
);
return
;
}
session
.
setAttribute
(
"menu"
,
menu
.
toString
());
}
else
{
deleteCredenciales
(
response
,
request
);
request
.
getSession
().
setAttribute
(
"error"
,
"no tiene credenciales validas"
);
request
.
getRequestDispatcher
(
"/vistas/error.jsp"
).
forward
(
request
,
response
);
return
;
}
}
catch
(
Exception
ex
)
{
request
.
getSession
().
setAttribute
(
"error"
,
ex
.
getMessage
());
request
.
getRequestDispatcher
(
"/vistas/error.jsp"
).
forward
(
request
,
response
);
return
;
}
}
chain
.
doFilter
(
request
,
response
);
}
else
{
deleteCredenciales
(
response
,
request
);
request
.
getSession
().
setAttribute
(
"error"
,
"no tiene una sesion activa"
);
request
.
getRequestDispatcher
(
"/vistas/error.jsp"
).
forward
(
request
,
response
);
}
}
}
private
void
deleteCredenciales
(
HttpServletResponse
response
,
HttpServletRequest
request
)
{
request
.
getSession
().
invalidate
();
Cookie
cookieAuth
=
new
Cookie
(
"Authorization"
,
""
);
cookieAuth
.
setMaxAge
(
0
);
response
.
addCookie
(
cookieAuth
);
}
private
void
sendError
(
HttpServletResponse
response
)
throws
IOException
{
response
.
setStatus
(
HttpServletResponse
.
SC_UNAUTHORIZED
);
response
.
sendError
(
401
);
}
public
void
setError
(
HttpServletResponse
response
)
throws
IOException
{
Response
.
ResponseBuilder
builder
=
null
;
sendError
(
response
);
builder
=
Response
.
status
(
Response
.
Status
.
UNAUTHORIZED
).
entity
(
response
);
throw
new
WebApplicationException
(
builder
.
build
());
}
private
void
doAfterProcessing
(
ServletRequest
request
,
ServletResponse
response
)
throws
IOException
,
ServletException
{
// Write code here to process the request and/or response after
// the rest of the filter chain is invoked.
// For example, a logging filter might log the attributes on the
// request object after the request has been processed.
/*
for (Enumeration en = request.getAttributeNames(); en.hasMoreElements(); ) {
String name = (String)en.nextElement();
Object value = request.getAttribute(name);
log("attribute: " + name + "=" + value.toString());
}
*/
// For example, a filter might append something to the response.
/*
PrintWriter respOut = new PrintWriter(response.getWriter());
respOut.println("<P><B>This has been appended by an intrusive filter.</B>");
*/
}
/**
*
* @param request The servlet request we are processing
* @param response The servlet response we are creating
* @param chain The filter chain we are processing
*
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public
void
doFilter
(
ServletRequest
request
,
ServletResponse
response
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
doBeforeProcessing
(
request
,
response
,
chain
);
// chain.doFilter(request, response);
doAfterProcessing
(
request
,
response
);
}
/**
* Return the filter configuration object for this filter.
*/
public
FilterConfig
getFilterConfig
()
{
return
(
this
.
filterConfig
);
}
/**
* Set the filter configuration object for this filter.
*
* @param filterConfig The filter configuration object
*/
public
void
setFilterConfig
(
FilterConfig
filterConfig
)
{
this
.
filterConfig
=
filterConfig
;
}
/**
* Destroy method for this filter
*/
public
void
destroy
()
{
}
/**
* Init method for this filter
*/
public
void
init
(
FilterConfig
filterConfig
)
{
this
.
filterConfig
=
filterConfig
;
if
(
filterConfig
!=
null
)
{
}
}
/**
* Return a String representation of this object.
*/
@Override
public
String
toString
()
{
if
(
filterConfig
==
null
)
{
return
(
"RequestsFilter()"
);
}
StringBuffer
sb
=
new
StringBuffer
(
"RequestsFilter("
);
sb
.
append
(
filterConfig
);
sb
.
append
(
")"
);
return
(
sb
.
toString
());
}
private
void
sendProcessingError
(
Throwable
t
,
ServletResponse
response
)
{
String
stackTrace
=
getStackTrace
(
t
);
if
(
stackTrace
!=
null
&&
!
stackTrace
.
equals
(
""
))
{
try
{
response
.
setContentType
(
"text/html"
);
PrintStream
ps
=
new
PrintStream
(
response
.
getOutputStream
());
PrintWriter
pw
=
new
PrintWriter
(
ps
);
pw
.
print
(
"<html>\n<head>\n<title>Error</title>\n</head>\n<body>\n"
);
//NOI18N
// PENDING! Localize this for next official release
pw
.
print
(
"<h1>The resource did not process correctly</h1>\n<pre>\n"
);
pw
.
print
(
stackTrace
);
pw
.
print
(
"</pre></body>\n</html>"
);
//NOI18N
pw
.
close
();
ps
.
close
();
response
.
getOutputStream
().
close
();
}
catch
(
Exception
ex
)
{
}
}
else
{
try
{
PrintStream
ps
=
new
PrintStream
(
response
.
getOutputStream
());
t
.
printStackTrace
(
ps
);
ps
.
close
();
response
.
getOutputStream
().
close
();
}
catch
(
Exception
ex
)
{
}
}
}
public
static
String
getStackTrace
(
Throwable
t
)
{
String
stackTrace
=
null
;
try
{
StringWriter
sw
=
new
StringWriter
();
PrintWriter
pw
=
new
PrintWriter
(
sw
);
t
.
printStackTrace
(
pw
);
pw
.
close
();
sw
.
close
();
stackTrace
=
sw
.
getBuffer
().
toString
();
}
catch
(
Exception
ex
)
{
}
return
stackTrace
;
}
public
void
log
(
String
msg
)
{
filterConfig
.
getServletContext
().
log
(
msg
);
}
}
src/main/webapp/WEB-INF/web.xml
View file @
d0472b18
<?xml version="1.0" encoding="UTF-8"?>
<web-app
version=
"3.1"
xmlns=
"http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
>
<filter>
<filter-name>
RequestsFilter
</filter-name>
<filter-class>
asistencia.filters.RequestsFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>
RequestsFilter
</filter-name>
<url-pattern>
/servlet/*
</url-pattern>
<url-pattern>
*.jsp
</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>
InterceptarRedireccionServlet
</servlet-name>
<servlet-class>
asistencia.servlets.InterceptarRedireccionServlet
</servlet-class>
...
...
@@ -32,13 +41,10 @@
<servlet-name>
RedireccionarServlet
</servlet-name>
<url-pattern>
/vistas/redireccionarServlet
</url-pattern>
</servlet-mapping>
<error-page>
<error-code>
404
</error-code>
<location>
/vistas/error/error.jsp
</location>
</error-page>
<session-config>
<session-timeout>
30
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment