- 浏览: 447189 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (267)
- java (8)
- 求职&面试 (1)
- linux (33)
- windows (1)
- C++ (5)
- android (12)
- QT (1)
- 经验 (1)
- memory-leaks (1)
- Streaming&V/A (1)
- network&security (5)
- SCM (13)
- mysql (10)
- browsers (4)
- Windows APIs (2)
- opensource (1)
- pm (1)
- GDI (1)
- database (14)
- MFC (1)
- web&fronts (17)
- Tomcat (4)
- OLE (1)
- 观后感 (1)
- Production (2)
- UML (3)
- Javascript (7)
- Cloud Computing&SAAS (5)
- SoftwareEngineering (1)
- Computer&Maintenance (1)
- Web (8)
- Desgin (1)
- J2ee (10)
- mysql cluster (0)
- LB&HA (2)
- webserver (11)
- php (5)
- cas&authtication (0)
- Languages (1)
- IDEs (3)
- architecture (2)
- iOS (8)
- spring (3)
- webservices (1)
- security (1)
- MVCFrameworks (2)
- bservices (0)
- build-tools (2)
- unittest (1)
- spring-security (0)
- sphinx (2)
- hibernate (1)
- mybatis (2)
- search (0)
- nginx (2)
- design&production (2)
- DFS (0)
- algorithm (0)
- distributed&network (0)
- blogs (0)
- os&admin (0)
- fastcgi (0)
- kv-db (0)
- operation&maintenance (1)
- productions (9)
- 养生 (1)
- appserver (1)
- HTTP (2)
- test (1)
- erlang (2)
- browser (0)
- 非技术 (2)
- mobiles (2)
- cloud computing (2)
- Business (2)
- maven (1)
- python (5)
- 人生 (0)
- Cryptography (3)
- CV (0)
- cms (2)
- jqm (2)
- html (2)
- flex (1)
- redmine (1)
- iptables (1)
- groovy (1)
- scala (1)
- grails (1)
- ftp (3)
- vsftpd (2)
- lua (0)
- chroot (3)
- jailkit (3)
- UED (0)
- myeclipse (2)
- ide (2)
- eclipse (2)
最新评论
-
Nick712:
http://blog.csdn.net/victory08/ ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
xs6262460:
Spring AOP根据JdbcTemplate方法名动态设置数据源 -
xhpscdx:
我的解决办法是把D:\ACRS\Projects\TAIS 下 ...
处理SVN出现:Cleanup failed to process the following paths: xxx -
hnraysir:
总结得相当不错,支持下。
使用CodeIgniter 创建 RESTful 服务 REST API【原创译文】 -
云上太阳:
这个必须评论下,间接的救过俺的命啊
解决tomcat启动报错,加强错误日志的显示:
新建表test
表的属性为主键id,以及username和password
打开MyEclipse,需要注意的是这里应该处于MyEclipse Java Enterprise视图;新建一个Web Project,输入适当的工程名字,这里我们输入ssh,Finish即可
在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Struts Capabilities…,添加Struts的支持
在弹出的对话框中选择Struts 1.2,修改Base package for new classes成所需的包名,其余保持原状,Finish即可
在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Spring Capabilities…,添加Spring框架支持
选择好后Next,在窗口中选择Browse,选择ssh工程下面的WEB-INF文件夹,然后Finsh
在MyEclipse右上角选择MyEclipse Database Explorer,打开数据库管理视图
在左侧的DB Browser点击右键,选择New…,打开Database Driver对话框
在Database Driver对话框中按照如下配置选择数据库驱动。首先选择Driver Template,在这里我们选择Mircosoft SQL Server(jTDS driver)。Driver Name是以后配置时使用的驱动名字,用以区分驱动,这里使用SQLServertest即可。然后根据实际情况填写URL,User name和Password。点击Add JARs添加数据库驱动文件。为方便配置,可以选择Save password保存密码。配置完毕后Finish即可
当配置完数据源后,就可以添加Hibernate支持了。切换到MyEclipse Java Enterprise视图,在ssh工程上面右击,在弹出的菜单中选择MyEclipse -> Add Hibernate Capabilities…,添加Hibernate的支持
我们选择Hibernate3.2,全部按照默认设置即可,然后点击Next
在对话框中选择Spring configuration file,表示我们希望将Hibernate托管给Spring进行管理,这是将Hibernate与Spring进行整合的基础。然后点击Next
在出现的对话框中选择Existing Spring configuration file。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的那个文件。然后在SessionFactory ID中输入Hibernate的SessionFactory在Spring配置文件的Bean ID的名字,这里我们输入sessionFactory即可。然后点击Next
在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。然后在DB Driver里面选择我们刚刚配置好的ssh,MyEclipse会将其余的信息自动填写到表格里面。然后点击Next
在出现的对话框中取消Create SessionFactory class。点击Finish即可
此时,切换到MyEclipse DataBase Explorer视图,右键打开数据库连接,在需要使用的数据表格上面点击右键,选择Hibernate Reverse Engineering...。这里我们使用刚刚建立在test数据库中添加的user表
在打开的对话框中修改Java src folder为我们建立的/ssh/src,这里需要选择到src文件夹,并且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为user。然后选择Java Data Object,建立POJO类。然后选择Java Data Access Object。其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next
在出现的对话框中选择ID Generator为native,然后点击Finish即可
建立TestDAO的借口ITestDAO,右击鼠标——>Refactor——>Extract Interface
选择全部,OK即可
将ITestDAO移入com.ssh.dao,将TestDAO移入com.ssh.dao.imply
DAO类是直接与数据库打交道的类,为了对业务逻辑进行封装,我们将业务全部写在service类里面,和dao一样,我们先建立service包,里面添加业务接口,具体的实现放在service.impl里面
在service中建立接口ITestService.java,在service中impl中建立TestService.java
- ITestService.java
- package com.ssh.service;
- import java.util.List;
- public interface ITestService {
- public abstract List findByUsername(Object username);
- }
- UserService.java
- package com.ssh.service.impl;
- import java.util.List;
- import com.ssh.dao.ITestDAO;
- import com.ssh.service.ITestService;
- public class TestService implements ITestService{
- private ITestDAO testDAO;
- public List findByUsername(Object username){
- return testDAO.findByUsername(username);
- }
- public ITestDAO getTestDAO() {
- return testDAO;
- }
- public void setTestDAO(ITestDAO testDAO) {
- this.testDAO = testDAO;
- }
- }
此时的整体工程结构为
此时的applicationContext内容需要配置bean内容为
- <bean id="UserDAO" class="com.ssh.dao.impl.UserDAO">
- <property name="sessionFactory">
- <ref bean="sessionFactory" />
- </property>
- </bean>
Struts和Spring整合方式其核心是让Struts能够访问到交给Spring进行托管的类,这个我在网上看到了一个方式,自我认为很好,因此只要我们可以让Struts从Spring获得需要的类就可以了。 为了达到这个目标,我们创建一个类BaseAction
- package com.ssh.struts.action;
- import org.springframework.web.context.WebApplicationContext;
- import org.springframework.web.context.support.WebApplicationContextUtils;
- import org.springframework.web.struts.ActionSupport;
- public class BaseAction extends ActionSupport {
- protected Object getBean(String id) {
- WebApplicationContext ctx = WebApplicationContextUtils
- .getWebApplicationContext(this.servlet.getServletContext());
- return ctx.getBean(id);
- }
- }
为了让Web容器能够初始化Spring,我们需要修改web.xml文件,增加以下内容
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/applicationContext.xml</param-value>
- </context-param>
- <servlet>
- <servlet-name>SpringContextServlet</servlet-name>
- <servlet-class>
- org.springframework.web.context.ContextLoaderServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
通过上面的配置,我们已经能够让这三个框架来协同作战了,让我们现在来测试一下。
首先创建基于Struts的JSP页面。打开WEB-INF下面的struts-config.xml,单击右键,选择New -> Form, Action and JSP
在弹出的对话框中添加User case,然后点击Add生成Properties代码。这会由MyEclipse自动生成相应的Form代码。输入完成后选择JSP选项卡,选上Create JSP form,修改路径,然后点击Next
在出现的对话框中修改Path,将Superclass更改为前面定义的BaseAction,然后将Input Source改为自己需要的路径。完成后Finish即可
然后在struts-config.xml点击右键,选择New -> Forward,准备创建一个ActionForward
在弹出的对话框中,选择Local Action Forward,通过Browser填写Action Path,然后填写Name和Path,完成后点击Finish即可
在LoginAction中添加如下代码
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- LoginForm loginForm = (LoginForm) form;
- String username = loginForm.getUsername();
- String password = loginForm.getPassword();
- ActionForward forward = mapping.getInputForward();
- ITestService service = (ITestService) getBean("testService");
- Test userFromDB = (Test)service.findByUsername(username).get(0);
- if (userFromDB.getPassword().equals(password)) {
- forward = mapping.findForward("suc");
- }
- return forward;
- }
- }
login.jsp
- <%@ page language="java" pageEncoding="ISO-8859-1"%>
- <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
- <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
- <html>
- <head>
- <title>JSP for LoginForm form</title>
- </head>
- <body>
- <html:form action="/login">
- password : <html:password property="password"/><html:errors property="password"/><br/>
- username : <html:text property="username"/><html:errors property="username"/><br/>
- <html:submit/><html:cancel/>
- </html:form>
- </body>
- </html>
上面的工作完成以后理论上应该可用,但是当你运行的事后却发现会有一个非常诡异的异常出现
这个问题本来面目是这样,由于MyEclipse给我们做的事情太全面了,全面到spring和hibernate的包都是重复引用的。
其解决办法就是干掉多余的包,在Tomcat 5.5/webapps/ssh/WEB-INF/lib下的asm-2.2.3.jar就可以了,在重启Tomcat我们看看我们干了这么长时间的成果吧
在applicationContext.xml中加入如下内容进行初始化
- <bean name="testService" class="com.ssh.service.impl.TestService">
- <property name="testDAO">
- <ref bean="TestDAO" />
- </property>
- </bean>
这样就完成了SSH框架实现的登录功能
发表评论
-
推荐10个Java开源CMS系统
2013-02-16 17:39 0推荐10个Java开源CMS系统 ... -
JavaMelody系统监控工具使用配置
2013-02-02 01:09 1334JavaMelody系统监控工具使用配置 2 ... -
Sun jdk、Openjdk、Icedtea jdk关系
2012-12-28 16:02 1109Sun jdk、Openjdk、Icedtea jdk ... -
HttpClient压缩传输的代码,大部分都不靠谱,apache httpclient 官网的最靠谱,亲测!
2012-12-17 16:47 1182HttpClient压缩传输的代码,大部分都不靠谱,ap ... -
android中实现消息推送
2012-12-05 23:30 0android中实现消息推 ... -
androidpn的学习研究(五)【转】androidpn-client 常见BUG解决方法
2012-12-05 22:57 0androidpn的学习研究(五)【转】andro ... -
解决androidpn服务器端掉线不会重连的问题
2012-12-05 22:50 6023解决androidpn服务器端掉线不会重连的问题 wi ... -
jetty http client 实现分析
2012-11-25 00:15 0jetty http client 实现分析 ... -
HttpClient的超时用法小记
2012-11-25 00:02 0HttpClient的超时用法小记 Ht ... -
关于 java.util.concurrent.RejectedExecutionException
2012-11-05 16:15 0关于 java.util.concurrent.Reje ... -
异常设计----何使用异常的原则
2012-09-19 17:49 899异常设计----何使用异常的原则 摘要 本文 ... -
JAVA异常设计原则
2012-09-19 17:49 782JAVA异常设计原则 ... -
Java框架数据库连接池比较(c3p0,dbcp和proxool)
2012-06-12 21:42 1499现在常用的开源数据连接池主要有c3p0,dbcp和proxoo ...
相关推荐
【标题】"超市管理信息系统(SSH struts+spring+hibernate)"是一个综合性的IT项目,它基于流行的Java企业级开发框架SSH(Struts、Spring、Hibernate)来构建。SSH框架是许多大型企业级应用的首选,因为它提供了一个...
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
SSH(Struts+Spring+Hibernate)是一个经典的Java Web开发框架,用于构建高效、可扩展的企业级应用程序。这个教务管理信息系统是基于SSH框架实现的,提供了完整的源代码,可以直接运行,便于开发者学习和参考。 **...
本文将详细介绍如何在MyEclipse 8.5环境下搭建基于Struts2.1、Spring3.0以及Hibernate3.3的SSH框架,并通过图解的方式引导读者完成整个搭建过程。 #### 二、创建 Web 项目 首先,需要在MyEclipse 8.5中创建一个新...
农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts 2 +spring+ hibernate农业网站 (ssh) struts ...
在IT行业中,SSH(Struts + Spring + Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。本项目通过SSH框架实现了图书管理系统的图书修改和删除功能,下面将详细介绍这三个核心组件...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
SSH(Struts+Spring+Hibernate)是Java Web开发中一种常见的技术栈,它将MVC设计模式、依赖注入和持久层框架集成为一个整体,大大提高了开发效率和代码的可维护性。下面我们将深入探讨SSH框架的各个组成部分及其结合...
语言程序设计资料:基于SSH(Struts + Spring + Hibernate)框架的网上购物系统.ppt
网上订餐系统(struts+spring+hibernate).rar 网上订餐设计主要采用采用MYSQL数据库进行数据表的设计,利用JSP的动态生成页面编程技术, 实现了用网络展示餐饮信息、浏览餐饮页面、注册客户、更改客户信息;同时,...
library_ssh2可能是一个包含系统源代码的压缩文件,"ssh2"可能表示系统使用了Struts2、Spring2和Hibernate2这三个框架的早期版本。这个文件中应包含所有必要的Java源代码、配置文件、Web应用相关的资源(如JSP页面、...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了一个使用依赖注射...
Eclipse 搭建 SSH 架构(Struts + Spring + Hibernate) Eclipse 是一个功能强大且功能丰富的集成开发环境(IDE), SSH 架构(Struts + Spring + Hibernate)是 Java Web 开发中常用的架构模式。下面将详细介绍...
本系统采用struts+spring+hibernate架构,重在讲述三者结合在一起的应用开发,所有源程序都 有详细的注释,供入门者学生参考,未经作者允许不得用于商业用途,只能用于教学或个人学习。 程序只是整个系统中的...
总的来说,基于Struts2+Spring+Hibernate+MySql的注册登录系统是利用这些技术协同工作,实现了用户注册、登录的基本功能。Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合应用广泛用于构建复杂的Web应用程序,如本例中的图书馆管理系统。这个系统实现了用户登录和注册功能,并且提供了对书籍表的操作,包括增、删、改...
Struts、Spring 和 Hibernate 是Java开发中非常著名的三个开源框架,它们组合在一起形成的SSH(Struts、Spring、Hibernate)框架,是企业级Web应用开发的常用解决方案。SSH框架的整合可以实现模型-视图-控制器(MVC...
Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...