spring mvc 初始
今天带领大家开始第一天的spring mvc学习
首先我们要下载maven然后配置IDE
然后选择new 新建项目 然后选择maven,然后选择maven的webapp
然后创建springmvc 项目
2、
上面的maven的目录和settings的目录必须配置正确不然你的项目创建就会失败,创建出来的目录就会缺失
然后我们的项目再建立之后就会生成如下目录:
这个时候的src内是没有 java和resouce的我们新建立这两个目录java用来存储我们控制层 resource用来存储我们的配置信息
建立java文件选择:
建立resource文件选择:
然后这个时候我们要配置我们的pom.xml文件进行依赖安装
<!-- 版本锁定 --> <!--在 properties 中加入版本信息--> <properties> <spring.version>4.2.5.RELEASE</spring.version> </properties> <!--为了方便我们的以后的版本修改只需要修改上面的版本就可以--> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> </dependencies>
第二步如果要使用springmvc一定会有与前端的交互 这个时候就要配置前端的控制器了,前端控制器 是在WEB-INF/web.xml文件
配置web.xml文件
<servlet> <!--开启注解扫描--> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--第一次发请求的时候创建--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <!--启动服务器的时候就去加载DispatcherServlet然后加载其配置--> </servlet> <servlet-mapping> <!--发生的任何请求都会经过我--> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
既然是springmvc那就要在对应的模块中有单独的配置 就是在resource中配置我们的信息
在resource中新建立一个配置文件
我定义的是springconfig.xml
配置: 把下面的直接copy覆盖之前的内容 这个依赖的多
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> </beans>
然后为了让我们的马上的控制器中的信息被扫描到自动加载还需要在这个文件sprintmvc.xml 配置中进行配置(在我们上面建立的resource中的springmvc的配置中配置)
<!-- 开启注解扫描--> <context:component-scan base-package="cn.itcas.controller"/><!--去扫描我们的包下的文件,我的文件在java/cn/itcas/controller--> contrller是目录 只能扫描到目录 <!-- 试图解析器--> <!--只有配置了视图解析器才能找到其对应的前端模板--> <bean id="internalResourceViewResolve" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 文件所有目录 --> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> <!-- 开启springmvc框架 注解打开 --> <mvc:annotation-driven/>
上面的是我们新建立的配置文件 这个时候我们怎么让我们的配置文件起到效果呢 ?怎么让我们的配置文件在启动的时候就加载呢?
下面这个时候就要去系统创建的时候就有的一个配置中进行两者关联起来,进入WEB-INF下 对webxml进行配置关联
在servlet中配置
加入
<init-param><!--自动加载classpath对应的xml文件 两者关联-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup> <!--启动服务器的时候就去加载DispatcherServlet然后加载其配置-->
基础完整的 web.xml文件
TYPE 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> <servlet> <!--开启注解扫描--> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--第一次发请求的时候创建--> <init-param><!--自动加载classpath对应的xml文件--> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <!--启动服务器的时候就去加载DispatcherServlet然后加载其配置--> </servlet> <servlet-mapping> <!--发生的任何请求都会经过我--> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
就是让我们的系统的前端控制器去加载我们的配置文件