问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用ssh写项目的步骤是什么?

发布网友 发布时间:2022-04-09 10:05

我来回答

1个回答

热心网友 时间:2022-04-09 11:35

1,运用的工具:Myeclipse8.5, tomcat 6.0, struts2,
2,在myeclipse的工作环境中,新建一个web progect,把spring,struts,hibernate的jar包给导入进来,导入步骤不再是通过myeclipse导入,而是把自己下载好的jar包复制到webroot目录下的lib目录下。
3,通过web.xml来加载spring的环境。也就是说在web.xml的文件中加入如下代码:
<!-- 以下是配置spring的参数,contextConfigLocation用于指定spring的配置文件的路径, listener在框架启动的时候,自动会读取contextConfigLocation所指的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
说明:listener优先启动;注意:一些配置文件必须放在src的目录下,否则会抛错误,说找不到文件。
4,struts2按照以前的用法,配置好。struts2的配置文件包括两个:一个是struts.xml,一个是web.xml,其中web.xml中配置的是filter的代码,是struts的启动环境,如下:
<!-- 以下是配置struts2的过滤器的代码 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
另一个是struts.xml的配置,先按照之前的配置,配置好,如下:
<package name="UserAction" extends="struts-default">
<action name="UserLoginAction" class="com.insigma.sshtest.action.UserLoginAction" method="hello" >
<result name="ok">/user_login.jsp</result>
</action>
</package>
此时可以先测试一下,看看struts配置是否有问题,通过在url中输入:localhost:8080/项目名称/UserLoginAction.action。
5,spring与struts2的整合。
1)struts2.xml需要修改一下:
<constant name="struts.objectFactory" value="spring" ></constant>
<package name="UserAction" extends="struts-default">
<action name="UserLoginAction" class="userlogin" method="hello" >
<result name="ok">/user_login.jsp</result>
</action>
</package>
增加了上面那句话,那句话表示:我的对象不是通过自己来new的,而是通过spring来创造的。添加了这句话之后,上面的那个类:class="com.insigma.sshtest.action.UserLoginAction"就可以配置到spring的bean里面了。
在spring的配置文件applicationContext.xml中写bean代码:
<bean id="userlogin" class="com.insigma.sshtest.action.UserLoginAction"scope="prototype"></bean>
说明:struts.xml中的class不再是action类的全路径地址,而是spring配置文件中的bean的id的名字,两者必须一致。而spring的配置文件中的class就是原先在struts.xml中配置的class的路径。
6,但是现在有个冲突struts中的一个类中可以有多个方法,也就是说有多个action,而spring中却只能是单个的,这时就有冲突,需要在spring的配置文件中加上scope="prototype"这句话,spring的bean默认是单例的,也就是说只能new一个实例,但是当用struts的时候,需要将scope配置成proprtype的,它表示每个访问就new一个实例。
7,spring与hibernate的整合:有两种方式整合,一种是不要hibernate.cfg.xml这个文件,一个是要这个文件,这里只讲解有原先的hibernate.cfg.xml文件情况下如何配置?
1)先把配置好的hibernate.cfg.xml文件复制到src目录下面。
2)在spring的配置文件中写如下代码:
<!-- 关于hibernate的配置,这个是在保留原来的hibernate.cfg.xml文件情况下 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml"> </property>
</bean>
3)的改造:
1),不再继承自BaseHibernateDAO,而是继承自HibernateDaoSupport。HibernateDaoSupport里面就有getsession这个方法,但是不推荐使用这个,而是通过spring的get bean来操作。所有的增删改查,通过gethibernatetemplate() 来操作。
2)getsession与gethibernatetemplate()的区别是:getsession是直接获取原始的session来操作,需要自己加事务,而gethibernatetemplate()不用考虑事务,由spring来管理。
3)配置到spring,在spring中加入下面代码:
<bean id="userDao" class="com.insigma.sshtest..TblRegisterUserDao">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 渲染气氛与烘托气氛的区别? 电场中的k值是多少 古诗词中的对比,烘托,衬托和渲染有什么区别 渲染,烘托,衬托,对比该怎么区别 匀强电场公式中k的值 衬托,对比,烘托,渲染的区别 烘托、衬托、渲染之间的区别是什么? 各自的特点? 如何搭建SSH框架,myeclipse搭建SSH框架详解 笔记本电脑可以远程控制另一台电脑画CAD图吗 一剑独尊纪安之最后怎么了 羊排怎么做好吃,羊排的吃法 如何纯羊排好吃 羊排炖什么好吃? 急需一个ssh例子。希望开发环境是:struts2,hibernate3,spring3. jdk1.6。myeclipse7.5或7.0 花样跳绳的扑食应该怎么做? 粽子是不是童子尿做的 教学反思与反思性教学一样吗 假如你是一所大学校长,你会怎么改进你们学校的制度? 黑执事中的 《伦敦大桥倒下来》可以给我英文版么,带着歌词 London bridge is falling down这首童谣有什么深意? 烘托与衬托的区别 word2016开始菜单选项里面“字体”这个功能区没有了? 在文学作品鉴赏中,“衬托”与“烘托”、“渲染”三种表现手法该怎样区别? 在物理电学中K(库仑)是什么的单位,和其相关的单位的换算关系是什么? 诗歌鉴赏中 渲染与烘托 衬托的区别 在word里面点击右键怎么没有出现字体 物理里面算电场力的k是多少? word07版怎样给字下面加点,我知道点右键点字体然后加着重号,可是点右键没有字体这个选项怎么办 物理 电场 求K是怎么出来的 散文中,如何区别“渲染”和“烘托”? word中选中文字右击后怎么没有字体和段落 这书包背带扣怎么系 衬托和烘托的区别举例,说的通俗一点,让人听懂? WORD2003上面的字体什么之类的选项卡怎么一打开就看不见,非要点击一下才能看见呢? 带电粒子在点电荷电场中的电势能表达式中k,q1,q2表示什么 为什么我的word右键李苗苗没有字体选项 初中三年上 英语单词人教版的 我设置了WORD2007的默认字体后,右键菜单新建WORD文档,没有使用默认字体。请教一下为什么?谢谢。 word7系统中怎么让冒号在数字中间 求一些英式摇滚风格或者拉丁风格的英文专辑。