1、MyEclipse75搭建SSH框架搭建SSH框架一、 首先打开MyEclipse 7.5编辑环境,通过FileNewweb Project,单击新建一个web Project工程,取名为ssh,在默认情况下,J2EE Specification Level选中的是J2EE 1.4选项,在这里为了提高版本的兼容性,这里选择J2EE 5.5,最后点击Finish就OK. 如图例1-1:图 1-1二、 在新建好Web Project之后,接下来就得配置好需要的jar包,选中SSH按单击右键,选择build PathConfigure Bulid Path,出现如图2-1:三、 图 2-1在出现图2
2、-1的界面之后,点击add Library按钮,然后在弹出的对话框中选中User Library选项,点击Next按钮,如图2-2所示:图2-2完成上一步之后,便会弹出如下对话框,如图2-3所示,在弹出的对话框中再点击User Libraries按钮。图2-3选择User Libraries后,点击对话框右边的new按钮,以此来创建你自己的一个库,然后弹出如图2-4,然后在弹出的小对话框中给你的库文件取个名字。在这里我们为自己库取名为sshlibrary。为库取好名字之后,点击对话框右边的Add JARs按钮,把相关的jar文件从磁盘中倒入到你的刚建立的库中。如图2-5,然后一直点击完成动作,
3、直到对话框被关闭完,这样,我们配置好我们所需要的jar包了。四、 在完成上面两步之后,右键点击项目ssh,在右键菜单myeclipse中选中add spring capabilities,进入注入spring对话框,如图3-1:图 3-1 在弹出的对话框中,我们选择Spring版本比较高的Spring2.5,然后去掉默认选中的MyEclipse Librariese选项,选择User Libraries选项,并选中刚上一步我们创建的库sshlibrary,然后点击下一步,出现如图3-2所示对话框:图 3-2在出现对话框后,我们需要改动applicationContext.xml的存放目录,也就
4、是Folder选项,我们把它的存放目录改为WebRoot/WEB-INF下,点击Finish按钮,完成Spring注入。五、 右键点击项目ssh,为项目注入Hibernate,在右键菜单myeclipse中选中add Hibernate Capabilities选项,进入注入struts对话框,如图4-1:图 4-1进入该对话框后,我们选种Hibernate 3.2选项,并选种User Libraries选项,如上图所示然后点击Next按钮,并出现如图 4-2:图 4-2出现对话框后,我们选中Spring configuration file(applicationContext.xml)选项
5、,目的是为了整合Spring和Hibernate,然后点击Next按钮,出现如图 4-3:图 4-3在弹出的对话框中,我们选择Existing Spring configuration file选项,并在SessionFactory Id 文本框中sessionFactory,以此来整合Spring和Hibernate.然后接着点击Next按钮,并出现如图 4-4的对话框:图 4-4在弹出的对话框中,主要是让我们配置连接数据库的相关信息,这里我们是用的Oracle,所以我们在Bean Id选项框中填好数据“dataSource”之后,我们直接在DB Driver下拉菜单中选择OracleDri
6、ver数据库驱动(当然你得先在MyEclipse 7.5中先配置好连接Oracle的相关信息,才能在这个下拉菜单中出现你配置的驱动,否则只有MyEclipse自带的一个配置,这个配置几乎不用,也没有什么用。所以得自己预先配置一个连接你想要连接的数据库的驱动),选择驱动后,下面各个选项的数据会自动填充进去,点击Next按钮进入下一个对话框,并勾掉它默认选种的选项“Create SessionFactory class”,然后点击Finish按钮,完成Hibernate的注入,以及Spring与Hibernate的整合。如图4-5:图 4-6六、 为项目注入Struts,右键单击项目ssh,在右键
7、菜单MyEclipse中选择它的自菜单add struts capabilities,弹出如图5-1的对话框:图 5-1出现对话框后,我们选中Struts 1.3版本、并把Base package for new classes的包结构改成我们自己的包结构“com.kettas0901.struts”,然后点击Finish按钮完成Struts的注入。七、 在顺利完成以上步骤后,我们再来修改web.xml,struts-config.xml和applicationContext.xml配置文件。1)首先,我们修改applicationContext.xml,在applicationContext
8、.xml文件中,有很多信息是需要隐藏起来的,以免过多的暴露系统的信息而埋下安全隐患,如数据库的配置信息,这对系统的数据安全很重要,所以,我们得把它的配制信息配置成外部文件的形式,然后再引用进来,首先我们在WEB-INF目录下创建一个名叫jdbc.properties的资源文件,然后在资源文件中配置连接数据库的相关信息:datasource.type=oracledatasource.driverClassName=oracle.jdbc.driver.OracleDriverdatasource.url=jdbc:oracle:thin:localhost:1521:kettas02datas
9、ource.username=scottdatasource.password=sadatasource.maxActive=10datasource.maxIdle=2datasource.maxWait=120000datasource.whenExhaustedAction=1datasource.validationQuery=select 1 from dualdatasource.testOnBorrow=truedatasource.testOnReturn=falsec3p0.acquireIncrement=3c3p0.initialPoolSize=3c3p0.idleCo
10、nnectionTestPeriod=900c3p0.minPoolSize=2c3p0.maxPoolSize=50c3p0.maxStatements=100c3p0.numHelperThreads=10c3p0.maxIdleTime=600完成配置后,我们在applicationContext.xml文件中首先配置一个bean: WEB-INF/jdbc.properties 配置好之后,我们就可以使用该资源文件中配置的相关信息了。数据库连接配置就可以改写成: $datasource.driverClassName $datasource.url $datasource.userna
11、me $datasource.password $c3p0.acquireIncrement $c3p0.initialPoolSize $c3p0.minPoolSize $c3p0.maxPoolSize $c3p0.maxIdleTime $c3p0.idleConnectionTestPeriod $c3p0.maxStatements $c3p0.numHelperThreads 这样,我们就很好的隐藏了我们数据库的相关信息,以免恶意人士破坏、攻击我们的数据库而造成的重大损失。2)配置web.xml文件:a)把Spring的配置文件applicationContext.xml路径配置
12、到web.xml文件中,以便在WBE运用加载的时候就把applicationContext.xml的相关信息加载进来,配置如下: contextConfigLocation /WEB-INF/applicationContext.xml org.springframework.web.context.ContextLoaderListenerb)配置编码过滤器,以解决乱码问题,配置如下:encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter *.do
13、encodingFilter *.jsp c)配置一个叫OpenSessionInViewFilter的过滤器,这是Hibernate提供的过滤器,它主要作用就是在一级缓存的基础上去连接数据库,并取出我们想要的数据,这种情况通常在关联关系中得到体现,配置如下: hibernateFilter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter hibernateFilter *.do 如果我们不配置OpenSessionInViewFilter,而又想取出关联数据,实现方法只有如下3种:1)在Hibernate
14、的映射文件中,把关联关系的配置多加一个叫 lazy的属性,并把它的值设置成false(默认是 true),它的意思是是否延迟加载。例如: 上面的配置是在Order.hbm.xml文件中进行的,配置的是订单(Order)与订单明细(Transaction)的关联关系(一对多的关系)。这样配置以后,在查询订单的时候便可以把订单相关的订单项一同查询出来。这样做不为是种好的解决方法,这样可能会加重查询时给数据库的压力,也降低了查询的效力。2)不关闭Session,这种方式显然不行,如果用户过多,就会给数据库服务器带来压力,以至崩溃,这种方式是最不能实现的。3)根据页面需要的数据来查询数据,这种方式也是
15、不合适的,这样做不仅使页面的灵活性降低,而且还使业务逻辑更加复杂。d) 在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和global session,它们的含义和用法可参考Spring官方手册的相关章节。如果你想让你的容器里的某个bean拥有其中某种新的web作用域,除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置。即在web应用的XML声明文件web.xml中配置一个名叫RequestContextListener的监听器: org.springframework.we
16、b.context.request.RequestContextListenere)为了防止内存泄露,Spring提供了一个名叫IntrospectorCleanupListener的监听器: org.springframework.web.util.IntrospectorCleanupListenerf)配置加载struts-config.xml文件信息,配置如下: action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml 1 action *.do g)为了减轻session给服务器带来
17、的压力,需要定时释放服务器被占用的资源,所以我们需要在web.xml中配置如下几句:10f)为了在服务器出问题的时候不暴露更多的漏洞,我们需要采取如下配置措施: 500 /commons/error.jsp 404 /commons/404.jsp 403 /commons/403.jsp 到此,我们把web.xml的基本配置已写好。3)配置struts-config.xml文件 a)首先,我们需要为Struts与Spring整合添加一个插件,配置如下: 2)需要注意的是,Struts和Spring整合后,Action就由Spring的来创建和管理,此时就得使用一个名叫DelegatingActionProxy的类,用此类便可以取得Spring为我们创建的一个Action代理对象,例如:在struts-config.xml中的配置如下: 在applicationContext.xml中的配置如下: 注意,这里只是简短的配置,详细的配置请参看spring的配置说明,struts-config.xml中path属性的值必须和applicationContext.xml中的 name属性的值要一致。到此,我们的struts-config.xml配置文件已配置完成。八、 整合Spring与Dwra) 新建立一个dwr.xml,即使你用不到这个配置文件,你也的创建它。b) 到官方网站
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1