step1: 在myeclipse上新建一个web项目

step2: 加入struts2所需的包

freemarker-2.3.16

ognl-3.0

struts2-core-2.2.1

struts2-dojo-plugin-2.2.1

struts2-json-plugin-2.2.1

struts2-spring-2.2.1

xwork-core-2.2.1

step3:加入spring2.5

右键点击工程名称,MyEclipse->Add Spring Capabilities。

选择Spring version为Spring 2.5,选中Spring 2.5 AOP Libraries、Spring 2.5 Core Libraries、Spring 2.5 Persistence Core Libraries、Spring 2.5 Persistence JDBC Libraries、Spring 2.5 Web Libraries共5个包。选中Copy checked Library contents to project folder (TLDs always copied),点击Next。

点击Next,点击Folder文本框后的Browse,在弹出对话框中选择spring配置文件存储位置为WebRoot/WEB-INF,点击Finish。至此已经完成加载Spring,在WEB-INF文件夹下已经生成了配置文件applicationContext.xml。

step4: 在data browser中新建一个connection

step5: hibernate

右键点击工程名称,MyEclipse->Add Hibernate Capabilities。 
选择Hibernate Specification为Hibernate 3.2,选中所有包,选中Copy checked Library Jars to project folder and add to build-path,点击Next。 
选择Spring configuration file (applicationContext.xml),点击Next。 
选择Existing Spring configuration file,点击Next 
只需在Bean Id文本框中输入一个Id名,作为数据库源的代用名,意义不大,采用默认设置即可。然后在DB Driver下拉列表中,选择上一步在MyEclipse中创建好的数据库源SQL Server 2005,其他信息将自动填写,点击Next。 
在弹出对话框中去掉Create SessionFactory class?复选框,不创建该类,点击Finish完成。 

创建过程中,加载的jar包文件可能有重复,所以这个时候如果提示有某些jar包重复,选择Keep Existing即可。

6. Delete Conflictive Jars 
手动删除三个重复的jar包(不能在build-path里面删除,在build-path里面删除无效): 
  asm-2.2.3.jar 
  cglib-2.1.3.jar 
  xerces-2.6.2.jar

7. Create struts.xml 
在src包下新建一个struts.xml文件,该文件内容如下:

Struts.xml代码
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 <constant name="struts.objectFactory" value="spring" />
 <include file="struts-default.xml"></include>
 <package name="default" extends="struts-default">
  <action name="userInfoLogin" class="userInfoAction" method="login">
   <result name="FAILURE">/MainWeb/failure.jsp </result>
   <result name="SUCCESS">/MainWeb/success.jsp</result>
  </action>
 </package>
</struts>
8. 配置web.xml 
配置web.xml文件,其内容如下:

Web.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext.xml</param-value>
 </context-param>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>
 <listener>
  <listener-class>
      org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
</web-app>
9. 使用Myeclipse反向生成dao层

将前面数据源dataSource所示数据库SSH中的UserInfo表反向生成Hibernate实体类文件。 
UserInfo.java 
UserInfoDaoImpl.java 
UserInfo.hbm.xml 
不要生成abstract class,然后一路点击Next即可。 
在com.shawnqiu.bean下生成三个文件UserInfo.java、UserInfoDAO.java、UserInfo.hbm.xml。将UserInfoDAO.java 更名为UserInfoDaoImpl.java,置于com.shawnqiu.dao.impl,将UserInfo.hbm.xml置于dbConfig下。

10. 创建UserInfoServiceImpl.java

Java代码
package com.shawnqiu.service.impl;
import java.util.*;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.shawnqiu.bean.UserInfo;
public class UserInfoServiceImpl extends HibernateDaoSupport {
 //普通用户登录验证
 @SuppressWarnings("unchecked")
 public boolean checkUser(String userName,String userPassword){
    boolean flag = false;
    String hql = "from UserInfo as userInfo where userInfo.userName = '"+userName+"' and userInfo.userPassword = '"+userPassword+"'";
    List<UserInfo> userInfoList = this.getHibernateTemplate().find(hql);
    if(userInfoList.size()>0){
     flag = true;
    }
    return flag;
 }
}
11. 创建UserInfoService.java 
右键点击UserInfoServiceImpl.java,选择Refactor->Extract Interface。 
设置Interface name为UserInfoService,同时选择Select All即可,点击OK。 
如上图所示,UserInfoService.java和UserInfoServiceImpl.java在同一package中。右键点击UserInfoService.java,选择Refactor->Move 
选择com.shawnqiu.service,点击OK即可。

