Myeclipse搭建ssh环境以及实例(图文教程)
SSH2整合实例详细教程

本次教程是SSH2的环境搭建,主要用到的技术是struts2.0+hibernate3.2+spring2.0,这种架构在现在很流行的,也是很多高校学生做毕业设计的架构,今天我们就用这种架构做一个简单的实例,详细的步骤,在于抛砖引玉,给大家一点启发。
一、创建数据库的时候会创建出联合主键<Composite-id>。
二、项目创建1、打开MyEclipse,点击File,指向New,点击Web Project。
2、输入工程名SSH,J2EE Specification Level为Java EE 5.0,点Finish即可创建完项目。
三、添加hibernate环境1、右击刚建立的SSH项目,指向MyEclipse,点击Add Hibernate Capabilities。
2、出现如下对话框之后,选择要用到的Hibernate3.2,以及所用到的包,选择Copy checked Library Jars to project folder and add to build-path,点击Next。
3、到了这一步,按默认设置,点击Next。
4、取消Specify database connection details的选择,再点击Next。
5、取消Create SessionFactory class选择,最后点击Finish。
这样一些有关hibernate的jar包点导进来了,以及建了一个hibernate.cfg.xml文件。
导入前:导入后:四、添加spring环境1、和添加hibernate环境的方法大致相同,右击SSH项目,指向MyEclipse,点击Add spring Capabilities。
2、选择要用到的Spring 2.0,勾选用到的库,注意还要勾选Spring 2.0 Web Libraries的库,一共是勾选了5个库的。
再选择Copy checked Library contents to project folder(TLDs always copied),点击Next。
SSH架构搭建--LoginDemo

LoginDemo
添加SSH的依赖包
添加顺序
Spring Hibernate Struts
添加依赖包--Spring
MyEclipse Add Spring Capabilities …
勾选5个库: AOP Core ORM/DAO/Hibernate3 J2EE Web
添加依赖包--Spring
文件结构图
�
复制SQL脚本
环境配置--建立数据库
右键 粘贴,回车
环境配置--配置Tomcat
Windows preferences …
输入Tomcat, 选择Tomcat 5.x 找到 Tomcat的安装目录
环境配置--配置数据库连接
Windows Show View Other…
工作区多了 DB Browser
开发环境
Windows XP Pro MyEclipse 5.5.1 GA MySQL 5.0
前期准备—下载依赖包
ftp://172.18.183.121/ /物流/SSH学习资料/lib commons-pool-1.4.jar mysql-connector-java-5.0.8-bin.jar
SSH代码编写– 单元测试
编写Juint单元测试,保证编写的Service的正确性
SSH代码编写– Struts
SSH代码编写– Struts
输入action
选择
SSH代码编写– Struts
SSH代码编写– Struts
SSH代码编写– Struts
Action ActionSupport public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form; ActionForward forward = mapping.getInputForward(); String userName = loginForm.getUserName(); String password = loginForm.getPassword(); UserService service = (UserService)getWebApplicationContext().getBean("UserService"); User userFromDB = service.getUserByUserName(userName); if(userFromDB!=null){ if(password.equals(userFromDB.getPassword())) forward = mapping.findForward("success"); else forward = mapping.findForward("fail"); 如果有错误,可能是有些包没有导入 } 按下快捷键 Ctrl+Shfit+O,导入包 return forward; }
搭建SSH框架(Struts1,Spring2.5,Hibernate3)

