SpringMVC+Maven開發項目源碼詳細介紹


代碼地址如下:
http://www.demodashi.com/demo/11638.html

Spring MVC概述

Spring MVC框架是一個開源的Java平台,為開發強大的基於Java的Web應用程序提供全面的基礎架構支持非常容易和非常快速。

Spring web MVC框架提供了MVC(模型 - 視圖 - 控制器)架構和用於開發靈活和松散耦合的Web應用程序的組件。

MVC模式導致應用程序的不同方面(輸入邏輯,業務邏輯和UI邏輯)分離,同時提供這些元素之間的松散耦合。

  • 模型(Model)封裝了應用程序數據,通常它們將由POJO類組成。

  • 視圖(View)負責渲染模型數據,一般來說它生成客戶端瀏覽器可以解釋HTML輸出。

  • 控制器(Controller)負責處理用戶請求並構建適當的模型,並將其傳遞給視圖進行渲染。

項目目錄結構

主要代碼說明

1、添加控制器

控制器處理GET和POST請求。

@Controller表明這個類是一個控制器在處理具有模式映射的@RequestMapping請求。這里使用 ‘/’, 它被作為默認的控制器。

方法inputCorpus注解為RequestMethod.GET服務默認是GET請求,並呈現包含空白表單的網頁。

方法nliProcess注解為RequestMethod.POST服務處理表單提交POST請求。

@Valid要求spring來驗證相關的對象(CorpusInfo)。

@Controller
@RequestMapping("/")
public class DemoController {

    private NLIProcess nli = new NLIProcess();

    @RequestMapping(method = RequestMethod.GET)
    public String inputCorpus(ModelMap model) {
        CorpusInfo cinfo = new CorpusInfo();
        model.addAttribute("cinfo", cinfo);
        return "enroll";
    }

    @RequestMapping(method=RequestMethod.POST)
    public String nliProcess(@Valid  @ModelAttribute("cinfo") CorpusInfo cinfo,
            BindingResult result, ModelMap model) {

        if (result.hasErrors()) {
            return "enroll";
        }
        model.addAttribute("answer", nli.getAnswer(cinfo.getCorpus()));
        return "success";
    }

}
2、添加配置類

@Configuration指示該類包含注解為@Bean生產Bean管理是由Spring容器的一個或多個 bean 的方法。

@EnableWebMvc 等效於 mvc:annotation-driven 在XML文件中。

@ComponentScan 等效於 context:component-scan base-package=”…” 提供具有到哪里查找管理Spring beans/類。

方法ViewResolver 配置一個 ViewResolver 用來找出真正的視圖。

方法 addResourceHandlers 配置 ResourceHandler 靜態資源。例子中,將css文件放在 Web應用程序的 /static/css 目錄中。

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.demo")
public class DemoConfiguration extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/views/");
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }

    @Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("messages");
        return messageSource;
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("/static/");
    }
}

方法messageSource 配置消息包,以支持[國際化]消息屬性文件。Spring 將搜索應用程序類路徑中一個名為messages.properties文件:

Size.cinfo.corpus=corpus must be between {2} and {1} characters long

項目運行效果

運行應用程序,訪問URL:http://localhost:8080/SpringMVCDemoNLI


SpringMVC+Maven開發項目源碼詳細介紹

代碼地址如下:
http://www.demodashi.com/demo/11638.html

注:本文著作權歸作者,由demo大師代發,拒絕轉載,轉載需要作者授權


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM