现在springMVC的整合吧
第一步:web.xml的配置
<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>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
dwr的配置()
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class> org.directwebremoting.spring.DwrSpringServlet </servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
第二步:WEB-INF/spring-servlet.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:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 定义一个视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
</beans>
第三步:applicationContext.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:context="http://www.springframework.org/schema/context"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:mvc="http://www.springframework.org/schema/mvc"
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
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<!-- 激活spring的注解. -->
<context:annotation-config />
<!-- 扫描注解组件并且自动的注入spring beans中.
例如,他会扫描@Controller 和@Service下的文件.所以确保此base-package设置正确. -->
<context:component-scan base-package="net.rytong" />
<!-- 配置注解驱动的Spring MVC Controller 的编程模型.注:次标签只在 Spring MVC工作! -->
<mvc:annotation-driven />
<mvc:default-servlet-handler default-servlet-name="IndexServlet"/>
<!-- ********************************************** -->
<!-- dwr启用 annotation 配置模式 -->
<dwr:configuration>
<dwr:convert type="bean" class="net.rytong.entity.Person" />
</dwr:configuration>
<!-- pring容器中检查拥有@RemoteProxy 和 @RemoteMethod注解的类 -->
<dwr:annotation-config />
<!-- 开启debug -->
<dwr:controller id="dwrController" debug="true" />
<!-- ********************************************** -->
<!-- 导入jdbc的配置文件 -->
<import resource="jdbc-context.xml" />
</beans>
第四步:数据源jdbc-context.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:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
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/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
">
<!-- <context:property-placeholder location="classpath:db.properties" /> -->
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="${jdbc.driverClassName}" />
<property name="driverUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maximumConnectionCount" value="300" />
<property name="minimumConnectionCount" value="10" />
<property name="prototypeCount" value="4" />
<property name="maximumActiveTime" value="600000" />
<property name="simultaneousBuildThrottle" value="5" />
<property name="testBeforeUse" value="true" />
<property name="houseKeepingTestSql" value="SELECT CURRENT_DATE" />
</bean>
<!-- 定义jdbc配置信息路径 -->
<context:property-placeholder location="/WEB-INF/db.properties" />
<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<!-- 定义事务管理 -->
<!-- See http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
</beans>
dao的代码:
@Repository("personDao")
public class PersonDao {
private SimpleJdbcTemplate jdbcTemplate;
@Resource(name="dataSource")
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new SimpleJdbcTemplate(dataSource);
}
public List<Person> getAllPerson() {
String sql = "select id, first_name, last_name, money from person";
// Maps a SQL result to a Java object
RowMapper<Person> mapper = new RowMapper<Person>() {
public Person mapRow(ResultSet rs, int rowNum) throws SQLException {
Person person = new Person();
person.setId(rs.getInt("id"));
person.setFirstName(rs.getString("first_name"));
person.setLastName(rs.getString("last_name"));
person.setMoney(rs.getDouble("money"));
return person;
}
};
return jdbcTemplate.query(sql, mapper);
}
}
service中的代码:
@Service("personService")
@RemoteProxy(name="PersonService")
public class PersonService {
protected static Logger logger = Logger.getLogger("service");
@Autowired
private PersonDao personDao;
/**
*检索所有的Person
*/
@RemoteMethod
public List<Person> getAll() {
logger.debug("Retrieving all persons");
System.out.println(personDao+"==========");
return personDao.getAllPerson();
}
}
control中的代码:
@Controller
@RequestMapping("/main")
public class MainController {
protected static Logger logger = Logger.getLogger("controller");
@Resource(name="personService")
private PersonService personService;
/**
*获得所有的Person并返回到指定JSP页面
*
* @return the name of the JSP page
*/
@RequestMapping(value = "/persons.do", method = RequestMethod.GET)
public String getPersons(Model model) {
logger.debug("Received request to show all persons");
// 调用personService中的getAll获得所有的Person
List<Person> persons = personService.getAll();
// 把Person装入一个指定的model
model.addAttribute("persons", persons);
// 解析 /WEB-INF/jsp/personspage.jsp
return "personspage";
}
要想servlet要spring容器来管理,在web.xml中 去掉springMVC配置 加上如下配置:
<servlet>
<servlet-name>UserLoginServlet</servlet-name>
<servlet-class>net.rytong.servlet.ServletProxy</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserLoginServlet</servlet-name>
<url-pattern>/UserLoginServlet</url-pattern>
</servlet-mapping>
并加上这个代理类
@SuppressWarnings("serial")
public class ServletProxy extends GenericServlet {
private Servlet proxy;
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
proxy.service(req, res);
}
@Override
public void init() throws ServletException {
WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
System.out.println(getServletName()+"===============");
this.proxy = (Servlet) wac.getBean(getServletName());
proxy.init(getServletConfig());
}
}
具体代码下载:( 数据库是基于mysql,jar包管理是Maven 下载后报错请修改pom.xml)
分享到:
相关推荐
Spring、SpringMVC和JDBC是Java...通过深入研究和实践这个简易项目,你可以对Spring、SpringMVC和JDBC的整合有一个全面的认识,并为进一步的Java Web开发打下坚实的基础。记得不断优化和改进代码,使其更加健壮和高效。
Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...
1. **配置环境**:首先确保安装了JDK、Maven(或Gradle)以及Tomcat等必要环境,并在项目中引入Spring、SpringMVC和Mybatis的依赖库。 2. **配置Spring**:创建Spring的配置文件(如`applicationContext.xml`),...
1. **引入依赖**:在项目中添加Spring、SpringMVC和Mybatis的依赖库,通常通过Maven或Gradle构建工具来管理。 2. **配置Spring**:创建Spring的配置文件,定义Bean的生命周期和依赖关系,包括数据源、...
SSM框架整合是Java开发中常见的技术栈,包括Spring、SpringMVC和Mybatis三个核心组件。这个压缩包提供了一个已经验证过的整合示例,帮助开发者理解和实践这三大框架的协同工作。 首先,Spring框架是Java企业级应用...
标题中的"idea工具创建的Spring+SpringMVC+Hibernate+maven项目"指的是使用IntelliJ IDEA这个集成开发环境(IDE)构建的一个Java Web项目,该项目整合了四个关键的技术框架:Spring、SpringMVC、Hibernate以及Maven...
“3.1 Spring框架.pptx”和“3.2 Spring应用 .pptx”则可能详细讲解了Spring框架的核心组件和实际应用场景,比如AOP在事务管理中的应用,以及Spring与其他技术(如JDBC、Hibernate)的集成。 总体来说,这个资源包...
**jQuery + SpringMVC + SpringJDBC + SpringQuartz 整合Java项目详解** 在现代Web开发中,jQuery、SpringMVC、SpringJDBC和SpringQuartz是四个关键的组件,它们分别负责前端交互、后端MVC架构、数据库操作和任务...
"spring+springmvc+mybatis+bootstrap整合案例"是一个专门为初学者设计的项目,旨在帮助他们快速理解和掌握这四者如何协同工作。 首先,Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(DI)和面向切...
标题 "mybatis3+spring+springMVC4整合jar包.rar" 描述的是一个整合了MyBatis 3、Spring 4 和 Spring MVC 4 的项目压缩包。这个压缩包通常用于快速搭建一个基于Java的Web开发环境,尤其是用于处理数据库操作和前端...
通过Spring JDBC,开发者可以使用模板方法(如JdbcTemplate或NamedParameterJdbcTemplate)来执行SQL语句,这些模板类会自动处理资源的打开和关闭,以及异常处理,使代码更加简洁且易于测试。此外,Spring JDBC还...
标题中的“Spring+SpringMVC+Mybatis框架整合源码”指的是一个基于Java的Web开发项目,它结合了三个主流的开源框架:Spring、SpringMVC和Mybatis,以实现高效且灵活的企业级应用开发。这三种框架在Java世界中扮演着...
标题中的"spring+springmvc+springjdbc+redis"是一个典型的Java Web开发技术组合,涵盖了Spring框架的核心组件,Spring MVC作为Web层的处理框架,Spring JDBC用于数据库操作,以及Redis作为高速缓存系统。...
将Spring、SpringMVC和MyBatis整合在一起,可以构建出高效、稳定的Web应用程序。首先,Spring作为基础框架,负责整个应用的上下文管理,包括Bean的创建和管理。然后,SpringMVC作为Web层,处理用户请求,调用业务...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,它将Spring的核心容器、Spring MVC作为视图控制器以及MyBatis作为持久层框架集成在一起,为开发者提供了一种高效且灵活的开发方式。...
以下是关于这三个框架的详细解释和整合步骤: 1. **Spring框架** - Spring是一个轻量级的Java开发框架,最初由Rod Johnson提出,旨在简化企业级应用的复杂性。它通过控制反转(IoC)和面向切面编程(AOP)来管理...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
这里就要导入mybatis和spring的整合包了,这里sqlsession中也要导入mybatis的配置文件 2.6 spring-bean 配置mapper自动扫描 MapperScannerConfigurer将扫描basePackage所指定的包下的所有接口类(包括子类), ...
Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 **SSM...