搭建SSH框架:Struts1.* + Spring2.5 + Hibernate3.0 一,项目结构:图(1)Jsp页面省略,主要是一些添删改查的页面;二,开始搭建项目环境,步骤如下:使用平台:MyEclipse6.0/6.5框架版本:Struts1.* + Spring2.5 + Hibernate3.0;1,添加过程:1>,新建项目: 打开MyEclipse,在Package Explorer视图下,右键单击New-> Web Project;注意:在新建项目时,JDK的版本最好要选择Java EE 5.0;因为版本过低,可能有些JSP方面的功能不支持;新建玩项目之后,把该导的包导入到下面,下图为SS H 框架所需要的Jar包,注意,该项目用的是ORACLE数据库;其中,activation与mail这两个包为Java发邮件的包;classes12为Oracle数据库的驱动包,如果不是Oracle数据库,可更换该Jar包;dwe为Ajax dwr 框架中的包;2>,接着就开始用MyEclipse辅助开发Struts,Spring,Hibernate了;3>,首先MyEclipse辅助开发Struts,方法:右键单击你所建的项目,出现一级菜单,选择Myeclipse,选择Myeclipse之后会出现二级菜单,接着选择Add Struts Capabilities;;接着具体操作如下面图示:点击Finish按钮完成;完成之后,可将包删除;在上图中,如果那个勾没有去掉的话,就会自动生产如下标签:当然,如果你觉得标签对你没什么用的话,可以删除;如果该勾去掉的话,就只生成标签,这是Struts的核心标签;4>,MyEclipse辅助开发Spring,方法跟上面的一样,选择Add Spring apabilities;;接着具体操作如下面图示:然后点击Next,具体操作如下图:接着点击 Finish按钮,完成此项操作;5>,,最后MyEclipse辅助开发Hibernate,在执行和上面类似方法之前,Hibernate 需要先做另外一件事情,那就是和数据建立连接,具体操作如下图:点击上图位置的或者右边的>> ,然后再选择MyEclipse Database Explorer切换到如下图页面:,然后右键单击,新建一个Database Driver;如下图:下面这个截图是该项目的数据库链接图:如图所示,测试数据库链接成功;然后可直接点击Finish完成;接着切换到窗口,按照上面第三小步的方法,选择Add Hibernate apabilities;;接着具体操作如下面图示:点击下一步:点击下一步:点击下一步:点击下一步:点击 Finish 完成;6>,最后一步,就是运用Hibernate的映射机制,把数据库的表与JAVA的对形成一个关系映射;在此之前,首先应该在项目SRC的目录下面新建一个包,如该项目所示,用来存放映射生成的POJO对象以及映射文件;如下图:有一点说一下,你生成的*.hbm.xml文件可能不止一个,对,你可以把它们整合到一个文件中;然后新建按第五小步的方法,把窗口切换到MyEclipse Database Explorer界面,然后打开右键刚才所建立的链接,选择属于你自己的用户;然后选择Tble;右键选择如上图的属性:接下来的操作如下图:点击 Next,进入下一步:点击 Next,进入下一步:至此,项目环境己经搭建完成;三,项目搭建完成,SSH各个部分配置文件的说明,以及它们之间存在的关系:1,首先是Struts的核心配置文件,即struts-config.xml:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""/dtds/struts-config_1_2.dtd"><struts-config><data-sources /><form-beans><!—建立Form表单,在此处进行登记 -→<form-bean name="userForm"type="erForm" /> </form-beans><global-exceptions /><global-forwards /><!—各个Action对应与之相对应的表单 -→<action-mappings><!-- 用户管理 --><action parameter="opers" attribute="userForm" name="userForm"path="/doUser" scope="request"><forward name="login_ok" path="/welcome.jsp"></forward><forward name="login_no" path="/index.jsp"></forward> </action></action-mappings><controllerprocessorClass="org.springframework.web.struts.DelegatingRequestProc essor"></controller><message-resourcesparameter="ermanagerview.struts.ApplicationResources"> </message-resources><!—Spring辅助Struts管理Struts-→<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn"><set-property property="contextConfigLocation"value="/WEB-INF/action-servlet.xml" /></plug-in></struts-config>2,其次就是Springd的applicationContext.xml文件和action-servlet.xml文件:applicationContext.xml文件:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.5.xsd"><!-- Session 工厂 --><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation"value="classpath:hibernate.cfg.xml"><!-- 可以不要配置文件(hibernate.cfg.xml),直接写在这个Spring的配置文件中 --></property></bean><!-- 模板 --><bean id="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 事务器 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManage r"><property name="sessionFactory" ref="sessionFactory" /> </bean><!-- 对外代理 --><!-- 1,用户管理 --><bean id="userDaoImp"class="erDaoImp"><property name="hibernateTemplate" ref="hibernateTemplate" /> </bean><bean id="userServiceTarget"class="erServiceImp"> <property name="userdao"><ref local="userDaoImp" /></property></bean><bean id="userService"class="org.springframework.transaction.interceptor.TransactionProxyF actoryBean"><property name="transactionManager"><ref local="transactionManager" /></property><property name="target"><ref local="userServiceTarget" /></property><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean></beans>action-servlet.xml文件:<!—Spring辅助Struts管理Struts-<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-2.0.xsd"> <bean name="/doUser"class="erAction"scope="prototype"></bean></beans>3,最后就是Hibernate的hibernate.cfg..xml文件:<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="ername">wangxiaodong</property><property name="connection.url">jdbc:oracle:thin:@192.168.0.2:1521:ALIZEEDB</property><property name="dialect">org.hibernate.dialect.Oracle9Dialect</property><propertyname="myeclipse.connection.profile">Test</property><property name="connection.password">donny</property><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property><mappingresource="com/ygkq/usermanager/model/entity/User.hbm.xml" /></session-factory></hibernate-configuration>该文件基本上不用动,都是自动生成的代码;当然,你也可以根据自己的需要添加代码,例如,你想在执行HQL语句的时候让它显示SQL语句,可将<property name="hibernate.show_sql">true</property>插入代码中;另外在图(1)中还有两个配置文件没有提到,那就是log4j.properties 与mytag.tld;其中log4j.properties是配置日志信息的;而mytag.tld主一个自定义标签;四,SSH框架搭建完成:SSH框架基本搭建完成,如果有不对或者不妥之处,请随时指教!~E-mail:jerry8059@。
SSH简单使用教程

