码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC - 1 项目创建和配置

时间:2015-09-30 17:44:52      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
核心组件
 
1,DispatcherServlet:中央控制器,把请求转发到具体的Controller.
2,handlerMapping:映射处理器,负责映射到中央处理器转发给Controller时的映射策略。
3,Controller:具体处理请求的控制器
4,ModelAndView:服务层返回的数据和视图层的封装类。
5,ViewResolver:视图解析器,解析具体的视图。
6,Interceptors:拦截器,负责拦截我们定义的请求
 
SpringMVC组件流程
技术分享
 
配置一个Springmvc的过程:
1,新建一个web    project
2,SpringMVC所需要的包复制到WEB-INF/lib
3,配置web.xml如下,配置DispatcherServlet
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<!--以上是标准头配置-->

<!-- 中央控制器 -->
<servlet>
<!--给servlet取个名字,并且引入它所需要的类-->
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!-- struts习惯使用/*,在springmvc不管用 -->
<url-pattern>*.do</url-pattern>
</servlet-mapping>

</web-app>
 
4,
建立一个Controller,建立一个类,这个类需要继承 AbstractController,如下:
package cn.itcast.springmvc;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
 
public class TestController extends AbstractController {
 
 @Override
 protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
   HttpServletResponse arg1) throws Exception {
  System.out.println("hello springmvc");
  //viewName不是jsp的名称而是前缀与后缀之间的路径字符串
  return new ModelAndView("jsp1/index");
 }
 
 
}
 
5,在WEBROOT\WEB-INF下配置controller
 
默认名称是,中央控制器名-servlet.xml
在这里是springmvc-controller.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: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 ">
 
<--以外是默认头配置,以内是手动配置-->       
<!-- 需要配置controller,handlerMapping,ViewResolver, interceptor -->

<!-- 映射处理器之间是独立的,不相互影响,4个例子 -->

<!--1 默认的映射处理器 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>

<!-- 2简单url的映射处理器 ,访问key的时候就可以访问这个类-->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello1.do">testController</prop>
</props>
</property>
</bean>

<!--4 控制器的类名映射处理器 -->
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>


<!-- 3使用默认的映射处理器来映射controller,吧id唯一映射到了TestController中,并且 访问name.do的时候也可以映射-->
<bean id="testController" name="/hello.do" class="cn.itcast.springmvc.TestController"></bean>

<!-- 前缀+ viewName +后缀 ,配置modeandview视图解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- webroot到某一指定的文件夹的路径 -->
<property name="prefix" value="/WEB-INF/jsp/"></property>
<!-- 视图名称的后缀 -->
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
 
6,把.jsp文件放入指定位置,运行服务器,就可以访问了。
 
 
总结一下主要添加web访问页面流程:
1,建立一个Controller类文件-->配置访问Controller的url的映射处理器
<!-- 使用默认的映射处理器来映射controller,把hello.do映射到hello.do上,访问的时候访问hello.do就会运行TestController -->
 
 
 
注解方式:
1,前后缀不变
2,建立控制类,加上Controller注解,访问控制层方法的注解。
 
package cn.itcast.springmvc;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller //用来标注当前类是springmvc的控制层类
@RequestMapping("/test")//给类添加了控制注解,给该Controller添加了命名空间
public class TestController
{
@RequestMapping("/hello.do")//用来访问控制层方法的注释
public String hello()
{
 return "jsp1/index";
}
 
}
 
 
 
3,在配置文件中配置注解驱动,扫描器所扫描的文件夹
 
  <!-- 扫描器的位置,同时也驱动了扫描器 -->
  <context:component-scan base-package="cn.itcast.springmvc"></context:component-scan>
  
 

Spring MVC - 1 项目创建和配置

标签:

原文地址:http://www.cnblogs.com/hitxx/p/4849631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!