以前都是用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
分享到:
相关推荐
【SpringMVC简介】 SpringMVC 是一个基于 Java 实现的 Model-View-Controller (MVC) 模式的轻量级 Web 框架。它为开发者提供了简化 Web 应用程序开发的能力,使得在处理HTTP请求和响应时更加便捷和灵活。SpringMVC ...
本资源介绍了一个基于Spring MVC框架的Web应用项目,旨在帮助开发者和学习者了解和掌握Spring MVC的核心概念、组件以及如何构建Web应用程序。无论您是初学者还是有经验的开发者,这个资源都将为您提供有关Spring MVC...
**初识 SpringMVC** 在 Web 开发领域,MVC 设计模式被广泛采用,它将业务逻辑(Model)、用户界面(View)和数据处理(Controller)分离,提高了代码的可维护性和可复用性。SpringMVC 提供了一套完善的解决方案,...
**SpringMVC REST风格详解** REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,用于设计网络应用程序,特别是在Web服务中广泛采用。在SpringMVC框架中,实现REST风格的接口可以让我们...
1.1 初识 Spring,我们了解到 Spring 是为了简化企业级 Java 应用程序的开发而设计的,它通过提供一种声明式编程模型,减少了代码量和耦合度。 1.2 Spring 系统架构主要包括四个主要模块:Core Container(核心容器...
Spring框架是Java开发领域非常著名的开源框架,它的初识主要可以分为两个部分:框架的基本概念和Spring框架的设计理念。 首先,从框架的基本概念来看,它是由一系列类和接口组成的集合,这些类和接口协调工作以完成...
本资源是一篇关于学习和应用SSM框架(Spring、SpringMVC、MyBatis)的学习记录系列文章中的第六天内容,主题为初识Spring框架。 在这一部分中,你将了解到Spring框架的基本概念和使用方法,并通过实例探讨了Spring ...
学习MyBatis时,可以通过实际项目练习,结合SSM(Spring、SpringMVC、MyBatis)框架进行综合应用,提升开发效率。此外,还可以借助CSDN、SegmentFault、菜鸟教程等在线资源进行深入学习,并利用Markdown、思维导图等...
`readme.txt`通常会包含项目的基本信息、安装指南、运行环境要求和一些注意事项,是初识项目的重要参考资料。 `jspm4tlu5`可能是项目源码的某个部分,但由于文件名不明确,具体功能无法确定,需要实际解压查看。 ...
4. `README.md`:这是项目介绍文件,通常包含项目的目的、安装指南、使用方法等信息,是初识项目的重要文档。 5. `pom.xml`:Maven项目对象模型(POM)文件,定义了项目的依赖、构建过程和其他元数据,是Maven项目的...
关于`README.md`文件,这通常包含项目的说明、安装指南、依赖项和运行步骤,是初识项目时的重要参考资料。根据描述,助教老师已经测试过这个项目,意味着它应该具备基本的运行和功能完整性。 标签中的"毕业设计...
"readme.txt"通常包含了项目的基本介绍、安装部署步骤和运行环境要求,是初识项目的重要参考。"jspm73dk0"这个文件名可能是项目源码或编译后的类文件,具体功能需要进一步解压查看。 停车场管理系统的主要功能模块...
在项目中,由于初识JSON,可能在实现物料信息功能时出现了错误,但经过学习和修正,理解了正确使用JSON进行数据传递的方法。 **多表连接查询**:在数据库设计中,多表连接查询是处理复杂业务逻辑的关键。当需要从多...
3.基于springMVC的项目搭建 4.postGIS空间库基本操作 5.geoserver基本操作 6.初识Geotools 7.OL中的Map和View 课程简介 李白有诗云“烟花三月下扬州”,辛弃疾有诗道“正值春光二三月”。可见三月是个好时光,告别二...
- **初识Java** - Java的历史和发展背景 - Java的特点:平台无关性、面向对象、安全性等 - Java开发环境的搭建:JDK安装与配置 - Hello World程序编写 - **数据类型和运算符** - Java的基本数据类型(整型、...
第五阶段: 初识⼤数据 1. 难易程度:三颗星 2. 课时量(技术知识点+阶段项⽬任务+综合能⼒):80课时 3. 主要技术包括:⼤数据前篇(什么是⼤数据,应⽤场景,如何学习⼤数据库,虚拟机概念和安装等)、Linux常见...