SSH简单使用教程SSH(Secure Shell)是一种安全协议,旨在通过加密技术在网络中安全地传输数据。
它是一种远程登录协议,可以让用户通过互联网远程登录到远程服务器或远程主机上,并在感到安全的情况下执行命令。
SSH是替代传统不安全协议(如Telnet)的首选工具。
使用SSH,可以安全地远程管理和传输文件,而无需担心信息泄露和攻击。
本文将介绍SSH的基本使用方法,并提供一些SSH的实际应用场景。
1.配置SSH在开始使用SSH之前,需要做一些初始配置。
首先,在远程服务器上安装SSH服务,并确认SSH服务已经启动。
这可以通过以下命令来检查:```service ssh status```如果SSH服务未启动,可以使用以下命令启动:```service ssh start```另外,如果你使用的是Linux系统,需确保OpenSSH服务器软件包已经安装。
可以使用以下命令安装:```sudo apt-get install openssh-server```2.连接到远程服务器要连接到远程服务器,需要知道远程服务器的IP地址和登录凭据(用户名和密码)。
可以使用以下命令连接:``````其中,username是登录远程服务器的用户名,ip_address是远程服务器的IP地址。
3.密钥认证SSH还支持密钥认证,这是一种更安全和便捷的登录方式。
使用密钥认证,用户将生成一对密钥(公钥和私钥),将公钥放在远程服务器上,然后使用私钥进行登录。
要使用密钥认证,首先需要生成密钥对。
可以使用以下命令生成密钥对:```ssh-keygen -t rsa -b 4096```该命令将要求您提供保存密钥对的路径和密码。
生成密钥对之后,可以使用以下命令将公钥复制到远程服务器上:``````然后你就可以使用私钥进行登录了:``````4.SSH端口转发SSH还提供了端口转发功能,可以将本地端口转发到远程服务器上。
这对于访问位于防火墙后面的服务器或本地网络服务非常有用。
从入门到精通:构建SSH安全通道

