Spring in action 4 판 스프링 5 로 수정
28650 단어 구덩이
기 존 WebMvcConfigurerAdapter 를 사용 할 수 없습니다.
@EnableWebMvc 주 해 를 추가 하지 마 세 요.
그렇지 않 으 면 addResourceHandlers 가 실행 되 지 않 고 정적 자원 을 불 러 올 수 없습니다.
프로 퍼티 파일
setDefault Encoding 을 사용 하여 UTF-8 인 코딩 을 보증 하고 국제 화 정보 난 장 판 을 방지 할 수 있 습 니 다.
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("file:///D:/EclipseApp/Spittr/src/messages");
messageSource.setCacheSeconds(10);
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
라벨
@Bean
public MessageSource validationSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("file:///D:/EclipseApp/Spittr/src/ValidationMessages");
messageSource.setCacheSeconds(10);
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
@Bean
public LocalValidatorFactoryBean getValidator() {
LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean();
bean.setValidationMessageSource(validationSource());
return bean;
}
Thymeleaf 설정
ServletContextTemplate Resolver 를 사용 하여 프로젝트 의 상대 적 인 위 치 를 지정 하 는 템 플 릿 파일 입 니 다.구조 기 인 자 는 this.getServletContext()입 니 다.
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
return viewResolver;
}
@Bean
public SpringTemplateEngine templateEngine(ServletContextTemplateResolver templateResolver) {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
@Bean
public ServletContextTemplateResolver templateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(this.getServletContext());
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
return templateResolver;
}
라 이브 러 리 에 가입 할 때 소스 와 doc 를 넣 지 마 세 요.그렇지 않 으 면 잘못 보고 할 수 있 습 니 다.
Thymeleaf 인 코딩
@Bean
public ViewResolver viewResolver(SpringTemplateEngine templateEngine) {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine);
viewResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
return viewResolver;
}
@Bean
public SpringTemplateEngine templateEngine(ServletContextTemplateResolver templateResolver) {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver);
return templateEngine;
}
@Bean
public ServletContextTemplateResolver templateResolver() {
ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(this.getServletContext());
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
return templateResolver;
}
봄 보안 관련
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers(HttpMethod.POST, "/spittles").hasRole("SPITTER")
.anyRequest().permitAll()
.and()
.requiresChannel()
.antMatchers("/spitter/register").requiresSecure();
http.portMapper().http(80).mapsTo(8443);
}
}
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Spittrtitle>
head>
<body>
<h1>Welcome to Spittrh1>
<form name='f' th:action='@{/login}' method='POST'>
<table>
<tr><td>User:td><td><input type='text' name='username' value='' />td>tr>
<tr><td>Password:td><td><input type='password' name='password' value='' />td>tr>
<tr><td colspan='2'><input type='submit' name='submit' value='Login' />td>tr>
table>
form>
body>
html>
@Override
protected void configure(HttpSecurity http) throws Exception {
// http.csrf().disable();
http.authorizeRequests()
.antMatchers("/spittles").hasRole("USER")
.anyRequest().permitAll()
// .and()
// .requiresChannel()
// .antMatchers("/spitter/register").requiresSecure()
.and().formLogin()
.loginPage("/login").permitAll()
;
// http.portMapper().http(8080).mapsTo(8443);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[bug] Jupyter Notebook Kernel Error기원은fastai 라이브러리를 설치할 때 실행하는 것입니다conda env update 이름 모를 새로운 환경을 만들었다.답변 기준: but later on i find this does not work when y...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.