12. 创建UserInfoAction.java

Java代码
package com.shawnqiu.action;
import com.opensymphony.xwork2.ActionSupport;
import com.shawnqiu.service.UserInfoService;
public class UserInfoAction extends ActionSupport{
 private String userName;
 private String userPassword;
 public UserInfoService getUserInfoService() {
  return userInfoService;
 }
 public void setUserInfoService(UserInfoService userInfoService) {
  this.userInfoService = userInfoService;
 }
 private UserInfoService userInfoService;

 public String getUserName() {
    return userName;
 }
 public void setUserName(String userName) {
    this.userName = userName;
 }
  public String getUserPassword() {
    return userPassword;
 }
 public void setUserPassword(String userPassword) {
    this.userPassword = userPassword;
 }
 public String execute(){
//    String page = "FAILURE";
//    boolean flag = false;
//    flag = personManage.checkUser(userName, userPassword);
//    if(flag){
//     page = "SUCCESS";
//    }
//    return page;
  return "";
 }
 public String login(){
     String page = "FAILURE";
     boolean flag = false;
     flag = userInfoService.checkUser(userName, userPassword);
     if(flag){
      page = "SUCCESS";
     }
     return page;
 }
}
13. 创建Jsp Pages 
首先在WebRoot下新建一个MainWeb文件夹,并同时创建3个文件,分别是login.jsp、success.jsp、failure.jsp,源代码如下。 
login.jsp

Jsp代码
<%@ page language="java" pageEncoding="utf-8"%>
<%@tagliburi="/struts-tags" prefix="s"%>
<html>
<head>
   <title>用户登录</title>
</head>
<body>
<center>
   <div id="login">
    <s:form action="userInfoLogin">
     <s:textfield label="用户名" name="userName"></s:textfield>
     <s:password label="密码" name="userPassword"></s:password>
     <s:submit value="登录"></s:submit>
    </s:form>
   </div>
</center>
</body>
</html>
success.jsp

Jsp代码
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Failure</title>
  </head>
  <body>
    登录成功!<br>
  </body>
</html>

failure.jsp

Jsp代码
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Failure</title>
  </head>
  <body>
    登录失败!<br>
  </body>
</html>

14. 配置applicationContext.xml

Applicationcontext.xml代码
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=SSH">
</property>
<property name="username" value="sa"></property>
<property name="password" value="Wxzy!@%&amp;"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>dbConfig/UserInfo.hbm.xml</value>

</list>
</property>
</bean>

<bean id="userInfoServiceImpl" class="com.shawnqiu.service.impl.UserInfoServiceImpl" abstract="false"
   lazy-init="default" autowire="default" dependency-check="default" scope="prototype">
   <property name="sessionFactory" >
    <ref local="sessionFactory"/>
   </property>
</bean>
<bean id="userInfoAction" class="com.shawnqiu.action.UserInfoAction" scope="prototype">
       <property name="userInfoService">
           <ref bean="userInfoServiceImpl" />
       </property>
</bean>

</beans>

15. 创建log4j.properties

Log4j.properties代码
# Set root category priority to INFO and its only appender to CONSOLE.
log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.Threshold=INFO
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

转载于:https://www.cnblogs.com/kevinge/archive/2011/05/20/2051886.html

