zoukankan      html  css  js  c++  java
  • 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大师代发,拒绝转载,转载需要作者授权

  • 相关阅读:
    模块介绍
    homebrew 更改镜像,进行成功安装
    必须要会的 50 个 React 面试题
    聚合
    mongodb高级聚合查询
    一款好用 mongodb 可视化工具
    在Mac上安装MongoDB,配置全局路径
    深入Vue2.x的虚拟DOM diff原理
    H5在WebView上开发小结
    接口文档RAP2 环境搭建(正常搭建成功)
  • 原文地址:https://www.cnblogs.com/demodashi/p/8509418.html
Copyright © 2011-2022 走看看