史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程 一

生活中,最使人疲惫的往往不是道路的遥远,而是心中的郁闷;最使人痛苦的往往不是生活的不幸,而是希望的破灭;最使人颓废的往往不是前途的坎坷,而是自信的丧失;最使人绝望的往往不是挫折的打击,而是心灵的死亡。所以我们要有自己的梦想,让梦想的星光指引着我们走出落漠,走出惆怅,带着我们走进自己的理想。

导读:本篇文章讲解 史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程 一,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

首先简单介绍下:在eclipse以前的版本都可以使用eclipse自带的集成三大框架,而从eclipse8后,Apache公司就将该功能去掉,所以现在如果是8以上的eclipse集成ssh的话,就需要去下载jar进行自行配置,下面我就详细的按照最新eclipse10进行三大框架的配置部署,以及三大框架的版本不同,而产生的一系列问题

eclipse8以前的集成框架方式很简单:直接右键项目,然后myeclipse或者是eclipse就会在右侧弹出来集成的方式,选择对应就好了,这里就不过多描述,下面看最新eclipse集成方式:

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第一:下载对应的三大框架的JAR包

struts-2.5.22-all.zip:链接:https://pan.baidu.com/s/1Jmr6C6RN6ewjgSWYPi5BLw   提取码:dkfh

hibernate-search-5.8.0.Final-dist.zip: 链接:https://pan.baidu.com/s/1PzQtK5orJQKgbHpRkBtJpA   提取码:d6zx 

spring-framework-4.3.8.RELEASE-dist.zip:链接:https://pan.baidu.com/s/11YyAht2shvac10j-ZGrZQA   提取码:74nr 

mybatis-3.5.2.zip:链接:https://pan.baidu.com/s/1tLO3LNoJ6dxc0o-ihmSeCg  提取码:3tg2 

tomcat6.0:  链接:https://pan.baidu.com/s/1L_SNZbCTMh1zCzxEf231MQ   提取码:rnqu 

第二步:eclipse新建web项目

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

当然新建的时候需要注意下,最新 eclipse是不会默认简历web文件的,所以这里需要勾选下:

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第三步:然后解压【struts-2.5.22-all.zip】,找到改路径下所有jar:

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后把下图需要的jar,从上图拷贝到工程目录下的lib文件下 (这里说明下,2.5以后的struts已经将log4-core已经xwork全部都整合到struts-core里面了,所以这里没有必要在去下载这两个jar)

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第四步:配置web.xml文件,注意:由于struts版本不同所以其配置的过滤器写法上略有差异,我们一般参照官方给的模板

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>SSHproject</display-name>
  <!--拦截器-->
  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

这里需要注意下就是filter-class的值,因为当启动服务器的时候,服务器会调用web.xml,然后执行这个fliter-class所指向的类文件,调永里面的init()方法进行初始化赋值,这个地方,不能直接复制过去,要看自己的实际路径,不然启动的时候就会报下图错误,因为这个类找不到,所以就报错了,所以这里这个值,要按照自己实际的来写:
史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

实际的路径怎么看呢:因为当你给上面的jar复制到工程目录下的lib里面后,eclipse会自动将jar添加到项目里面,所以我们可以在这里查看到本项目所有的jar情况,
史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后找到这个

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后找到这个就是这个类在你项目中 实际位置,给这个路径写对就好了,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第五步:然后我们就可以写action了,在src上面右键,然后新建立class,写下面的方法,我这里是测试方法,根据你们实际情况来

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第六步:这步当然就是最重要的struts.xml文件了,一样,点击src,然后右键新建一个xml文件
然后配置如下,下面我是采用的通配符的方式进行访问,其他两种方式,官方不建议使用,所以这里就不在细分了,其中打了注视的两个地方需要注意下,因为2.5后的struts被严格化了,所以只能单独调用方法,不能使用通配符,所以这里 需要加上两个代码:<!–允许动态调用方法,通配符+占位符组合,必须加上这行代码–>
    <constant name=”struts.enable.DynamicMethodInvocation” value=”true”/>
    <constant name=”struts.devMode” value=”false”></constant>

还有就是package还得加一个属性:strict-method-invocation=”false” 默认是true,意思就是不使用多方式调用,所以这里改为false就行了,

一系列参数说明

这里package标记中name属性用作定义一个包名以区分其他人代码,extends属性用于继承一个父包,namespace在struts2.5以后,必须加上,命名空间为当前项目

  action标记中的name属性是用作客户端访问时的通配符前面的单词
  action标记中的class属性则是用作与这个action所对应的aciton类的全路径
  action标记中的method属性时与action类的方法所对应的名称,不写默认为execute方法
  action标记内result中的name属性是method所在action的方法的返回值(根据返回值来做对应的处理),不写默认为success
  若返回值与name属性值匹配则完成result标记内指定的路径进行跳转(本例就跳转到我们事先编写好的一个index.jsp页面)

<?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
 	<!--允许动态调用方法,通配符+占位符组合,必须加上这行代码-->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    <constant name="struts.devMode" value="false"></constant>
    
     <!--strict-method-invocation是(严格方法访问),默认为true,不能使用动态方法调用功能,如果需要访问多个方法,则改为false-->
     <package  name="pk" extends="struts-default" namespace="/" strict-method-invocation="false">
        <action name="customer_*" class="com.ssh.CustomerAction" method="{1}">
            <result name="first">/first.jsp</result>
            <result name="one">/one.jsp</result>
            <result name="two">/two.jsp</result>
            <result name="three" type="redirectAction">other!otherAction</result>
        </action>
        <action name="other" class="com.ssh.CustomerAction">
			<result name="otherAction">/otherAction.jsp</result>
		</action>
     </package>
</struts>

第七步:当然就是部署项目了,我这里以Tomcat为准:点击eclipse上面的window,然后选择下面的preferences

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后打开这个界面,旧版本是可以在上面直接搜Tomcat就出来了,新版本不行,所以就得找到配置地方,选下面的server,然后选择runtime environment,运行时环境,然后在点击右边的add进行添加服务器Tomcat

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

点击add后,出现选择对应的服务器版本,只管选择就行了,选择好了后,点击next

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

点击next后,会出现Tomcat的路径,name可以随便取名,第二个直接选择你的Tomcat目录就行了,然后点击finsh

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

完成后,在项目的左边就会出现你当前项目 服务器配置,这也是最新的eclipse才有的,之前没有的,下面的每个文件都可以更该,比如服务器的端口,已经启动后的访问首页设置等等

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第八步:还是找到最上面 window,然后选择show view视图显示,然后选择server,下面就会出现server的选项卡,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后,我们在下面server找到刚才添加的服务器,右键,add and remonve添加或者移除项目,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

点击了后,会出现这个界面左边是待部署的项目,选择左边需要部署到Tomcat上 项目,然后点击中间的add按钮,就会将选择的项目添加到右边的框内,然后在点击下面的finsh按钮,即可将项目部署到Tomcat上,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

点击finsh后,我们可以去看下Tomcat的项目文件所在位置:找到之前下载的Tomcat的路径,然后打开下图的webapps文件夹,即可看到添加到Tomcat的项目

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

这就是我部署的项目

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

这个路径和eclipse里面的路径是对应的,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

还有就是index界面这些在没有重定向后,不能放web-inf下面,不然浏览器访问不到,因为web-inf是有多重安全机制拦截,如果没有重定向就访问的话,会报错:
史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

 

第九步:就是启动项目,验证部署的结果了哦:选择服务器,然后点击右边的启动按钮即可,启动

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

然后在浏览器输入访问地址即可访问:

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

第十步,index里面我是采用的通配符,,注意横杠前面的是struts里面的action的name值,

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

因为我是采用的通配符,所以这里横杠前面都可以写一样的,意思就是访问同一个action

访问不同的方法,就直接写方法名就可以了,下面的横杠后面的*号代表的是前面传进来的方法名称,method是方法参数

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

最后讲一下Tomcat启动过程:

  第一:当Tomcat启动,程序会去调用Tomcat里面的web.Xml文件,然后找到下面的首页路径

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

找到了后,Tomcat会执行context.xml,通过这个XML里面的查询源代码找到本服务器的所在项目位置的web.xml,这样就和项目里面的web.xml关联上了,然后就是上面的问题了,不过这里要说下,这个context.xml文件是一个以内存为单位的文件,意思就是当你该变了action后的值,改文件会自动去查询内容是否变更,如果有变更,就会重新同步到Tomcat里面,而且会将你本次的action的访问路径存入内存里面,当你下次再次访问的时候,指针将会直接从内存里面拿东西,而不是在此读取XML文件

史上eclipse(最新版)搭建三大框架SSH(Struts,spring,hibernate)全面教程  一

本次eclipse部署struts到此结束,下章继续部署hibernate。

谢谢大家

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/137537.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!