注釈を用いて簡単なスプリングmvcを構築する.
6307 ワード
spring mvcフローは、クライアントからのhttp要求は、springのDispactch Servlet、Disppatch Servletを経由して適切なControllerを選択し、ビューコントローラに戻ることによって適切なページを選択する.
まず、まずWebInitクラスを作ります.このクラスは主にローディングプロファイルです.(注釈向けなので、配置ファイルがないです.配置類で代替します.).このクラスはAbstractAnnotationConfigDisplatServletInitiazerから継承されています.
サーバーを起動して、Hにアクセスします.ttp://localhost:8080/home
まず、まずWebInitクラスを作ります.このクラスは主にローディングプロファイルです.(注釈向けなので、配置ファイルがないです.配置類で代替します.).このクラスはAbstractAnnotationConfigDisplatServletInitiazerから継承されています.
package config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
protected Class>[] getRootConfigClasses() {
return null;
}
@Override
protected Class>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class> [] {WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String []{"/"};
}
}
そしてWebConfig類を設立し、配置についてpackage config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan("web")
public class WebConfig extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver=
new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
// TODO Auto-generated method stub
configurer.enable();
}
}
それからControllerを書きますpackage web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import static org.springframework.web.bind.annotation.RequestMethod.*;
@Controller
public class HomeController {
@RequestMapping(value="/home",method=GET)
public String home(){
return "home";
}
}
最後に、WEB-INFでview/home.jspを作成します.サーバーを起動して、Hにアクセスします.ttp://localhost:8080/home