0 xml 설정 Spring MVC 필터
7288 단어 web
Spring MVC 에 서 는 문자 인 코딩 을 위 한 필 터 를 제공 합 니 다.따라서 필터 로 계승 할 수 있 습 니 다.
방식 1:
사용자 정의 Filter
CharacterEncodingFilter
설명 을 추가 하지 마 십시오:public class MyFilter extends CharacterEncodingFilter{
public MyFilter(String encoding, boolean forceRequestEncoding, boolean forceResponseEncoding) {
super(encoding, forceRequestEncoding, forceResponseEncoding);
}
}
자바 기반 초기 화 기 를 사용자 정의 합 니 다 (임의의 수량 을 정의 할 수 있 습 니 다)
public class MyInitializer implements WebApplicationInitializer{
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
// Filter
FilterRegistration.Dynamic dynamic=servletContext.addFilter("myFilter",
new MyFilter("UTF-8",true,true));
dynamic.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*"); // Filter
}
}
Controller
@Controller
public class HomeController {
@RequestMapping(value = "/viewAll")
public ModelAndView viewAll(String name,String password) {
ModelAndView mv=new ModelAndView();
System.out.println("name: "+name);
System.out.println("password: "+password);
mv.setViewName("home"); // home.jsp
return mv;
}
}
로그 인 JSP:
"text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>logintitle>
head>
<body>
<h2> h2>
8080 --%>
<form name="form" action="/mvc/viewAll" method="post">
<input type="text" name="name"> <br>
<input type="password" name="password"><br>
<input type="submit" name="login">
form>
body>
html>
사실 사용자 정의 Filter 를 사용 하지 않 고 직접 사용 하면 됩 니 다
@WebFilter(filterName = "MyFilter",urlPatterns = "/*")
.방식 2:
필터 의 설정 은 같 지만 초기 화 기 를 통 해 Filter 를 등록 하 는 것 은 아니 지만, 이러한 방식 은 Servlet 3.0 이상 을 요구 합 니 다.
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class>[] getRootConfigClasses() {
return new Class>[]{RootConfig.class};
}
@Override
protected Class>[] getServletConfigClasses() {
return new Class>[]{WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
// Filter, Filter DispatcherServlet ,
@Override
protected Filter[] getServletFilters() {
return new Filter[]{new MyFilter("UTF-8",true,true)};
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Portswigger의 연구실 작성: CSRF 토큰 보호를 사용한 기본 클릭재킹이 견습생 수준 실습에서는 일부 CSRF 토큰 보호가 있음에도 불구하고 클릭재킹에 취약한 웹사이트에서 계정 삭제 흐름을 악용합니다. 주어진 자격 증명으로 로그인하면 계정 페이지로 이동한 후 사용자 계정을 삭제하는 데...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.