从入门到精通:构建SSH安全通道SSH命令行实用程序是远程系统的工作人员安全访问的通道。
SSH代表着“安全外壳”,所以你可能认为其最常用的使用方法就是用作一个远程外壳。
也许这是其最常见的应用,但并非使用SSH的唯一的有趣方法。
一、连接、执行远程命令并使用授权密钥1、创建一个连接为通过SSH进行通信,你首先需要建立一个到达远程服务器的连接。
使用SSH命令行实用程序时,我们有很多参数选择。
最基本的命令行参数是:1、SSH IP地址在这里,IP地址就是你想要连接的服务器的IP地址。
下面是一个简单的例子:abc:~ jmjones$ ssh 192.168.1.20The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established.RSA key fingerprint is 24:1e:2e:7c:3d:a5:cd:a3:3d:71:1f:6d:08:3b:8c:93.Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.20' (RSA) to the list of known hosts.注意,上面的消息中有这样一行“The authenticity of host '192.168.1.20 (192.168.1.20)' ca n't be established.”。
这条消息意味着笔者的SSH 客户端并不知道远程服务器。
笔者在这里用了“客户端”,因为SSH命令行实用程序初始化了网络并使其成为网络客户端。
在上面的消息中,SSH程序还询问作者是否希望继续连接(Are you sure you want to continue connecting (yes/no)? )笔者的回答是“yes”,因为笔者知道这台服务器正是笔者想连接的服务器。
SSH+XFire+WebService服务端和客户端

SSH+XFire+WebService服务端和客户端1.开发环境MyEclipse2.创建项目: new Web Service Project选择XFire ,J2EE specification 选择Java EE 5.0,选择Next点击next点击Finish创建项目成功!Web.xml自动配置3.配置ssh环境(1)Struts选中项目,点击MyEclipse—>Project Capabalities Add Struts Capabalities根据自己的struts包版本选择相关的,下面的com.yourcompany.struts和com.yourcompany.struts.ApplicationResources删除就行我用的struts2,选择struts2.1,点击下一步Next点击Finish完成了Struts的配置。
此时web.xml中自动配置(2)Hibernate配置选中项目,点击MyEclipse—>Project Capabalities Add Hibernate Capabalities,选择Hibernate3.1NextNext配置连接数据库的信息。
配置好完成该。
(3)Spring选中项目,点击MyEclipse—>Project Capabalities Add Spring Capabalities,选择Spring2.5一直Next到结束就OK.此时Sping环境配置完成。
4.代码Service接口实现类在service.xml中配置信息配置好之就可以在浏览器访问了http://localhost:8088/aa/services/billService?wsdl,访问结果如下5.客户端测试有两种方法:第一种是通过服务端提供的接口类进行调用。
代码如下import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service;importorg.codehaus.xfire.service.binding.ObjectServiceFactory;import com.framework.app.service.IBillOfService;public class BillManage {public static void main(String[] args) throws Exception { Service srModel = newObjectServiceFactory().create(IBillOfService.class);XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());String endPoint ="http://localhost:8088/aa/services/billService";IBillOfService service = (IBillOfService) factory.create(srModel,endPoint);String billStr = service.weightNoteList("1323XSG02", 10, 1);System.out.print("提交返回:" +billStr);}}第二种是直接通过url调用, 不用客户端提供接口类。
SSH架构的搭建过程(lhl)

