Myeclipse整合ssh实例Word文件下载.docx
《Myeclipse整合ssh实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《Myeclipse整合ssh实例Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
切换到MyEclipseJavaEnterprise视图,在SSH工程上面右击,在弹出的菜单中选择MyEclipse->
AddHibernateCapabilities…,添加Hibernate的支持
在对话框中选择Springconfigurationfile,表示我们希望将Hibernate托管给Spring进行管理。
这是将Hibernate与Spring进行整合的基础
在出现的对话框中选择ExistingSpringconfigurationfile。
因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。
MyEclipse会自动找到存在的那个文件。
然后在SessionFactoryID中输入Hibernate的SessionFactory在Spring配置文件中的BeanID的名字,这里我们输入sessionFactory即可
在出现的对话框中的BeanId里面输入数据源在Spring中的BeanID的名字,这里我们输入dataSource。
然后在DBDriver里面选择我们刚刚配置好的MySQL,MyEclipse会将其余的信息自动填写到表格里面
在出现的对话框中取消CreateSessionFactoryclass。
至此我们已经完成了SSH的添加,但现在只是将所有需要的文件放到了一起,并没有完成所有的配置。
现在我们要完成的是Hibernate的反向工程。
我们知道,Hibernate提供了ORM(ObjectRelationMapping)机制,即将关系型数据库映射为面向对象的实现。
现在要做的是将数据库的表格映射为对象,这里会有大量的配置文档,但MyEclipse可以很方便的完成这些工作。
首先切换到MyEclipseDataBaseExplorer视图,在需要使用的数据表格上面点击右键,选择HibernateReverseEngineering...。
这里我们使用刚刚建立的ssh数据库中的ssh表。
在打开的对话框中修改Javasrcfolder为我们建立的/SSH/src,这里需要选择到src文件夹,并且需要填写Javapackage,这是MyEclipse生成的类所在的包,我们将其取名为obj。
然后选择JavaDataObject,建立POJO类。
然后选择JavaDataAccessObject。
其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。
这里会封装一些常用的操作,简化我们的编写。
填写完成后点击Next
此时SSH项目的目录结构如下所示。
其中的User.Java是MyEclipse生成的POJO类,是使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。
新建一个接口类IUserDAO
packageorg.wuliu.ssh.dao;
importjava.util.List;
importorg.wuliu.ssh.obj.User;
publicinterfaceIUserDAO{
publicUserfindById(Integerid);
publicListfindByName(Objectname);
publicvoidsave(Useruser);
}
添加common-pool-1.4包
添加service包和impl包,调正文件结构,新建IUserService.java和UserService.java
packageorg.wuliu.ssh.service;
publicinterfaceIUserService{
publicUsergetUserById(Integerid);
publicUsergetUserByName(Stringname);
publicvoidaddUser(Useruser);
packageorg.wuliu.ssh.service.impl;
importorg.wuliu.ssh.dao.IUserDAO;
importorg.wuliu.ssh.service.IUserService;
publicclassUserServiceimplementsIUserService{
privateIUserDAOuserDAO;
publicUsergetUserById(Integerid){
returnuserDAO.findById(id);
}
publicUsergetUserByName(Stringname){
Listlist=userDAO.findByName(name);
if(list.size()==0){
returnnull;
}else{
return(User)list.get(0);
}
publicvoidaddUser(Useruser){
userDAO.save(user);
publicIUserDAOgetUserDAO(){
returnuserDAO;
publicvoidsetUserDAO(IUserDAOuserDAO){
this.userDAO=userDAO;
}
}
添加Form,ActionandJSP在弹出的对话框中添加Usercase,然后点击Add生成Properties代码。
这会由MyEclipse自动生成相应的Form代码。
输入完成后选择JSP选项卡,选上CreateJSPform,修改路径
这个BaseAction类继承自ActionSupport类,后者是Spring中对应着Struts的Action的类。
ActionSupport类中提供了访问WebApplicationContext的简便方法,而后者是在web程序中获取Spring托管的类的上下文。
以后我们编写的Struts中的Action继承自这个BaseAction,就可以利用getBean在我们的Action中获取Spring托管的类。
packageorg.wuliu.ssh.struts.action;
importorg.springframework.web.context.WebApplicationContext;
importorg.springframework.web.context.support.WebApplicationContextUtils;
importorg.springframework.web.struts.ActionSupport;
publicclassBaseActionextendsActionSupport{
protectedObjectgetBean(Stringid){
WebApplicationContextctx=WebApplicationContextUtils.getWebApplicationContext(this.servlet.getServletContext());
returnctx.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>
修改LoginAction.java
/*
*GeneratedbyMyEclipseStruts
*Templatepath:
templates/java/JavaClass.vtl
*/
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.wuliu.ssh.struts.form.LoginForm;
/**
*MyEclipseStruts
*Creationdate:
06-25-2008
*
*XDocletdefinition:
*@struts.actionpath="
/login"
name="
loginForm"
input="
/login.jsp"
scope="
request"
validate="
true"
publicclassLoginActionextendsBaseAction{
/*
*GeneratedMethods
*/
/**
*Methodexecute
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@returnActionForward
publicActionForwardexecute(
ActionMappingmapping,
ActionFormform,
HttpServletRequestrequest,
HttpServletResponseresponse){
LoginFormloginForm=(LoginForm)form;
Stringname=loginForm.getUsername();
Stringpassword=loginForm.getPassword();
Stringpurview=loginForm.getPurview();
ActionForwardforward=mapping.getInputForward();
IUserServiceservice=(IUserService)getBean("
UserService"
);
UseruserFromDB=service.getUserByName(name);
if(userFromDB.getPassword().equals(password)&
&
userFromDB.getPurview().equals(purview))
{
forward=mapping.findForward("
success"
}else{
fail"
}
returnforward;
添加一个welcome.jsp页面
<
%@pagecontentType="
text/html;
charset=utf-8"
language="
java"
%>
%@tagliburi="
http:
//struts.apache.org/tags-html"
prefix="
html"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
head>
title>
Seccess<
/title>
/head>
body>
welcome!
/body>
/html>
在弹出的对话框中,选择LocalActionForward,通过Browser填写ActionPath,然后填写Name和Path,完成后点击Finish即可
在spring的配置文件applicationContext.xml文件中添加
beanid="
class="
org.wuliu.ssh.service.impl.UserService"
propertyname="
userDAO"
<
refbean="
UserDAO"
/>
/property>
/bean>
附上文件结构图:
附上SSH层次调用说明图s