@Override
public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain)
throws IOException, ServletException {
final HttpServletRequest request = (HttpServletRequest) req;
final String authHeader = request.getHeader("Authorization");
if (authHeader == null || !authHeader.startsWith("Bearer ")) {
ExceptionUtils.createUnauthorizedException("Missing or invalid Authorization header.", res);
return;
}
try {
final String token = authHeader.substring(7); // The part after "Bearer "
final Claims claims =
Jwts.parser().setSigningKey("secretkey").parseClaimsJws(token).getBody();
request.setAttribute("claims", claims);
} catch (final Exception e) {
ExceptionUtils.createUnauthorizedException("Invalid token", res);
return;
}
chain.doFilter(req, res);
}
java类javax.servlet.ServletRequest的实例源码
JwtFilter.java 文件源码
项目:IPPR2016
阅读 39
收藏 0
点赞 0
评论 0
AuthorizationFilter.java 文件源码
项目:oscm
阅读 32
收藏 0
点赞 0
评论 0
private void send401(ServletRequest httpRequest,
HttpServletResponse httpResponse, HttpSession session, boolean asTM) {
// Return 401 error
String clientLocale = httpRequest.getLocale().getLanguage();
if (clientLocale.equals(LOCALE_JA)) {
clientLocale = LOCALE_DEFAULT;
}
httpResponse.setHeader(
"WWW-Authenticate",
"Basic realm=\""
+ Messages.get(clientLocale,
(asTM ? "ui.config.authentication.tm"
: "ui.config.authentication.appadmin"))
+ "\"");
httpResponse.setStatus(401);
session.invalidate();
}
MediaSecurityFilter.java 文件源码
项目:logistimo-web-service
阅读 31
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
String servletPath = req.getServletPath() + req.getPathInfo();
xLogger.fine("Servlet path: ", servletPath);
if (req.getCharacterEncoding() == null) {
request.setCharacterEncoding(Constants.UTF8);
}
if (!(StringUtils.isNotBlank(servletPath) && servletPath.startsWith(MEDIA_ENDPOINT_URL))) {
resp.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
}
if (filterChain != null) {
filterChain.doFilter(request, response);
}
}
ApplicationDispatcher.java 文件源码
项目:lazycat
阅读 27
收藏 0
点赞 0
评论 0
@Override
public void dispatch(ServletRequest request, ServletResponse response) throws ServletException, IOException {
if (Globals.IS_SECURITY_ENABLED) {
try {
PrivilegedDispatch dp = new PrivilegedDispatch(request, response);
AccessController.doPrivileged(dp);
} catch (PrivilegedActionException pe) {
Exception e = pe.getException();
if (e instanceof ServletException)
throw (ServletException) e;
throw (IOException) e;
}
} else {
doDispatch(request, response);
}
}
XSSFilter.java 文件源码
项目:unitimes
阅读 29
收藏 0
点赞 0
评论 0
/**
* @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest,
* javax.servlet.ServletResponse, javax.servlet.FilterChain)
*/
public void doFilter( ServletRequest request,
ServletResponse response,
FilterChain chain ) throws IOException, ServletException {
// Get Filter Init Parameters
String replaceStrParam = filterConfig.getInitParameter("replace_string");
String addlCharsParam = filterConfig.getInitParameter("additional_chars");
// Set variables
if(replaceStrParam!=null)
replaceStr = replaceStrParam;
if(addlCharsParam!=null)
addlChars = addlCharsParam;
// Construct allowed characters pattern
String charPattern = "([^" + charsAllowed + addlChars + "]+)(%0A)";
// Instantiate actual filter
RequestXSSFilter rxs = new RequestXSSFilter(
(HttpServletRequest) request, replaceStr, charPattern);
// Process request
chain.doFilter(rxs,response);
}
ApplicationRequest.java 文件源码
项目:lams
阅读 33
收藏 0
点赞 0
评论 0
/**
* Set the request that we are wrapping.
*
* @param request The new wrapped request
*/
public void setRequest(ServletRequest request) {
super.setRequest(request);
// Initialize the attributes for this request
synchronized (attributes) {
attributes.clear();
Enumeration names = request.getAttributeNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
Object value = request.getAttribute(name);
attributes.put(name, value);
}
}
}
PageFilter.java 文件源码
项目:BasicsProject
阅读 29
收藏 0
点赞 0
评论 0
/**这个方法完成实际的过滤操作。当客户请求访问与过滤器关联的URL的时候,Servlet过滤器将先执行doFilter方法。FilterChain参数用于访问后续过滤器。*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
//忽略不过滤页面
if(!Statics.ignore_login_page.contains(httpRequest.getServletPath())){
long memberId = StorageUtil.init(httpRequest.getSession()).getLoginMemberId();
if(memberId==ReturnUtil.NOT_LOGIN_CODE){
String url = httpRequest.getScheme()+"://"+httpRequest.getServerName()+":"+httpRequest.getServerPort()+httpRequest.getContextPath();
DataUtil.OutStreamByResponse(httpResponse, "<script type='text/javascript'>top.location.href= '"+url+Statics.Login_Page+"';</script>");
return;
}
}
chain.doFilter(request, response);
// httpRequest.getScheme();//协议类型 http
// httpRequest.getServerName();//域名 mycdsxlc.f3322.net
// httpRequest.getServerPort();//端口号 8989
// httpRequest.getContextPath();//项目名 /Report
// httpRequest.getServletPath();//请求页面 /web/index.jsp
// httpRequest.getQueryString();//参数 null
}
SafeDispatcherServlet.java 文件源码
项目:cas4.0.x-server-wechat
阅读 45
收藏 0
点赞 0
评论 0
/**
* {@inheritDoc}
* @throws ApplicationContextException if the DispatcherServlet does not
* initialize properly, but the servlet attempts to process a request.
*/
@Override
public void service(final ServletRequest req, final ServletResponse resp)
throws ServletException, IOException {
/*
* Since our container calls only this method and not any of the other
* HttpServlet runtime methods, such as doDelete(), etc., delegating
* this method is sufficient to delegate all of the methods in the
* HttpServlet API.
*/
if (this.initSuccess) {
this.delegate.service(req, resp);
} else {
throw new ApplicationContextException("Unable to initialize application context.");
}
}
ExampleFilter.java 文件源码
项目:parabuild-ci
阅读 32
收藏 0
点赞 0
评论 0
/**
* Time the processing that is performed by all subsequent filters in the
* current filter stack, including the ultimately invoked servlet.
*
* @param request The servlet request we are processing
* @param result 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 {
// Store ourselves as a request attribute (if requested)
if (attribute != null)
request.setAttribute(attribute, this);
// Time and log the subsequent processing
long startTime = System.currentTimeMillis();
chain.doFilter(request, response);
long stopTime = System.currentTimeMillis();
filterConfig.getServletContext().log
(this.toString() + ": " + (stopTime - startTime) +
" milliseconds");
}
AdminFilter.java 文件源码
项目:DDNS_Server
阅读 31
收藏 0
点赞 0
评论 0
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("LoggedUser") == null) {
response.sendRedirect(request.getContextPath() + "/index.jsp"); // No logged-in user found, so redirect to login page.
} else {
DynUser currentUser = (DynUser) session.getAttribute("LoggedUser");
if (!currentUser.isAdmin()) {
response.sendRedirect(request.getContextPath() + "/app/dashboard.jsp"); // No admin user found, so redirect to dashboard page.
} else {
chain.doFilter(req, res); // Logged-in user found, so just continue request.
}
}
}
HeaderLoggerValve.java 文件源码
项目:jerrydog
阅读 32
收藏 0
点赞 0
评论 0
@Override
public void invoke(Request request, Response response, ValveContext valveContext) throws IOException, ServletException {
valveContext.invokeNext(request, response);
System.out.println("Header Logger Valve:");
ServletRequest sreq = request.getRequest();
if(sreq instanceof HttpServletRequest){
HttpServletRequest hreq = (HttpServletRequest) sreq;
Enumeration<String> headerNames = hreq.getHeaderNames();
while (headerNames.hasMoreElements()){
String headerName = headerNames.nextElement().toString();
String headerValue = hreq.getHeader(headerName);
System.out.println(headerName + ": " + headerValue);
}
}else {
System.out.println("Not an HTTP Request");
}
System.out.println("-------------------------------------");
}
HTTPBasicAuth.java 文件源码
项目:fuck_zookeeper
阅读 37
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest req0, ServletResponse resp0,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req0;
HttpServletResponse response = (HttpServletResponse) resp0;
String authorization = request.getHeader("Authorization");
if (authorization != null) {
String c[] = parseAuthorization(authorization);
if (c != null && credentials.containsKey(c[0])
&& credentials.get(c[0]).equals(c[1])) {
chain.doFilter(request, response);
return;
}
}
response.setHeader("WWW-Authenticate", "Basic realm=\"Restricted\"");
response.sendError(401);
}
CheckSessionOutFilter.java 文件源码
项目:ssm-web
阅读 29
收藏 0
点赞 0
评论 0
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest hsrq = (HttpServletRequest) request;
HttpServletResponse hsrp = (HttpServletResponse) response;
String clientType = hsrq.getParameter("clientType");
if ("WORD".equals(clientType)) {
chain.doFilter(request, response);
} else {
SessionUser person = null;
String reqPage = hsrq.getServletPath();
if (!reqPage.trim().equals("/login.do") && !reqPage.trim().equals("/logout.do")
) {
person = (SessionUser) hsrq.getSession().getAttribute(SysConstants.SESSION_USER_KEY);
if (person == null) {
hsrp.sendRedirect("login.do");
return;
}
}
chain.doFilter(request, response);
}
}
AsyncContextImpl.java 文件源码
项目:lams
阅读 42
收藏 0
点赞 0
评论 0
public AsyncContextImpl(final HttpServerExchange exchange, final ServletRequest servletRequest, final ServletResponse servletResponse, final ServletRequestContext servletRequestContext, boolean requestSupplied, final AsyncContextImpl previousAsyncContext) {
this.exchange = exchange;
this.servletRequest = servletRequest;
this.servletResponse = servletResponse;
this.servletRequestContext = servletRequestContext;
this.requestSupplied = requestSupplied;
this.previousAsyncContext = previousAsyncContext;
initiatingThread = Thread.currentThread();
exchange.dispatch(SameThreadExecutor.INSTANCE, new Runnable() {
@Override
public void run() {
exchange.setDispatchExecutor(null);
initialRequestDone();
}
});
}
AuthorizationFilterTest.java 文件源码
项目:oscm
阅读 45
收藏 0
点赞 0
评论 0
@Test
public void handleChangeUserPasswordRequest_errorAccountNotLocked()
throws Exception {
// given
doReturn(Boolean.TRUE).when(authReqDataMock).isRequestedToChangePwd();
doReturn("secret").when(authReqDataMock).getNewPassword();
doReturn("secret").when(authReqDataMock).getNewPassword2();
doReturn(userDetails).when(identityServiceMock).getUser(
any(VOUser.class));
doReturn("error.changePassword").when(requestMock).getAttribute(
Constants.REQ_ATTR_ERROR_KEY);
// when
boolean result = authFilter
.handleChangeUserPasswordRequest(chainMock, requestMock,
responseMock, authReqDataMock, identityServiceMock);
// then
assertFalse("Unsuccessful password change", result);
verify(authFilter, never()).sendRedirect(any(HttpServletRequest.class),
any(HttpServletResponse.class), anyString());
verify(chainMock, times(2)).doFilter(any(ServletRequest.class),
any(ServletResponse.class));
}
AuthorizationFilterTest.java 文件源码
项目:oscm
阅读 44
收藏 0
点赞 0
评论 0
@Before
public void setup() throws Exception {
requestMock = mock(HttpServletRequest.class);
responseMock = mock(HttpServletResponse.class);
chainMock = mock(FilterChain.class);
authReqDataMock = mock(AuthorizationRequestData.class);
authSettingsMock = mock(AuthenticationSettings.class);
authFilter = spy(new AuthorizationFilter());
authFilter.authSettings = authSettingsMock;
doReturn(authReqDataMock).when(authFilter).initializeRequestDataObject(
any(HttpServletRequest.class));
userDetails = createCustomer();
identityServiceMock = mock(IdentityService.class);
serviceAccessMock = mock(ServiceAccess.class);
doReturn(userDetails).when(identityServiceMock).getCurrentUserDetails();
doReturn(identityServiceMock).when(serviceAccessMock).getService(
IdentityService.class);
doNothing().when(authFilter).forward(any(String.class),
any(ServletRequest.class), any(ServletResponse.class));
}
OAuth2Filter.java 文件源码
项目:renren-fast
阅读 35
收藏 0
点赞 0
评论 0
@Override
protected boolean onLoginFailure(AuthenticationToken token, AuthenticationException e, ServletRequest request, ServletResponse response) {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setContentType("application/json;charset=utf-8");
try {
//处理登录失败的异常
Throwable throwable = e.getCause() == null ? e : e.getCause();
R r = R.error(HttpStatus.SC_UNAUTHORIZED, throwable.getMessage());
String json = new Gson().toJson(r);
httpResponse.getWriter().print(json);
} catch (IOException e1) {
}
return false;
}
ExampleFilter.java 文件源码
项目:apache-tomcat-7.0.73-with-comment
阅读 38
收藏 0
点赞 0
评论 0
/**
* Time the processing that is performed by all subsequent filters in the
* current filter stack, including the ultimately invoked servlet.
*
* @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
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
// Store ourselves as a request attribute (if requested)
if (attribute != null)
request.setAttribute(attribute, this);
// Time and log the subsequent processing
long startTime = System.currentTimeMillis();
chain.doFilter(request, response);
long stopTime = System.currentTimeMillis();
filterConfig.getServletContext().log
(this.toString() + ": " + (stopTime - startTime) +
" milliseconds");
}
HttpMethodFilter.java 文件源码
项目:oscm
阅读 25
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (!(request instanceof HttpServletRequest)
|| !(response instanceof HttpServletResponse)) {
response.getWriter().print(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
HttpServletRequest httpRequest = (HttpServletRequest) request;
String method = httpRequest.getMethod();
if (forbiddenHttpMethods.contains(method)) {
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.sendError(HttpServletResponse.SC_FORBIDDEN, method
+ " not allowed.");
return;
}
chain.doFilter(request, response);
}
RoleFilter.java 文件源码
项目:webside
阅读 24
收藏 0
点赞 0
评论 0
@Override
protected boolean onAccessDenied(ServletRequest request,
ServletResponse response) throws Exception {
Subject subject = getSubject(request, response);
if (subject.getPrincipal() == null) {//表示没有登录,重定向到登录页面
saveRequest(request);
WebUtils.issueRedirect(request, response, ShiroUtils.LOGIN_URL);
} else {
if(ShiroUtils.isAjax(request)){
Map<String, Object> result = new HashMap<String, Object>();
result.put("status", "401");
result.put("message", "sorry,您没有权限");
result.put("url", ShiroUtils.UNAUTHORIZED);
ShiroUtils.writeJson(response, result);
}else
{
if (StringUtils.hasText(ShiroUtils.UNAUTHORIZED)) {//如果有未授权页面跳转过去
WebUtils.issueRedirect(request, response, ShiroUtils.UNAUTHORIZED);
} else {//否则返回401未授权状态码
WebUtils.toHttp(response).sendError(HttpServletResponse.SC_UNAUTHORIZED);
}
}
}
return false;
}
FormAuthenticationWithLockFilter.java 文件源码
项目:DWSurvey
阅读 29
收藏 0
点赞 0
评论 0
@Override
public boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
AuthenticationToken token = createToken(request, response);
if (token == null) {
String msg = "createToken method implementation returned null. A valid non-null AuthenticationToken "
+ "must be created in order to execute a login attempt.";
throw new IllegalStateException(msg);
}
if (checkIfAccountLocked(request)) {
return onLoginFailure(token, new ExcessiveAttemptsException(), request, response);
} else {
if (!doLogin(request, response, token)) {
resetAccountLock(getUsername(request));
return false;
}
return true;
}
}
WebUtils.java 文件源码
项目:atbash-octopus
阅读 33
收藏 0
点赞 0
评论 0
/**
* Redirects the to the request url from a previously
* {@link #saveRequest(ServletRequest) saved} request, or if there is no saved request, redirects the
* end user to the specified {@code fallbackUrl}. If there is no saved request or fallback url, this method
* throws an {@link IllegalStateException}.
* <p/>
* This method is primarily used to support a common login scenario - if an unauthenticated user accesses a
* page that requires authentication, it is expected that request is
* {@link #saveRequest(ServletRequest) saved} first and then redirected to the login page. Then,
* after a successful login, this method can be called to redirect them back to their originally requested URL, a
* nice usability feature.
*
* @param request the incoming request
* @param response the outgoing response
* @param fallbackUrl the fallback url to redirect to if there is no saved request available.
* @throws IllegalStateException if there is no saved request and the {@code fallbackUrl} is {@code null}.
* @throws IOException if there is an error redirecting
*/
public static void redirectToSavedRequest(ServletRequest request, ServletResponse response, String fallbackUrl)
throws IOException {
String successUrl = null;
boolean contextRelative = true;
SavedRequest savedRequest = WebUtils.getAndClearSavedRequest(request);
if (savedRequest != null && savedRequest.getMethod().equalsIgnoreCase(AccessControlFilter.GET_METHOD)) {
successUrl = savedRequest.getRequestUrl();
contextRelative = false;
}
if (successUrl == null) {
successUrl = fallbackUrl;
}
if (successUrl == null) {
throw new IllegalStateException("Success URL not available via saved request or via the " +
"successUrlFallback method parameter. One of these must be non-null for " +
"issueSuccessRedirect() to work.");
}
WebUtils.issueRedirect(request, response, successUrl, null, contextRelative);
}
AsyncContextImpl.java 文件源码
项目:lazycat
阅读 38
收藏 0
点赞 0
评论 0
public void setStarted(Context context, ServletRequest request, ServletResponse response,
boolean originalRequestResponse) {
synchronized (asyncContextLock) {
this.request.getCoyoteRequest().action(ActionCode.ASYNC_START, this);
this.context = context;
this.servletRequest = request;
this.servletResponse = response;
this.hasOriginalRequestAndResponse = originalRequestResponse;
this.event = new AsyncEvent(this, request, response);
List<AsyncListenerWrapper> listenersCopy = new ArrayList<AsyncListenerWrapper>();
listenersCopy.addAll(listeners);
listeners.clear();
for (AsyncListenerWrapper listener : listenersCopy) {
try {
listener.fireOnStartAsync(event);
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
log.warn("onStartAsync() failed for listener of type [" + listener.getClass().getName() + "]", t);
}
}
}
}
GitFilter.java 文件源码
项目:gitplex-mit
阅读 25
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
try {
if (GitSmartHttpTools.isInfoRefs(httpRequest)) {
if (gitPlex.isReady())
processRefs(httpRequest, httpResponse);
else
throw new GitException("Server is not ready");
} else if (GitSmartHttpTools.isReceivePack(httpRequest) || GitSmartHttpTools.isUploadPack(httpRequest)) {
if (gitPlex.isReady())
processPacks(httpRequest, httpResponse);
else
throw new GitException("Server is not ready");
} else {
chain.doFilter(request, response);
}
} catch (GitException|InterruptedException|ExecutionException e) {
logger.error("Error serving git request", e);
GitSmartHttpTools.sendError(httpRequest, httpResponse, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
}
}
ApplicationRequest.java 文件源码
项目:tomcat7
阅读 36
收藏 0
点赞 0
评论 0
/**
* Set the request that we are wrapping.
*
* @param request The new wrapped request
*/
@Override
public void setRequest(ServletRequest request) {
super.setRequest(request);
// Initialize the attributes for this request
synchronized (attributes) {
attributes.clear();
Enumeration<String> names = request.getAttributeNames();
while (names.hasMoreElements()) {
String name = names.nextElement();
Object value = request.getAttribute(name);
attributes.put(name, value);
}
}
}
SimpleAuthFilter.java 文件源码
项目:simpleauth
阅读 31
收藏 0
点赞 0
评论 0
@Override
public void doFilter(final ServletRequest request, final ServletResponse response,
final FilterChain chain) throws IOException, ServletException {
if (request instanceof HttpServletRequest) {
final HttpServletRequest req = ((HttpServletRequest) request);
final HttpServletResponse res = ((HttpServletResponse) response);
final String header = req.getHeader(SimpleAuth.HTTP_HEADER);
if (header != null) {
final String[] sp = header.split(" ");
// Authentication: torch TOKEN
if (sp.length == 2) {
final String scheme = sp[0], param = sp[1];
if (SimpleAuth.SCHEME.equals(scheme)) {
if (sa.verify(param)) {
chain.doFilter(request, response);
return;
}
}
}
}
if (!res.isCommitted()) {
final String err = "FORBIDDEN\r\n";
res.reset();
res.setStatus(HttpServletResponse.SC_FORBIDDEN);
res.setContentLength(err.length());
res.setContentType("text/plain");
res.setCharacterEncoding("ISO-8859-1");
res.setHeader("Pragma", "no-cache");
res.setHeader("Cache-Control", "private, no-cache, no-store, must-revalidate");
res.setHeader(getClass().getSimpleName(), "deny");
res.getWriter().print(err);
return;
}
}
if (!response.isCommitted()) {
response.reset();
}
throw new ServletException(new UnsupportedOperationException());
}
TestStandardContext.java 文件源码
项目:tomcat7
阅读 32
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
PrintWriter out = response.getWriter();
out.print(getClass().getName());
chain.doFilter(request, response);
}
ErrorToJsonFilter.java 文件源码
项目:bootstrap
阅读 30
收藏 0
点赞 0
评论 0
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException {
try {
chain.doFilter(request, response);
} catch (final Exception exception) {
// Error before security/jax-rs management
log.error("High level error", exception);
// Catch this stack
final HttpServletResponse response3 = (HttpServletResponse) response;
response3.setStatus(Status.INTERNAL_SERVER_ERROR.getStatusCode());
response3.setContentType(MediaType.APPLICATION_JSON_TYPE.toString());
response3.setCharacterEncoding(StandardCharsets.UTF_8.name());
response3.getOutputStream().write("{\"code\":\"internal\"}".getBytes(StandardCharsets.UTF_8));
response3.flushBuffer();
}
}
UrlFilter.java 文件源码
项目:Spring-Boot-Server
阅读 29
收藏 0
点赞 0
评论 0
@Override
public void doFilter(ServletRequest srequset, ServletResponse sresponse, FilterChain filterChain)
throws IOException, ServletException {
//new两个,一个用来遍历,一个用来换数据
CumServlet cumRequestWrapper=new CumServlet((HttpServletRequest) srequset);
CumServlet cumRequestWrapper2=new CumServlet((HttpServletRequest) srequset);
Iterator<Entry<String, String[]>> iterator = cumRequestWrapper.getParams().entrySet().iterator();
while(iterator.hasNext()){
Entry<String, String[]> next = iterator.next();
String key = next.getKey();
//解码两次
String decode = URLDecoder.decode(next.getValue()[0], "utf-8");
String decode2 = URLDecoder.decode(decode, "utf-8");
cumRequestWrapper2.addParameter(key, decode2);
}
filterChain.doFilter(cumRequestWrapper2, sresponse);
}
TilesUtilImpl.java 文件源码
项目:lams
阅读 27
收藏 0
点赞 0
评论 0
/**
* Get definition factory from appropriate servlet context.
* @return Definitions factory or <code>null</code> if not found.
*/
public DefinitionsFactory getDefinitionsFactory(
ServletRequest request,
ServletContext servletContext) {
return (DefinitionsFactory) servletContext.getAttribute(DEFINITIONS_FACTORY);
}