您的位置:首页 > 编程语言 > Java开发

spring mvc+spring+mybatis+maven整合篇(二)

2015-10-21 09:52 337 查看
   在spring mvc+spring+mybatis+maven整合篇(一)中,我们已经讲解到使用SpringJUnit4ClassRunner+Junit测试mybatis+spring的整合效果,今天我们将继续解决如何在spring+mybatis整合的基础上整合spring
mvc。

   首先我们需要在web.xml中配置spring mvc的核心过滤器DispatcherServlet,配置方式如下:

<!-- spring mvc servlet -->
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

        DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理,是配置spring MVC的第一步。

   然后我们需要做的是配置spring-mvc.xml,有两点需要重点说明:一个是配置自动扫描controller包下的所有类,使其认为spring mvc的控制器;另一个是配置对模型视图名称的解析,即在模型视图名称添加前后缀。

   配置自动扫描controller包下的所有类方式如下:

<!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
<context:component-scan base-package="sy.controller" />
   配置对模型视图名称的解析,即在模型视图名称添加前后缀方式如下:

<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".jsp" />

      接着我们编写UserController类,用于处理对User业务的请求。

package sy.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import sy.model.User;
import sy.service.UserService;

@Controller
@RequestMapping("/userController")
public class UserController {

private UserService userService;

@RequestMapping("/showUser/{id}")
public String showUser(@PathVariable String id, HttpServletRequest request) {
User user = userService.getUserById(id);
request.setAttribute("user", user);
return "showUser";
}

public UserService getUserService() {
return userService;
}

@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
}


         这里的传参,我们使用的是resutful风格。如果使用传统方式访问,我们的访问地址为:http://localhost:8080/ssm/userController/showUser.do?id=1;如果使用restful方式访问,我们访问的地址为:http://localhost:8080/ssm/userController/showUser/1.do,我们通过特殊符号将请求和参数分离。

  到此关于spring mvc+spring+mybatis+maven整合的整合过程已经讲解完,最后奉献下ssm的源码下载地址:http://pan.baidu.com/s/13Ez74。如果我们需要导入下载的项目,则需要选择项目,右键run
as-->maven install,然后Project-->clean,然后再次选择项目,右键run as-->maven install项目便可导入成功。

  如果项目的pom文件报missing ***.jar,在本地maven仓库删除对应jar的缓存,重新更新下载jar即可。  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: