SpringMVC的使用
- 大部分组件由框架提供,开发者只需通过配置进行关联
- 开发者只需手动编写Handler、View
SpringMVC基于注解开发 步骤
- springmvc基础配置
- 基于注解关联Handler、Controller
- XML配置ViewResolver组件映射
web.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<!--设置访问静态资源-->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet </servlet-class>
<!--配置springmvc.xml的路径-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
springmvc.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--将AnnotationHandler自动扫描到IOC容器中-->
<context:component-scan base-package="com.handler"/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置前缀 -->
<property name="prefix" value="/"/>
<!-- 配置后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>
AnnoHandler.java文件代码
package com.handler;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.Map;
@Controller
public class AnnoHandler {
/**
* 业务方法一:ModelAndView完成数据的传递,视图解析
* @return
*/
@RequestMapping("/index")
public ModelAndView testModel(){
// 创建对象
ModelAndView modelAndView = new ModelAndView();
// 填充模型数据
modelAndView.addObject("name","Jerry");
// 设置视图
modelAndView.setViewName("index");
return modelAndView;
}
/**
* Map完成数据的传递,视图解析
* @param map
* @return
*/
@RequestMapping("/index.do")
public String MapTest(Map<String,String> map){
map.put("name","Cat");
return "index";
}
}
其中RequestMapping里面的值是一个url请求地址,我们在浏览器地址栏中输入hhtp://localhost:8080/项目名/映射地址即可看到对应的结果页面