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默认加载的三大组件。
第一篇主要是做一个入门小程序,后边会深入的进行讲解。
还没有评论,来说两句吧...