SpringMVC框架(一)

开篇

我在前面写了Spring,Mybatis的一些知识和用法,开始进入SpringMVC,进入SpringMVC我们就要知道它是哪里来的,是干嘛的。

SpringMVC是它属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。因此可以肯定的是它的运行要依赖于Spring的运行环境。
在这里插入图片描述
SpringMVC是一个类似于Struts2的一个MVC框架,它极大的改善了Struts2老前辈的一些明显缺点,因此新的项目一般都使用SpringMVC还有一些老项目还在使用Struts2.。

写了这么多次博客都是引用的jar包,这次就用maven写入门小程序吧!

SpringMVC入门小程序

1.新建一个maven的web项目
在这里插入图片描述
在这里插入图片描述
group id 的官方解释是组织id,项目组的最高id。artifact id官方解释是项目唯一标识,算是在组织之下的唯一项目标志,创建项目之后会发现项目名称是这个artifact id。(我乱填的)
在这里插入图片描述
在这里插入图片描述
然后就给项目起名就算是一个maven的web项目。
在这里插入图片描述
2.导入Spring依赖和SpringMVC依赖

    <!--日志-->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.21</version>
    </dependency>
    <!--J2EE-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <!--mysql驱动包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.35</version>
    </dependency>
    <!--springframework-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.2.6.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.github.stefanbirkner</groupId>
      <artifactId>system-rules</artifactId>
      <version>1.16.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.9</version>
    </dependency>
    <!--其他需要的包-->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.4</version>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  

3.添加框架支持
在这里插入图片描述
如果没有Spring选项可以在Structure下删除后重新配置。
在这里插入图片描述
其实也没有什么东西就在web-inf下多了几个配置文件
在这里插入图片描述
4.配置resourse文件和基本目录结构
在这里插入图片描述
在这里插入图片描述

6.配置Tomcat服务器,在setting里配置TomCat。
5.编写一个测试hello.jsp,在web-inf下和index.jsp

<html>
<body>
<h1>Hello World!!!!!</h1>
</body>
</html>

6.编写一个controller类,并加上注解

package MVC.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller("HelloController")//必不可少,后边会有包扫描
public class HelloController {
    @RequestMapping("testHello")
    //请求方法绑定
    public ModelAndView testHello() {
        System.out.println("hello controller!");
        ModelAndView modelAndView = new ModelAndView();
        //设置模型数据
        modelAndView.addObject("msg","hello controller!");
        //设置视图名并相应
        modelAndView.setViewName("WEB-INF/jsp/hello.jsp");
        return modelAndView;
    }
}

7.配置包扫描

<!--设置包扫描-->
    <context:component-scan base-package="MVC.controller"/>

8.配置web.xml,加载Spring核心配置文件和监听配置和SpringMVC的contextConfigLocation的ServletXML属性。

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!---核心控制器-!>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>
</web-app>

8.启动Tomcat访问index,并实施跳转到testHello.action页面查看效果
index
在这里插入图片描述
跳转后:
在这里插入图片描述
在这里插入图片描述
这就是一个小的SpringMVC入门程序!

Spring的三大组件,映射器,适配器,视图解释器

xml配置

<!--配置注解器驱动器,Spring为简化我们手动配置映射器和适配器,也支持json的数据响应-->
    <mvc:annotation-driven/>
    <!--配置视图解释器,省去写路径的步骤直接写jsp的视图名-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

使用注解驱动
在这里插入图片描述
在使用试图解释器后,路径可以直接写视图名
在这里插入图片描述
这就是SpringMVC默认加载的三大组件。
第一篇主要是做一个入门小程序,后边会深入的进行讲解。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值