由于本人自学的,所以借鉴于以下的博客和错误修改的博客:

    http://blog.csdn.net/lylyyg/article/details/46932493

    http://blog.csdn.net/zongzhankui/article/details/6099552

    http://wenku.baidu.com/link?url=lVKV4WNu1VjzoBksNh1fCOjDhlV3R25UBb90R4jgRjRkd5fRMbKClU9mHIHNwVxBR4UjE_rYRBzP1yt1VTXMJpTj0p29jxD7qo1K04clpHu

  作为一个初学javaweb的人,要弄懂SSH框架是不容易的,所以只有从简单的登录开始做起,才能更好的更好的理解SSH框架基本搭建和实现功能的步骤。

  准备的工具:

   1.Myeclipse 10

   2.struts2-spring-plugin-2.1.2.jar包(不添加这个包,strut.xml不能访问到applicationContext.xml里bean注入的类名的id)

   3.tomcat 7.X或其他的tomcat版本

   4.Mysql 5.5或以上

   5.navicat(mysql数据库的可视化工具)

   第一步:

    先建立数据库:

    

    第二步:  

    搭建SSH框架的步骤:

    1.建立web工程:

    简单搭建的SSH框架实现简单的登陆_第1张图片

    2.添加SSH框架(在工程名上右击->选中Myeclipse->add strut2..[其他的类似]):

        添加的顺序为:strut2->spring->hibernate

    

        参照百度的即可或上文给出的百度链接;


    第三步:

    建立登陆的功能实现模块:

    1.先用hibernate逆向工程创建持久化类和*.hbm.xml文件。

    简单搭建的SSH框架实现简单的登陆_第2张图片

    2.编写IALoginDao接口类和LoginDAoImpl类implement Dao类

    IALoginDao.java  代码如下:

package com.loginSSH.dao;

public interface IALoginDao {
	
	boolean login(String userName,String pwd);
	
}

  LoginDaoImpl.java  代码如下:

package com.loginSSH.dao.daoImpl;

import java.util.List;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.loginSSH.dao.IALoginDao;
import com.loginSSH.model.UserInfo;

public class LoginDaoImpl extends HibernateDaoSupport implements IALoginDao {

	@SuppressWarnings("unchecked")
	public boolean login(String userName, String pwd) {
		System.out.println(userName+"dao"+pwd);
		List list=this.getHibernateTemplate().find("from UserInfo where userName=? and userPwd=?",userName,pwd);
		boolean flag=false;
		System.out.println("list长度:"+list.size());
		if(list.size()>0){
			flag=true;
		}
		return flag;
	}
	
}

  编写IALoginService接口类和UserServiceImpl类implement UserService接口类:

    IALoginService.java 代码如下:

 

package com.loginSSH.service;

public interface IALoginService {
	boolean login(String userName,String pwd);
}

   LoginServiceImpl.java 代码如下:

package com.loginSSH.service.serviceImpl;

import com.loginSSH.dao.IALoginDao;
import com.loginSSH.service.IALoginService;

public class LoginServiceImpl implements IALoginService {
	private IALoginDao loginDao;
	public void setLoginDao(IALoginDao loginDao){
		this.loginDao=loginDao;
	}
	public IALoginDao getLoginDao(){
		
		return this.loginDao;
	}
	
	public boolean login(String userName, String pwd) {
		
		System.out.println(userName+"service"+pwd);
		return loginDao.login(userName, pwd);
	}

}

 编写LoginAction:

    LoginAction.java 代码如下:

    

package com.loginSSH.action;

import com.loginSSH.service.IALoginService;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	private IALoginService loginService;
	private String userName;
	private String pwd;
	public IALoginService getLoginService() {
		return loginService;
	}
	public void setLoginService(IALoginService loginService) {
		this.loginService = loginService;
	}
	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 login(){
		System.out.println(getUserName()+"惊喜"+getPwd());
		boolean flag=loginService.login(this.getUserName(),this.getPwd());
		System.out.println(flag);
		if(flag){
			
			return "Success";
		}else{
			return "input";
		}
		
	}
	

	
	
}

 往applicationContext.xml里添加以下代码:

    


	
		
	
	
	
		

	
	
	
		

	

并在 web.xml配置spring监听器的实现:

    

 
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
  
  
  	contextConfigListener
  	/WEB-INF/applicationContext.xml
  

 在strut.xml中配置from逼到提交上来的userName和password:

    


		
			/index.jsp
			/main.jsp
		
	

编写index.jsp页面:

    index.jsp 代码如下:

    

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>




">

My JSP 'index.jsp' starting page









	
		用户名: 密码: 
		
	

在webRoot下随便建立一个main.jsp文件:

    main.jsp 代码默认即可;


最后一步部署工程到tomcat:

测试登录出现:


简单搭建的SSH框架实现简单的登陆_第3张图片

表示成功。

注意事项:

 1.可能出现在strut.xml中找不到在applicationContext.xml中注入的bean的ID名,添加struts2-spring-plugin-2.1.2.jar到WEB-INF/lib文件夹下即可。

 2.可能出现java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I异常,该异常是因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要删除前一个低版本的,, struts1.3 和2.1都带有antlr-2.7.2.jar,具体操作如下:在MyEclipse 下,windows-->preferences-->在文本框中搜索struts2-->选择 antlr2.7.2-->remove,如果已经运行过的工程则还要删除tomcat目录lib的antlr-2.7.2.jar。

该文章只作为本博主的个人经历和记录,如有侵权,请联系博主修改或删除。谢谢。