用myeclipse搭建S2SH struts2 spring hibernate相关推荐

  1. Struts2+Spring+Hibernate搭建全解!

    Struts2+Spring+Hibernate是J2EE的最新流行框架.本篇是我搭建这个框架的经验总结,有很多人搭建这个框架总会遇到 大大小小的问题,网上也没有什么行之有效的方案或成体系的介绍,所以 ...

  2. SSH之IDEA2017整合Struts2+Spring+Hibernate

    摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate):介绍將分为三个部分来讲,分别是新建工程,Spring引 ...

  3. Struts2 + Spring + Hibernate 通用 Service 和 DAO

    我在 Struts2 + Spring + Hibernate  项目开发中总结出了一个Service 和 DAO ,可以用于处理任何的pojo(bean).使用这两个Service 和 DAO 可以 ...

  4. Java Web项目源代码|CRM客户关系管理系统项目实战(Struts2+Spring+Hibernate)解析+源代码+教程

    客户关系管理 (CRM) CRM一般指客户关系管理 客户关系管理是指企业为提高核心竞争力,利用相应的信息技术以及互联网技术协调企业与顾客间在销售.营销和服务上的交互,从而提升其管理方式,向客户提供创新 ...

  5. Struts2+Spring+Hibernate 三大框架的合并集成

    这次来看看Struts2+Spring+Hibernate三大框架的整合应用,主要是Spring和Hibernate框架的整合,因为前边已经将Strtus2+Spring整合过了基本一样. 首先看一下 ...

  6. Spring、Struts2+Spring+Hibernate整合步骤

    所使用的Jar包: Hibernate: Spring(使用MyEclipse自动导入框架功能) Struts2: 注解包和MySql驱动包: 1.配置Hibernate和Spring: <be ...

  7. 【struts2+spring+hibernate】ssh框架整合开发

    SSH框架整合 1 Struts2+Spring+Hibernate导包 Struts2导入jar包: * struts2/apps/struts2-blank.war/WEB-INF/lib/*.j ...

  8. java高级框架应用开发案例教程_Java高级框架应用开发案例教程:struts2+spring+hibernate PDF...

    资源名称:Java高级框架应用开发案例教程:struts2+spring+hibernate PDF 第1章 struts+spring+hibernate概述 1.1 框架概述 1.2 struts ...

  9. 联系人管理-客户拜访记录| CRM客户关系管理系统项目 实战七(Struts2+Spring+Hibernate)解析+源代码

    联系人管理-客户拜访记录| CRM客户关系管理系统项目 实战七(Struts2+Spring+Hibernate)解析+源代码 客户拜访记录的列表的显示, 客户拜访记录的保存, 客户拜访记录查询(条件 ...

最新文章

  1. pytorch训练过程中loss出现NaN的原因及可采取的方法
  2. disconf(二):服务端使用总结
  3. 进程锁 读写文件的小例子 C++代码
  4. [转载] 杜拉拉升职记——39 充满变数的时期
  5. ZooKeeper之(一)ZooKeeper是什么
  6. 500 lines or less_EXCL公式入门——AND和OR
  7. Ubuntu 14.04 无线网卡驱动安装
  8. 【7.24校内交流赛】T3【qbxt】复读警告
  9. php 识别图片指定区域,简单实现图片局部识别的方法
  10. linux下搭建apache+mysql+php环境(LAMP)
  11. HTML+CSS+JS实现 ❤️3D旋转魔方图片相册特效❤️
  12. 腾讯云CDN加速COS图床
  13. 图片转换成文字的在线转换方法
  14. 万字实录:从DDCTF大赛看当前网络安全新趋势 | 硬创公开课总结文+视频(上篇)...
  15. DAX——FILTER
  16. JSON Viewer有个大bug导致不得不放弃掉
  17. RxJava+Retrofit+Mvp实现购物车(没有结算页面)
  18. android9是最新版本,Android9.0正式版发布,你的手机升级到主流Android8.0系
  19. 图解Ubuntu分区
  20. 东邪西毒新编 (转)

热门文章

  1. error: default argument given for parameter 4
  2. 统计文件中有多少个单词amp;c语言实现
  3. 160 - 23 Chafe.1
  4. 从WebRtc学习RTP协议
  5. CMake学习使用(基于vscode)
  6. 《MySQL——索引笔记》
  7. 智能车复工日记【N】:图像处理——环岛debug记录(持续更新)
  8. dbms支持哪几种数据模型_DBMS中不同类型的数据模型
  9. kotlin 查找id_Kotlin程序查找给定范围内的素数
  10. 横向全屏滑动插件_【案例】JQuery横向手风琴图片轮播切换代码