(本博文更针对于有一定java基础的小伙伴,零基础学习可能有一丢丢不理解,如有疑问欢迎随时qq咨询 330151437 加好友时请备注)
翻阅了很多网上的ssh搭建的文章,发现每个人写的都有自己的故事,从中都受益匪浅,所以自己也写思考着总结了一下搭建过程里的故事,其间虽然小问题层出不穷,但是拨开云雾,豁然开朗的感觉着实让人心情美丽~~~~~
自己的搭建的过程还是遇到了很多不注意的小细节问题,本博文主要记载整个ssh搭建的过程,以便日后阅读
博文中提到的jar包文件以及项目我会在后文添加下载链接供大家参考,共同学习,有错误也望能够指教!
首先看一下整个项目,对ssh搭建大体了解一下需要新建哪些文件
我的项目名称叫“Kind” 其余目录请参照上图。
整个搭建过程分-------部
一、环境配置
1、eclipse版本(不要太老的版本就ok啦):
Eclipse IDE for Java Developers
Version: Luna Service Release 2 (4.4.2)
2、jdk1.7.0_60
3、Tomcat:apache-tomcat-8.0.8
4、mysql server 4.1
二、jar包导入
刚开始我认为jar导入项目就是最让人头疼的事情啦~~~~那么多jar包我到底用哪些啊?
现在轻轻的告诉你们其实ssh的jar还挺容易的,不用那么繁琐,如果你的目的和我一样想知道ssh框架到底是怎么运作的那么你来对了
既然是ssh整合,那么需要的jar包有三类
注意:上图jar包中strust的所需包下有一个jar为struts2-spring-plugin-2.3.8.jar-----这是Struts2整合Spring的插件
上图jar包中hibernate的所需包下有一个jar为mysql-connector-java-5.1.10-bin.jar----mysql的驱动包
三、接下来的工作就是如何搭建工程文件啦~~
1、根据最上面给好的图建立好路径
1).LoginAction.java文件
package com.jh.action;
import com.jh.service.LoginService;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
/**
* 序列号
*/
private static final long serialVersionUID = 1L;
private LoginService loginService;
//这个名称一定要和login.jsp里的输入框的名称相同,
//否则后续action调用的时候将获取不到页面传递的值
private String userName;
private String password;
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
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;
}
//默认方法
public String execute() throws Exception {
if (loginService.isLogin(userName, password)) {
return SUCCESS;
} else {
return INPUT;
}
}
}
2).RegAction.java文件
package com.jh.action;
import java.util.ArrayList;
import java.util.List;
import com.jh.entity.User;
import com.jh.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
public class RegAction extends ActionSupport{
/**
* 序列号
*/
private static final long serialVersionUID = 1L;
private UserService userService;
private List list=new ArrayList();
private String userName;
private String pwd;
private String name;
public void setUserService(UserService userService) {
this.userService = userService;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String execute(){
User user=new User();
user.setName(name);
user.setUserName(userName);
user.setPwd(pwd);
userService.add(user);
return list();
}
public String list(){
List list=userService.findUsers();
this.list.addAll(list);
return SUCCESS;
}
}
3).UserDao.java文件 这是个接口
package com.jh.dao;
import java.util.List;
import com.jh.entity.User;
public interface UserDao{
public void add(User user);
public List findUsers();
}
4).UserDaoImpl文件 这个是UserDao.java的实现类
package com.jh.dao.impl;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.jh.dao.UserDao;
import com.jh.entity.User;
public class UserDaoImpl extends HibernateDaoSupport implements UserDao{
public void add(User user) {
getHibernateTemplate().save(user);
}
public List findUsers() {
List list=(List) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query=session.createQuery("from User");
return query.list();
}
});
return list;
}
}
5).User.java文件
package com.jh.entity;
public class User {
private Integer id;
private String name;
private String pwd;
private String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
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;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
6).LoginService.java文件 这是个接口
package com.jh.service;
public interface LoginService {
boolean isLogin(String name,String pwd);
}
7).UserService.java文件 这是个接口
package com.jh.service;
import java.util.List;
import com.jh.entity.User;
public interface UserService {
public void add(User user);
public List findUsers();
}
8).LoginServiceImpl.java 这个是LoginService.java的实现类
package com.jh.service.impl;
import com.jh.service.LoginService;
public class LoginServiceImpl implements LoginService{
public boolean isLogin(String name, String pwd) {
if ("1".equals(name) && "1".equals(pwd)) {
return true;
} else {
return false;
}
}
}
9).UserServiceImpl.java 这个是UserService.java的实现类
package com.jh.service.impl;
import java.util.List;
import com.jh.dao.UserDao;
import com.jh.entity.User;
import com.jh.service.UserService;
public class UserServiceImpl implements UserService{
private UserDao userDao;
public UserDao getUserDao() {
return userDao;
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void add(User user) {
userDao.add(user);
}
@Override
public List findUsers() {
return userDao.findUsers();
}
}
至此项目中用到的所有的java文件都创建完毕,eclipse环境搭建ssh(Struts2+Spring2.5+Hibernate3)框架小谈(下)将总结项目中如何编写配置文件整合
包括struts的配置文件:struts.xml
spring的配置文件:applicationContext.xml
hibernate的相关文件:User.hbm.xml
以及以下方便项目的小配置文件:mess.properties