Spring MVC 编程基础
Spring MVC 编程基础
1 Spring MVC 编程基本步骤
Step01:创建maven web 项目并解决项目中的错误问题
Step02:添加Spring MVC项目核心依赖
Step03:配置Spring MVC项目核心组件
Step04:创建Spring MVC 后端控制器及页面
Step05:部署及测试spring mvc 项目应用。
2 Spring MVC 编程基础实现(重点)
2.1 创建Maven WEB 项目并添加Spring MVC 依赖(搭建环境)
Step01:创建maven web项目
Step02:配置maven web项目
1) 生成web.xml(项目视图)

2) Web项目的target runtimes为tomcat(tomcat版本为7.0)

3)Web 项目的编译版本为JDK1.8

Step03: 添加Spring MVC项目依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.9.RELEASE</version>
</dependencies>
</dependency>
2.2 添加Spring MVC配置文件并进行基本配置
在项目的resources的目录中添加核心配置文件(例如spring-configs.xml)并进行基本配置
<?xml version="1.0" encoding="UTF-8"?>
<beans default-lazy-init="true"
xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.3.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd" >
<!--配置组件扫描 -->
<context:component-scan base-package="com.jt"/>
<!—启用MVC默认配置 (@RequestMapping) -->
<mvc:annotation-driven/
<!-- 配置视图解析器 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
说明:配置文件的名字可以自己指定。
2.3. 配置Spring MVC前端控制器(入口)
打开web.xml,配置DispatcherServlet对象,本质上就是一个Servlet对象
<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:spring-configs.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
前端控制器是spring mvc处理请求的入口,是springmvc的核心,这个控制器一般需要在服务器启动时即初始化。
其中
1) load-on-startup 表示启动时则加载此servlet,数字越小优先级越高.
2) init-param 中的参数名不能变(此名字在DispatcherServlet父类中定义)
2.4 创建并配置Spring MVC后端控制器
编写Spring MVC后端控制器
@Controller
@RequestMapping("/")
public class HelloController{
@RequestMapping("doSayHello")
public ModelAndView doSayHello() {
ModelAndView mv=new ModelAndView("hello");
mv.addObject("message", "helloworld");
return mv;
}
}
其中:
1)通过@RequestMapping注解定义url到controller具体方法的映射,这个映射信息会被存储,一般是存储到一个HandlerMapping对象中.
2)ModelAndView对象为一个模型与视图对象,内置一个map对象,主要用于封装业务数据和视图名。
3)ModelAndView构造方法中传递的为视图名,addObject方法可以以key/value形式存储数据。
4)ModelAndView 对象返回时会被spring mvc自动存储到请求作用域,在对应的视图页面可以直接从此作用域获取对应的值。
2.5. 创建JSP页面对象
在项目的WEB-INF/pages文件夹下创建hello.jsp文件,然后设置其内容,例如
<body>
<h1>${message}</h1>
</body>
说明:WEB-INF目录下的资源不能允许通过浏览器地址栏直接访问。
2.6. 部署并运行项目以及请求响应流程分析
将项目部署到tomcat,然后启动运行,在地址栏输入具体url访问对应controller对象。
例如: http://localhost/CGB-SPRING-MVC-01/doSayHello.do
3 问题分析:
1) tomcat启动时出现ClassNotFoundException
或者是NoClassDefFoundError这种异常或错误,而这个class又不是我们自己的类,此时要重新maven update,重新发布(右键tomcat 重新publish),多次尝试还是不可以,此时重启eclipse。
2) 404异常,一般表示服务端资源没找到,首先检测访问路径是否正确,然后还可以在项目的部署目录中去查找对应的资源,必须确保资源是存在的,假如资源不存在,说明代码没有正常编译。(很常见)
3) 如何解决这种项目不编译的问题?
step01) 停止tomcat将tomcat下的项目移除,并clean你的tomcat服

浙公网安备 33010602011771号