SSH架构的搭建过程1准备工作a)安装Oracl数据库建立Collecting_S 空间建立Collecting_U用户创建用户数据表B_Userb)安装javac)安装Tomcatd)安装Myeclipse2绑定Tomcat和Java2.1设定字符集a)点击Window菜单,选择Preferences进行参数设置b)选择Myeclipse 的Files and JSP选择Encoding:ISO 10646 (UTF-8)c)选择Myeclipse 的Files and PHP选择Encoding:ISO 10646 (UTF-8)d)设置当前工程中的字符集当工程建立后,选中工程,点击右键,选择2.2绑定Javaa)点击Window菜单,选择Preferences进行参数设置b)先择Java的Installed JREsc)点击Addd)选择Standard VMe)点击Directoryf)选择路径C:\Program Files\Java\jdk1.7.0_04g)移除原来的Java包2.3绑定Tomcata)点击服务器图标,选择Configure Serverb)选择Servers的Tomcat 7.xc)选择Enable,浏览Tomcat home Directory:C:\apache-tomcat-7.0.23d)点击Apply,查看Tomcat的JDK是否正常3建立数据源a)点击Window的Show View的Otherb)选择Myeclipse Database下的DB Browserc)在DB Browser 窗口下点击鼠标右键,选择New项d)填写Driver Template :Oracl (Thin Driver)e)填写Driver Name :如ORCL_123f)填写Connection URL :jdbc:oracle:thin:@10.255.8.123:1521:ORCLg)填写User Name :Collecting_Uh)填写Password : Collecting_Pi)点击Add JARs:E:\app\Legend8045dfeo\product\11.2.0\client_1\jdbc\lib\ ojdbc6.jar j)Driver Name:oracle.jdbc.OracleDriver4添加调试显示在工程的初始包src路径下创建一个文件log4j.properties内容为:# Configure logging for testing: optionally with log filelog4j.rootLogger=Debug, stdout# log4j.rootLogger=WARN, stdout, logfile#print to screenlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%n#write to log filelog4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=target/spring.logyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d %p [%c] - %m%n5清除Tomcat中无用的工程(加快速度)6建立工程,搭建HHS1框架a)点击File的New的Web Projectb)填写Project Name:pCollectingS1c)选择use Defeat JRE(Currently’JDK1.7.0_04)d)发布测试点击发布图标点击Add按钮选择Server为Tomcat 7.X打开IE浏览,输入http://localhost:8080/pCollectingS1/显示This is my JSP page6.1添加Spring 框架a)选中工程pCollecting 点击鼠标右键,选择Myeclipse 的Add Spring Capabilitiesb)选择Spring 3.0c)选择数据包Spring 3.0 AOP LibrariesSpring 3.0 Core LibrariesSpring 3.0 Persistence Core LibrariesSpring 3.0 Persistence JDBC LibrariesSpring 3.0 WEB Librariesd)选择copy checked Liberty Contents to Project Folder:/WebRoot/WEB-INF/Lib7添加Hibernate框架8添加Struts 框架9反向工程:根据数据库中的表来生成POJO类、DAO接口和实现类、hibernate 配置文件等a)进入Database Browserb)连接到数据库c)找到Table 的U_User数据表d)点击右键选择Hibernate Reverse Engineering10创建工作路径包a)创建接口er.Service在该包下创建接口IUserLogin修改为public interface IUserLogin {Object Login(String strUserNo, String strPassword);}创建对象(实现)包com.pCollecting.DB.U_User.Service.Impl创建是实现类UserLoginImplmport java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.pCollecting.DB.U_User.POJO.UUserDAO;import com.pCollecting.DB.U_User.Service.IU_UserLogin;public class U_UserLogin extends UUserDAO implements IU_UserLogin {private static final Logger log =LoggerFactory.getLogger(UUserDAO.class);// 为了输出日志文件public Object Login(String userNo, String strPWD) {log.debug("finding the UUser for login");String queryString = "from UUser where userNo = '" + userNo + "' and pwd = '" + strPWD + "'";List<?> lst = (List<?>)getHibernateTemplate().find(queryString);if (lst.size() != 0) {return lst.get(0);}return null;}}修改ApplicationContext.xml将dao改为接口<bean id="UUserDAO"class="er.POJO.UUserDAO"> <property name="sessionFactory"><ref bean ="sessionFactory" /></</bean ></ <bean id="class="er.修改public class UserLoginImpl 类public class UserLoginImpl extends UUserDAO implements IUserLogin {private static final Logger log = LoggerFactory.getLogger (UUserDAO.class );// 为了输出日志文件public Object Login(String userNo, String strPWD) {log .debug("finding the UUser for login");try {String queryString = "from UUser where userNo = '" + userNo+ "' and pwd = '" + strPWD + "'";List<?> lst = (List<?>) getHibernateTemplate().find(queryString);if (lst.size() != 0) {return lst.get(0);}} catch (RuntimeException re) {log .error("find the UUser for login failed", re);throw re;}return null ; } 11 配置侦听在Web.XML 文件中添加侦听(前面)<!-- 根据实际spring 配置文件目录进行配置--><!-- 如果spring 配置文件被命名为applicationContext.xml ,并且放在WEB-INF 目录下,则不需要配置<context-param>--><!-- 因为ContextLoaderListener 默认在WEB-INF 目录下寻找名为applicationContext.xml 的文件--><context-param ><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/application*.xml</param-value> </context-param><!-- 载入Spring ApplicationContext --><listener><listener-class>org.springframework.web.context.ContextLoaderList ener</listener-class></listener><!-- 支持session scope的Spring bean --><listener><listener-class>org.springframework.web.context.request.RequestContextListener</l istener-class></listener>测试建立main类进行测试public class Test {/*** @param args*/public static void main(String[] args) {ApplicationContext acx = new FileSystemXmlApplicationContext( "/WebRoot/WEB-INF/applicationContext.xml");IUserLolgin ul = (IUserLolgin) acx.getBean("userlogin");BUser bUser = (BUser) erLogin("1001", "123456");if (bUser == null) {System.out.println("error");return;}System.out.println("Success UserNo=" + bUser.getUserNo());}添加添加登录jsp添加登录正确jsp添加登录错误jsp添加类package com.pCollecting.struts.action;import org.apache.struts.actions.DispatchAction;import org.springframework.web.context.WebApplicationContext;importorg.springframework.web.context.support.WebApplicationContextUtils;public class SuperAction extends DispatchAction {protected Object getBean(String id) {WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.servlet.getServletContext());return ctx.getBean(id);}}修改UserLoginActionpublic class UserLoginAction extends SuperAction {/** Generated Methods*//*** Method execute* @param mapping* @param form* @param request* @param response* @return ActionForward*/public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserLoginForm userLoginForm = (UserLoginForm) form;IUserLolgin userLogin = (IUserLolgin)getBean("userlogin");BUser user = (BUser)erLogin(userLoginForm.getUserno(),userLoginForm.getPassword());if (user == null){// forward to errorrequest.setAttribute("errorInfo", userLoginForm.getUserno() + ";" + userLoginForm.getPassword());return mapping.findForward("err");} else {// forward to successrequest.setAttribute("LoginInfo", userLoginForm.getUserno() + ";" + userLoginForm.getPassword());request.setAttribute("message", "亲爱的"+ user.getName() + ":欢迎您!");return mapping.findForward("succ");}}}。
配置SSH的步骤

