首页 > 程序开发 > Web开发 > Jsp > 正文
关于SSH框架的一些整合要点
2017-06-19 09:38:42       个评论    来源:  
收藏    我要投稿

关于SSH框架的一些整合要点。昨天做了SSH框架的整合,但是也是感觉生疏了许多,下面介绍一下SSH整合的具体过程和常见问题的注意事项!

1:首先做struts部分的测试,在src目录导入struts.xml文件,然后在web.xml中添加核心过滤器StrutsPrepareAndExecuteFilter

\

在项目中导入相应的Struts,spring,hibernate的jar包

编写一个测试页面index.jsp

 

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


登录

welcome login page

用户名: 密 码:  
在地址栏中键入一下url,出现如下界面说明struts配置成功!

\ 2:spring和hibernate的整合:

 

a:建立jdbc.properties文件

\

b: 在WEB-INF下创建spring-hibernate.xml文件

/WEB-INF/spring-hibernate.xml

 



        
        
        
        
        
        
        
        
        
        
        		
        		
        		
        		
        
        
        
             
             
                    
                         com.li.model
                    
             
             
             		
                		hibernate.dialect=org.hibernate.dialect.MySQLDialect
            		
             		
             
        
        
        		
        
        
        		
        

上面标红的一行的配置文件一定要放好位置哦,如果放到web-inf下会报错的要注意!!

 

c:创建User实体类对应数据库中的表tb_user

 

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="tb_user")
public class User {
	private int id;
	private String username;
	private String password;
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}

 

d:建立UserDAO类 利用hibernate实现对底层数据库的操作

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


import javax.annotation.Resource;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;

//数据库访问层
import com.li.model.User;
public class UserDAO {

private SessionFactory sf;
public SessionFactory getSf() {
return sf;
}

//使用Spring的自动注入功能
@Resource(name="sessionFactory")
public void setSf(SessionFactory sf) {
this.sf = sf;
}

//获取用户列表信息
public List getUsers() {
// TODO Auto-generated method stub
//打开hibernate的session
List users = new ArrayList();
Session session = sf.openSession();
Transaction tc = (Transaction) session.beginTransaction();
List list = session.createQuery("From User").list();
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
User u = (User) iterator.next();
users.add(u);
}
try {
tc.commit();
} catch (Exception e) {
e.printStackTrace();
}
session.close();
return users;
}


}

e:建立UserService

import javax.annotation.Resource;


import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;


import com.li.dao.UserDAO;
import com.li.model.User;
public class UserService {
private UserDAO userDAO;
public UserDAO getUserDAO() {
return userDAO;
}
@Resource(name="userDAO")
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}


//获得用户列表
public List getUsers(){
return userDAO.getUsers();
}



}
f:建立Action,showUserAction

import java.util.List;


import javax.annotation.Resource;


import org.springframework.stereotype.Controller;


import com.li.model.User;
import com.li.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
public class ShowUsersAction extends ActionSupport{

//存储接收的User列表信息
private List users;

//用户服务业务类
private UserService userService;
public void setUsers(List users) {

this.users = users;
}
public List getUsers(){
return users;
}

public UserService getUserService() {
return userService;
}
@Resource(name="userService")
public void setUserService(UserService userService) {
this.userService = userService;
}

//演示用
public String listUsers(){
System.out.println("userService is " + userService);
this.users = userService.getUsers();
System.out.println("users is " + this.getUsers());
if(this.getUsers() != null){
return SUCCESS;
}else{
return ERROR;
}

}
}
g:在Struts.xml做如下配置:

\

h:当然最重要的是struts2-spring-plugins.jar包的导入,没有导入它会出现User is not mapped等等的错误信息

i:在web.xml作如下配置:\

好了大功告成SSH整合完毕!文章有不足和错误之处欢迎指正。

 

点击复制链接 与好友分享!回本站首页
上一篇:JSP、JSP指令元素:page指令,include指令,taglib指令
下一篇:JSP中EL表达式无效的问题
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 |
版权所有: 88bifa.com--致力于做实用的IT技术学习网站