今天搭建了一个基于Spring MVC框架的demo,调试成功,和大家分享下^_^
SpringMVC+ Oracle驱动 整套代码下载路径:http://download.csdn.net/detail/yuzongtao/8002249
一、spring MVC框架需要的jar包,其中
红色框内为oracle数据驱动(oracle.jdbc.driver.OracleDriver)所需要的包,
蓝色框内为BasicDataSource数据源(org.apache.commons.dbcp.BasicDataSource)所需要的包
二、Spring MVC配置文件
1.web.xml配置
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">
contextConfigLocation
/WEB-INF/spring3-servlet.xml
org.springframework.web.context.ContextLoaderListener
OracleDataSource
jdbc/test
javax.sql.DataSource
Container
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
*.htm
spring3
org.springframework.web.servlet.DispatcherServlet
1
spring3
/
404
/error/e-404.html
500
/error/e-500.jsp
index.jsp
2.spring-servlet.xml即配置用于开启基于注解的springMVC功能。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
default-autowire="byName">
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
destroy-method="close">
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@127.0.0.1:1521:orcl
scott
YuXXXX
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/view/" p:suffix=".jsp">
class="org.springframework.context.support.ResourceBundleMessageSource">
i18n/messages
三、Demo例子
1.根据spring3-servlet.xml配置的包路径新建Constroller
package com.springdemo.module.usermgr.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.springdemo.core.ActionException;
import com.springdemo.core.BaseContoller;
import com.springdemo.core.ServiceException;
import com.springdemo.module.usermgr.service.UserMgrService;
import com.springdemo.module.usermgr.vo.SUser;
@Controller
@RequestMapping(value="usermgr")
public class UserMgr extends BaseContoller{
@Autowired
private UserMgrService userMgrService;
//注册
@RequestMapping(value="signup.htm",method=RequestMethod.GET)
public String signup(){
return "/signup";
}
@RequestMapping(value="saveSignup.htm",method=RequestMethod.POST)
public ModelAndView saveSignup(SUser user,SUser user2,String userName,String pwd) throws ServiceException{
userMgrService.signUp(user);
//成功后重定向的欢迎界面,防止重复提交
return new ModelAndView("redirect:signup_succ/{userName}.htm","userName",userName);
}
//获取
@RequestMapping(value="get/{id}.htm",method=RequestMethod.GET)
public ModelAndView get(@PathVariable Integer id) throws Exception{
SUser sUser = userMgrService.getUserById(id);
if(sUser==null){
throw new ActionException("用户["+id+"]不存在!");
}
return new ModelAndView("user_detail","user",sUser);
}
//列表
@RequestMapping(value="list.htm",method=RequestMethod.GET)
public ModelAndView list() throws ServiceException{
List users = userMgrService.getUsers();
return new ModelAndView("user_list","users",users);
}
//注册成功
@RequestMapping(value="signup_succ/{userName}.htm")
public String signuoSucc(@PathVariable("userName") String userName,ModelMap map){
map.addAttribute("userName",userName);
return "signup_succ";
}
}
2.然后建立service、dao层,以及jsp视图层,代码可见开头提供的资源路径。
3.部署访问
http://localhost:8080/springdemo/login.htm