配置SSH的步骤(MyEclipse6.6 + spring2.0 + struts1.2 + hibernate3.x)1.创建Web工程。
2.配置Spring。
3.选中工程,依次选择”MyEclipse ‐> project Capabilities ‐> Add Spring Capabilities...”4.弹出Add Spring Capabilities对话框,选中”MyEclipse Libraries”,选中下面表格中的复选项,点击”Next”。
5.Folder选择”WebRoot/WEB‐INF”,点击”Finish”,在工程的”WebRoot/WEB‐INF”下出现Spring 的配置文件:applicationContext.xml。
”WebRoot/WEB‐INF”是默认位置,不需要其他配置。
6.到web.xml中去配置下监听器,我们是通过监听器启动spring达到这个效果的,这里要注意的是监听器是最先启动的比过滤器还要早。
7.打开”WebRoot/WEB‐INF”下的web.xml,添加:<!‐‐ 配置监听器,用来启动Spring ‐‐><listener><listener‐class>org.springframework.web.context.ContextLoaderListener</listener‐class></listener>启动tomcat时如出现监听错误,查找一下tomcat下的应用程序WebRoot/WEB‐INF/lib目录下是否缺少spring‐web.jar包8.配置Struts。
9.选中工程,依次选择”MyEclipse ‐> project Capabilities ‐> Add Struts Capabilities...”10.弹出Add Struts Capabilities对话框,选择输入包路径等信息,点击”Finish”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Myeclipse整合ssh实例新建一个web Project,命名为SSHDEMO,下面的Context root URL改为sshdemo,这时最后你访问的路径在刚刚创建的SSH工程上面右击,在弹出的菜单中选择MyEclipse -> Add Struts Capabilities…,添加Struts 支持,选择Struts1.2,修改下面的Base package for new classes的路径,这里定义为org.wuliu.ssh.struts在SSH工程上面右击,在弹出的菜单中选择MyEclipse -> Add Spring Capabilities…,添加Spring的支持。
,在弹出的对话框中选择Spring 2,选择MyEclipse Libraries,按照图示选择相关的库。
由于Spring采取最小化库发布的方式,使得Spring的库文件彼此都是分离的,因而我们需要自己选择需要的库。
这里,AOP需要在添加Hibernate的事务处理时使用,Core是Spring 的核心库,ORM/DAO/Hibernate3库作为Spring持久化的支持,Web允许Spring 和Struts整合,其余保持原状,点击Next。
在这里添加Spring的配置文件,可以将Folder更改为Web-Root/WEB-INF目录。
这是为struts整合准备的。
其实,Spring的配置文件可以放在WEB-INF的任意目录中,具体的位置都需要在web.xml中进行配置。
这里仅仅采用最简便的方法,将配置文件放到WEB-INF下面在Database Driver对话框中按照如下配置选择数据库驱动。
首先选择Driver Template,在这里我们选择MySQL。
Driver Name是以后配置时使用的驱动名字,用以区分驱动,这里使用MySQL即可。
然后根据实际情况填写URL,User name 和Password。
点击Add JARs添加数据库驱动文件。
为方便配置,可以选择Save password保存密码。
配置完毕后Finish即可。
当配置完数据源后,就可以添加Hibernate支持了。
切换到MyEclipse Java Enterprise视图,在SSH工程上面右击,在弹出的菜单中选择MyEclipse -> Add Hibernate Capabilities…,添加Hibernate的支持在对话框中选择Spring configuration file,表示我们希望将Hibernate托管给Spring进行管理。
这是将Hibernate与Spring进行整合的基础在出现的对话框中选择Existing Spring configuration file。
因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。
MyEclipse会自动找到存在的那个文件。
然后在SessionFactory ID中输入Hibernate的SessionFactory在Spring配置文件中的Bean ID的名字,这里我们输入sessionFactory即可在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。
然后在DB Driver里面选择我们刚刚配置好的MySQL,MyEclipse会将其余的信息自动填写到表格里面在出现的对话框中取消Create SessionFactory class。
至此我们已经完成了SSH的添加,但现在只是将所有需要的文件放到了一起,并没有完成所有的配置。
现在我们要完成的是Hibernate的反向工程。
我们知道,Hibernate提供了ORM(Object Relation Mapping)机制,即将关系型数据库映射为面向对象的实现。
现在要做的是将数据库的表格映射为对象,这里会有大量的配置文档,但MyEclipse可以很方便的完成这些工作。
首先切换到MyEclipse DataBase Explorer视图,在需要使用的数据表格上面点击右键,选择Hibernate Reverse Engineering...。
这里我们使用刚刚建立的ssh数据库中的ssh表。
在打开的对话框中修改Java src folder为我们建立的/SSH/src,这里需要选择到src文件夹,并且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为obj。
然后选择Java Data Object,建立POJO类。
然后选择Java Data Access Object。
其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。
这里会封装一些常用的操作,简化我们的编写。
填写完成后点击Next此时SSH项目的目录结构如下所示。
其中的User.Java是MyEclipse生成的POJO 类,是使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。
新建一个接口类IUserDAOpackage org.wuliu.ssh.dao;import java.util.List;import er;public interface IUserDAO {public User findById(Integer id);public List findByName(Object name);public void save(User user);}添加common-pool-1.4包添加service包和impl包,调正文件结构,新建IUserService.java和UserService.javapackage org.wuliu.ssh.service;import er;public interface IUserService {public User getUserById(Integer id);public User getUserByName(String name);public void addUser(User user);}package org.wuliu.ssh.service.impl;import java.util.List;import org.wuliu.ssh.dao.IUserDAO;import er;import org.wuliu.ssh.service.IUserService;public class UserService implements IUserService { private IUserDAO userDAO;public User getUserById(Integer id) {return userDAO.findById(id);}public User getUserByName(String name) { List list = userDAO.findByName(name);if(list.size() == 0) {return null;} else {return (User)list.get(0);}}public void addUser(User user) {userDAO.save(user);}public IUserDAO getUserDAO() {return userDAO;}public void setUserDAO(IUserDAO userDAO) {erDAO = userDAO;}}添加Form, Action and JSP 在弹出的对话框中添加User case,然后点击Add生成Properties代码。
这会由MyEclipse自动生成相应的Form代码。
输入完成后选择JSP选项卡,选上Create JSP form,修改路径这个BaseAction类继承自ActionSupport类,后者是Spring中对应着Struts 的Action的类。
ActionSupport类中提供了访问WebApplicationContext的简便方法,而后者是在web程序中获取Spring托管的类的上下文。
以后我们编写的Struts中的Action继承自这个BaseAction,就可以利用getBean在我们的Action中获取Spring托管的类。
package org.wuliu.ssh.struts.action;import org.springframework.web.context.WebApplicationContext; importorg.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.getS ervletContext());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>修改LoginAction.java/** Generated by MyEclipse Struts* Template path: templates/java/JavaClass.vtl*/package org.wuliu.ssh.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import er;import org.wuliu.ssh.service.IUserService;import org.wuliu.ssh.struts.form.LoginForm;/***MyEclipse Struts*Creation date:06-25-2008**XDoclet definition:*@struts.action path="/login"name="loginForm"input="/login.jsp" scope="request"validate="true"*/public class LoginAction extends BaseAction {/** Generated Methods*//***Method execute*@param mapping*@param form*@param request*@param response*@return ActionForward*/public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) {LoginForm loginForm = (LoginForm) form;String name = loginForm.getUsername();String password = loginForm.getPassword();String purview = loginForm.getPurview();ActionForward forward = mapping.getInputForward();IUserService service = (IUserService) getBean("UserService");User userFromDB = service.getUserByName(name);if(userFromDB.getPassword().equals(password) &&userFromDB.getPurview().equals(purview)){forward = mapping.findForward("success");}else{forward = mapping.findForward("fail");}return forward;}}添加一个welcome.jsp页面<%@ page contentType="text/html; charset=utf-8" language="java" %> <%@ taglib uri="/tags-html" prefix="html"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><title>Seccess</title></head><body> welcome! </body></html>在弹出的对话框中,选择Local Action Forward,通过Browser填写Action Path,然后填写Name和Path,完成后点击Finish即可在spring 的配置文件applicationContext.xml文件中添加<bean id="UserService"class="erService"> <property name="userDAO"><ref bean="UserDAO" /></property></bean>附上文件结构图:附上SSH层次调用说明图s。