SpringMVC教程

ronaldoc 贡献于2013-05-22

作者 Sky123.Org  创建于2012-12-08 02:24:00   修改者Sky123.Org  修改于2012-12-08 09:01:00字数10681

文档摘要:SpringMVC教程
关键词:

目录 项目目录结构图: 2 第一步:准备 2 Sprng中的jar包 2 Hibernate中的jar包 3 其它jar包 4 第二步:配置文件 5 从hibernate中复制并修改文件 5 修改hibernate.properties文件 6 修改log4j.properties文件 6 编写spring配置文件 7 新建applicationContext.xml文件 7 新建spring-servlet.xml文件 9 修改web.xml文件 9 第三步:业务逻辑 10 Model层 10 Dao层 11 Service层 12 Controller层(Action层) 13 View层 14 第四步:测试 15 开启服务器 15 在浏览器中浏览 16 运行结果: 16 项目目录结构图: 项目结构图 第一步:准备 Sprng中的jar包 首先从spring官网http://www.springsource.org/download/community中下载最新版本的spring版本,本例采用的是spring-framework-3.1.1.RELEASE。初学者最好采用和此版本一样的版本。下载后如图: 解压得到文件夹: 打开文件夹: 选择如下jar包: 将以上jar包复制到你的/web-INF下的/lib中(以下简称lib)。 Hibernate中的jar包 准备hibernate的jar包,从hibernate官网http://www.hibernate.org/downloads下载hibernate版本,本例采用的是hibernate-distribution-3.6.10.Final,下载后如下: 解压后: 打开hibernate文件夹,先选择如图中的jar包: 再打开hibernate文件夹中的lib文件夹: 将此文件夹的jar包全部复制到web项目的lib目录中并将jpa中的jar也复制到lib中。将bytecode中的cglib复制到lib中。分别如图: 其它jar包 以上是hibernate和spring中所要加入的包,除些之外还要加入如下包: 以上是所有的springMVC+hibernate的所需jar包。 将所有jar包复制到web项目的lib目录中。 第二步:配置文件 从hibernate中复制并修改文件 首先从hibernate中的project文件夹中打到etc文件夹,复制其中如图所示的两个文件到classpath下,如图: 图2-1 图2-2 修改hibernate.properties文件 如下: ## HypersonicSQL dataSource.password= dataSource.username=root dataSource.databaseName=test dataSource.driverClassName=com.mysql.jdbc.Driver dataSource.dialect=org.hibernate.dialect.MySQL5Dialect dataSource.serverName=localhost:3306 dataSource.url=jdbc:mysql://localhost:3306/test dataSource.properties=user=${dataSource.username};databaseName=${dataSource.databaseName};serverName=${dataSource.serverName};password=${dataSource.password} dataSource.hbm2ddl.auto=update #hibernate.connection.url jdbc:hsqldb:hsql://localhost #hibernate.connection.url jdbc:hsqldb:test 修改log4j.properties文件 如下: log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info #log4j.logger.org.hibernate=debug 以上两个文件未帖出来的表示不改。 编写spring配置文件 新建applicationContext.xml文件 在classpath下新建applicationContext.xml文件内容如下: ${dataSource.dialect} ${dataSource.hbm2ddl.auto} update com.mvc.model 新建spring-servlet.xml文件 在web-INF下新建spring-servlet.xml文件,内容如下: 修改web.xml文件 文件内容如下: springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:applicationContext*.xml,/WEB-INF/spring-servlet.xml 1 springmvc *.do index.* reg.jsp 第三步:业务逻辑 Model层 新建实体类User.java,内容如下: package com.mvc.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @Entity public class User { private int id; private String name; private String password; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } Dao层 新建UserDao.java,内容如下: package com.mvc.dao; import java.util.List; import javax.annotation.Resource; import org.springframework.orm.hibernate3.HibernateTemplate; import org.springframework.stereotype.Repository; import com.mvc.model.User; @Repository("userDao") public class UserDao { @Resource private HibernateTemplate hibernateTemplate; public void add(User u) { hibernateTemplate.save(u); } public boolean findUser(User u) { List list = hibernateTemplate.find("from User u where u.name=?", u.getName()); if (list.size() > 0) { return true; } return false; } public boolean userLogin(User u) { List list = hibernateTemplate.find( "from User u where u.name=? and u.password=?", u.getName(), u.getPassword()); if (list.size() > 0) { return true; } return false; } } Service层 新建UserService.java,内容如下: package com.mvc.service; import javax.annotation.Resource; import org.springframework.stereotype.Service; import com.mvc.dao.UserDao; import com.mvc.model.User; @Service("userService") public class UserService { @Resource private UserDao userDao; public void add(User user) { userDao.add(user); } public boolean exist(User user) { return userDao.findUser(user); } public boolean login(User user) { return userDao.userLogin(user); } } Controller层(Action层) 新建UserControler.java,内容如下: package com.mvc.web; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.mvc.model.User; import com.mvc.service.UserService; @Controller("userController") @RequestMapping("/user.do") public class UserController { @Resource private UserService userService; @RequestMapping(params = "method=reg") public String reg(User user) { System.out.println("用户注册"); if (userService.exist(user)) { return "reg_fail"; } userService.add(user); return "reg_success"; } @RequestMapping(params = "method=log") public String log(User user) { System.out.println("用户登录"); if (userService.login(user)) { return "log_success"; } return "log_fail"; } } View层 在WebContent中新建两个jsp文件,分别是reg.jsp和log.jsp。 Reg.jsp的内容如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here


登录 Log.jsp的内容如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here


注册 在/web-inf文件夹中新建jsp文件夹创建四个jsp文件,分别为:reg_fail、reg_success、log_fail、log_success。四个文件中只做一些简单的提示。 Log_fail.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here

登录失败!用户名或密码错误

跳到登录页 其它三个只改body中的提示内容,在此不再缀述。 第四步:测试 开启服务器 打开tomcat服务器如图: 在浏览器中浏览 右击reg.jsp文件选择Run As On Server如图: 运行结果: 如图:

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档