pringMVC入门到搭建

​ 本篇内容主要是springMVC的入门应用,大体会说明springMVC的工作流程,简单的使用springMVC进行视图渲染,不会过多的讲解JSP内容,原因是实际开发中基本不会使用到JSP;structs已被淘汰,读者不应该发时间学习这些过期技术;

​ 说到spirngMVC,最重要的还是懂什么MVC,因为不管那种语言,所有的编程思想都相同,前端的编程语言,后端的编程语言都会用MVC;MVC(Model-View-Controller), Model 是指数据模型,后端常见的就是将数据封装进实体;View表示视图,常见的视图有 JSP,Thymeleaf;Controller 表示控制器,控制器的作用处理客户端发起的请求,对用户提交的信息进行处理;

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 SpringMVC工作流程

前端控制器
处理映射器
控制器
控制器
视图解析器

三 springMVC入门搭建

3.1 搭建工程

在IDEA中使用 maven 模板 创建 spring WEB 项目

创建完成的项目在main目录下面只有 webapp 目录,需要补充 java , resources 文件夹;并且点击 java目录右键,mark directory as Source Root , 标记 resources 目录为 Resource Root ;

除了spring核心依赖还需要如下依赖引入

<dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.0.1.RELEASE</version>
    </dependency>
    <!-- servlet依赖 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
复制代码

web 项目打包方式为 war包,如果不支持支持maven打包为war包还需要引入 插件

<packaging>war</packaging>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
    </plugins>
  </build>
复制代码

3.2 webConfig

在 java目录下新建com.zszxz.config包, 对视图配置如下

/**
 * @Author lsc
 * <p> </p>
 */
@Configuration
@EnableWebMvc// 启用springMVC
@ComponentScan("com.zszxz.controller")// 组件扫描
public class WebConfig implements WebMvcConfigurer{

    // 视图解析器
    @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) {
        configurer.enable();
    }
}
复制代码

dispatcher,配置如下,其作用代替web.xml配置

/**
 * @Author lsc
 * <p> </p>
 */
public class WebAppInitializer implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.register(WebConfig.class);
        context.setServletContext(servletContext);

        ServletRegistration.Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
        servlet.addMapping("/");
        servlet.setLoadOnStartup(1);
    }
}
复制代码

3.3 controller

在com.zszxz下新建controller 包, HelloController 内容如下

/**
 * @Author lsc
 * <p> </p>
 */
@Controller// 声明一个控制器
public class HelloController {

    // 接收GET请求
    @RequestMapping(value = "/zszxz",method = RequestMethod.GET)
    public String hello(){
        // 视图名称
        return "hello";
    }
}
复制代码

3.4 hello.jsp

因为 视图解析配置的路径是 /WEB-INF/views/ , 故 需要在 webapp/WEB-INF 底下 新建 views 目录; 由于 控制层编写的 hello 方法 的视图名称是 hello, 故需要在 views目录下新建 hello.jsp 内容如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    hello springMVC
</body>
</html>
复制代码

3.5 IDEA中配置tomcat

tomcat 官网 tomcat.apache.org/

  • IDEA 右上角点击Add Configuration;
  • 页面点击 + 号, 找到 tomcat , 选择Local;
  • server选项卡中点击configure..按钮配置 tomcat 解压目录;
  • deploment 中 选择 + 号,添加当前工程后确定

最终配置显示如下

配置成功后,在 IDEA下方会弹出Tomcat 栏目, 启动工程 默认 弹到 http://localhost:8080/spring_mvc_war/ 页面 ,也就是 Index 页面内容 ;

浏览器地址输入 http://localhost:8080/spring_mvc_war/zszxz 页面 转发成功,内容如下

hello springMVC
复制代码
我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章