前面总结的内容都是利用配置文件去位置一个springMVC的程序,包含了配置harderMapping,Controller。这些内容也可以利用注解的形式进行配置。可以说是用注解的方式,更能提高开发的效率。
1.配置web.xml。配置中央处理器,DispatcherServlet。
<?xmlversion="1.0" encoding="UTF-8"?>
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 中央转发器dispacherServlet-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
2.配置springmvc-servlet.xml,配置viewResolver和扫描器,在这里如果配置了扫描器就没有必要再配置注解驱动
<?xmlversion="1.0" encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<!-- 配置文件:viewResolver,interceptor-->
<!--<mvc:annotation-driven/> --><!,如果component-scan存在就没有必要配配置注解驱动 -->
<context:component-scanbase-package="com.roy.controller"/>
<!-- 视图解析器 viewResolver-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置从项目根目录到指定目录一端路径 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 文件的后缀名-->
<propertyname="suffix" value=".jsp"></property>
</bean>
</beans>
3.写controller,在类上的RequestMapping作用是类似于命名空间,唯一标识一个controller,需要结合方法上的RequestMapping一起访问。方法上的RequestMapping注解用于表示访问这个方法的url。
packagecom.roy.controller;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/test") //作用是;类似于命名空间,唯一标识一个controller,防止项目过大是不同controll中方法上的requestMapping
publicclass TestAnnController {
@RequestMapping("/hello.do")
publicString hello(){
System.out.println("hello");
return"index";
}
}<span style="font-size: 10.5pt; font-family: Calibri; background-color: rgb(255, 255, 255);"> </span>
4.index.jsp页面,只起到页面显示的作用。
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
hello springmvc <br>
</body>
</html>
注解的方式与配置文件的例子有很多相似的地方,但是注解的方式更灵活,更能提高开发的效率,也方便了代码的版本管理。