以前都是用Struts1 or Struts2的MVC,之前就一直想了解SpringMVC Annotation版的使用,于是今天到Spring的官网上搬弄了Jar下来(点这里进入下载),搭起了一个基本的框架。下面说一下SpringMVC框架搭建流程(使用版本Spring3.1 RC1)和基本使用
-
下载好Jar导入到Web工程的Lib下面,这是我用到的jar包
2. 在web.xml加入如下代码,监听以什么路径结尾的请求,我这里是拦截.html结尾的
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
3. 根据你上面配置的<servlet-name>spring</servlet-name>中的值在WEB-INF目录下面创建spring-servlet.xml,那个值可以随便改,
改了以后创建对应的文件即可,只要符合*-servlet.xml即可。编辑此文件加入如下代码<?xml version="1.0" encoding="UTF-8" ?>
<?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: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">
<!-- 自动扫描bean,把作了注解的类转换为bean -->
<context:component-scan base-package="com" />
<!-- 定义jdbc配置信息路径 -->
<context:property-placeholder location="/WEB-INF/jdbc.properties" />
<!-- jdbcTemplate数据库操作类 -->
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 数据源配置,使用c3p0数据库连接池 -->
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close"
p:driverClass="${app.jdbc.driverClassName}"
p:jdbcUrl="${app.jdbc.url}"
p:user="${app.jdbc.username}"
p:password="${app.jdbc.password}"
p:acquireIncrement="5"
p:idleConnectionTestPeriod="60"
p:maxPoolSize="100"
p:maxStatements="50"
p:minPoolSize="10" />
<!-- 定义事务管理 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<!-- 处理Mutipart文件上次的bean -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
p:defaultEncoding="utf-8" />
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/"
p:suffix=".jsp" />
</beans>
4. 加入数据库配置文件到WEB-INF目录
#test is databaseName.
app.jdbc.driverClassName=com.mysql.jdbc.Driver
app.jdbc.url=jdbc:mysql://localhost/test
app.jdbc.username=root
app.jdbc.password=******
到这里框架搭建基本完成。由于我使用的Spring的JdbcTemplate对数据库进行的操作,这里就不需要在配置其他的信息。下面直接贴代码:
控制器Controller相当于Struts中的Action
package com.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.model.User;
import com.service.UserService;
/**
* @author dongji
* 控制器类,加上@Contorller即可,不需要继承其他任何类
*/
@Controller
public class UserController{
//服务层借口,加此注解就可以注入进来
@Resource(name = "uService")
private UserService uService;
//请求的路径
@RequestMapping("/save")
public String save(HttpServletRequest request, User u) {
uService.save(u);
String message = "Save Ok, Spring 3.0!";
request.setAttribute("message", message);
request.setAttribute("users", uService.findAll());
// return new ModelAndView("hello", "message", message);
return "hello";
}
@RequestMapping("/delete")
public ModelAndView delete(HttpServletRequest request) {
Integer id = Integer.parseInt(request.getParameter("id"));
uService.delete(id);
request.setAttribute("message", "您刚才删除了ID为"+id+"的人!!!");
request.setAttribute("users", uService.findAll());
return new ModelAndView("hello");
}
}
DAO层接口
package com.service;
import java.util.List;
import com.model.User;
public interface UserService {
void save(User u);
void delete(Integer id);
List<User> findAll();
}
DAO实现类
package com.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import com.model.User;
import com.service.UserService;
@Service("uService")
public class UserServiceImpl implements UserService {
@Resource
private JdbcTemplate jdbcTemplate;
/**
* 玩数据库添加一条记录
*
* @param u
* 用户
*/
public void save(User u) {
jdbcTemplate.update("insert into user values(null,?)", u.getName());
}
/**
* 删除一个用户
*
* @param id
* 用户id
*/
public void delete(Integer id) {
jdbcTemplate.update("delete from user where id=?", id);
}
/**
* 查询所有用户信息
*
* @return 所有用户的集合
*/
public List findAll() {
return jdbcTemplate.queryForList("SELECT * FROM `user`");
}
}
实体类
package com.model;
/**
* 测试用户类
* @author dongji
*
*/
public class User{
private int id;
private String name;
//.....省略setter and getter
}
到这里,一个简单的SpringMVC已经实现了,有什么意见大家尽力提哦
- 大小: 3.7 KB
分享到:
相关推荐
1、SpringMVC概述 请求响应模式演进过程 SpringMVC概念 2、入门案例 使用Servlet技术开发web程序流程 创建web工程(Maven结构) 设置tomcat服务器,加载web工程(tomcat插件) 导入坐标(Servlet) 定义处理请求的...
springmvc是常用的一种框架,学习springmvc非常重要,故需要良好教程资料
springmvc 笔记
springmvc基础 包含代码+知识点+详细解释 1. 什么是springmvc? 2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、处理器映射器、处理器...
基于springmvc实现分页查询基于springmvc实现分页查询
SpringMVC笔记.pdf
传智 springmvc mybatis 燕青 笔记 教案 springmvc部分
springMvc源码分析springMvc源码分析springMvc源码分析springMvc源码分析springMvc源码分析springMvc源码分析
开发步骤①导入SpringMVC相关坐标②配置SpringMVC核心控制器DispathcerServlet③创建Controller类和视图页面④使用注解配置Controller类中业务方法的映射地址⑤配置SpringMVC核心文件 spring-mvc.xml⑥客户端发起...
这是一个简单的springmvc连接数据库的,在xml文件中配置数据库连接,适合初学springmvc,简单易懂
SpringMVC 实例
springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo springmvc 环境搭建 demo ...
springMVC集成lucene完整代码
1、什么是 SpringMvc? 2、Spring MVC 的优点: 3、SpringMVC 工作原理? 4、SpringMVC 流程? 6、SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决? 7、如果你也用过 struts2.简单介绍下 springMVC ...
springmvc带进度条上传源码
springMvc整合hibernate Demo
SpringMVC+MyBatic demo Service端 后续上传客户端
springmvc4简单例子,springmvc例子,适合学习。。。。。。
SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子SpringMVC例子...