本文以给出了一个完整的SSH(Struts+Spring+Hibernat)框架配置方案。(附源文件)
本文的读者:适合刚刚学习SSH、想体验一下SSH和想用SSH做点事情的朋友。
你需要的知识:会eclipse的基本操作、tomcat的配置,如果不会你可能犯了“躁进”的毛病,先学基础吧(建议你读一下《学习原来是这样的》)。当然你要有一定的Struts、Spring、Hibernate知识,至少知道struts-config.xml、hibernate.cfg.xml、ApplicationContext.xml是干什么的。 因为要配置的文件比较多,为了给读者一个直观印象,在正式开始前,我先给出配置的路线图。
图中按照hello.do请求的处理顺序,描述了6个配置文件之间的依赖关系。下面我们将一个实际的例子,依次来讲述各个文件的配置。
例子SSHDemo演示了又前台传入请求hello.do,请求,返回一条由数据库中取出的数据。
第一步、建立项目
1.用MyEclipse建立SSHDemo项目。你至少需要下面的jar文件:
1.Struts.jar 2.commons-beanutils.jar 3.commons-digester.jar
4. commons-collections.jar 5. commons-logging.jar 6.Hibernate3.jar
7. antlr-2.7.6.jar 8.asm.jar 9.cglib-2.1.1.jar
10. dom4j-1.6.1.jar 11.dom4j-1.6.1.jar 12. ehcache-1.2.jar 13.jta.jar
14. log4j-1.2.11.jar 15. mysql-connector-java-5.0.0-beta-bin.jar 16. spring.jar
这些文件你可以在spring的下载包中找到。把上面的jar文件加入classPath中,并拷贝到WEB-INF中的lib中。
第二步、建立相关文件,包括类文件,jsp文件等
1 1.建立hello.jsp 用来显示由数据库传来的信息
hello.jsp
<%@ page language="java" contentType="text/html; charset=GB2312"
pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>Struts Demo</title>
</head>
<body>
<H1>Hell, ${userInfo["username"]} !</H1>
</body>
</html>
2. 建立数据库表
create table us (id int(10) primary key auto_increment, name varchar(20))type=innodb;
insert into us (name) values("zhaoyuan");
3.创建User.java
package edu.bjtu.zhao.ssh;
public class User {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4. 创建UserDAO.java
package edu.bjtu.zhao.ssh;
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
public class UserDAO {
private SessionFactory sessionFactory;
public UserDAO() {
}
public UserDAO(SessionFactory sessionFactory) {
this.setSessionFactory(sessionFactory);
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public User find(Integer id) {
Session session = sessionFactory.openSession();
User user = (User) session.load(User.class, id);
Hibernate.initialize(user);
session.close();
return user;
}
}
5.创建HalloAction.java
package edu.bjtu.zhao.ssh;
import java.util.*;
import javax.servlet.http.*;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class HelloAction extends Action {
// private UserChecker userChecker;
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
String username = request.getParameter("user");
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
//建立DAO对象
UserDAO userDAO = (UserDAO) context.getBean("userDAO");
User user = new User();
user = userDAO.find(new Integer(1));
if(username==null )
{
username=user.getName();
}
Map model = new HashMap();
model.put("username", username);
request.setAttribute("userInfo", model);
return mapping.findForward("helloUser");
}
}
第三步,开始配置路线图中的6个xml文件(你可以参考文章的路线图)
1. 配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
共同學習,寫下你的評論
評論加載中...
作者其他優質文章