添加Spring搭建出现HTTP Status 404解决方案

http 404  时间:2021-02-01  阅读:()

出现HTTP Status 404是我们不一步一步创建工程创建步骤如下

在工程中应用Spring

一、创建一个项目 “ssh-1”项目

利用之前的工程“hibernate-Criteria-EHC ache”在其中添加Spring框架成为“ss h-1”工程。

首先创建工程“ssh_1”。

说明创建S S H项目时第一步就是编写web.xml文件除了添加S truts框架外还要添加监听器监听所有的动作。

二、编写we b.xml文件

除了添加Struts框架外还需要添加Spring的监听器监听所有动作。

添加<lis tener>标签

<li stener>

<li stener-class>org.springframework.web.context.ContextLoaderListener</l istener-class>

</listener>

再增加一个登录配置项标签<login-config>设置基本登录方式“BASIC”

<login-conf ig>

<auth-me thod>BASIC</auth-method>

</login-config>web.xml文件内容为

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"xmlns="h ttp://java.sun.com/xml/ns/j avaee"xml ns:xs i="ht tp://www.w3.org/2001/XMLSchema-i nstan ce"xsi:schemaLocati on="http://j ava.s un.com/xml/n s/j avaeeh t tp://j ava.s un.com/xml/n s/j avaee/web-app_2_5.xs d">

<fi lte r>

<fi lter-name>struts2</f il ter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

<filter-mapping>

<fi lter-name>struts2</f il ter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<li stener>

<li stener-class>org.springf ramework.web.context.ContextLoaderLis tener

</listener-class>

</listener>

<welcome-f ile-list>

<welcome-f ile>index.jsp</welcome-file>

</welcome-file-list>

<login-config>

<auth-me thod>BASIC</auth-method>

</login-config>

</w eb-ap p>

三、拷入已有的包和文件

把“hib ernate-Criteria-EHC ac he”中的所有引用的j ar包拷入“ss h-1”工程中添加Struts支持Spring的插件 “struts2-spring-p lugin-2.0.14.jar” 在课件文件夹中有把“hib ernate-Criteria-EHC ac he”中src目录下的配置文件拷入“s s h-1”工程中把“hib ernate-Criteria-EHC ac he”中src目录下各个包和其中的类拷入“s s h-1”工程中。

四、用反向工程向项目中添加Spring2.0类库

右击工程名→“MyEc lip se”

选“Spring2.0”

选“Copy checked Library contents to project folder”并选模块第1、 2、 3、 4、 11项

Next

找到WebRoot\WEB-INFjwWmMm4

jwWmMm5

五、解决包冲突问题

点开项目的引用库文件夹看到有同名的包会有冲突在工作空间中项目的lib文件夹中需要手工进行删除asm-2.2.3.jar(Spring2.0的)与asm.jar(Hib ernate3.2的)冲突删除 asm-2.2.3.j ar。cglib-nodep-2.1.3.jar(Spring2.0的)与c glib-2.1.3.jar(Hibernate3.2的)冲突删除c glib-2.1.3.jar。然后刷新项目。jwWmMm6

六、改写WebRoot\WEB-INF\applic atio nC o ntext.xml文件

将Hibernate的数据源和Ses s ionFactory交给Spring管理根据“hibernate.c fg.xml”中的内容添加为“app lica tio nC o nte xt.xml”文件中的配置代码两者内容对比如下

1、原hibe rnate.cfg.x ml的代码为

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourcef orge.ne t/hibernate-configuration-3.0.dtd"><hibernate-configuration>

<session-factory>

<property name="connection.driver_class">com.mysql.jdbc.Driver

</proper ty>

<property name="connection.url">j db c:mys ql://127.0.0.1:3306/BOOKS

</proper ty>

<property name="connection.username">root</property>

<property name="connection.password">root</property>

<property name="connection.pool_size">100</property>

<property name="dialect">org.hibernate.dialect.MySQLDialect

</proper ty>

<property name="current_session_con text_class">thread</property><property name="transaction.fl ush_before_completion">true</property><property name="transaction.au to_close_session">true</property><property name="connection.release_mode">on_close</property>

<property name="hibernate.cache.use_second_level_cache">true</property><property name="hiberna te.cache.provider_class">org.hibe rna te.cache.EhCacheProvider</proper ty>

<mapping resource="com/po/BookPO.hbm.xml" />

</session-factory>

</hibernate-conf iguration>

2、把对应内容添加到applica tio n Co nte xt.x ml中代码为

<?xml version="1.0" encoding="UTF-8"?>

<be ansxml ns="h ttp://www.springframework.org/schema/beans"xml ns:xs i="ht tp://www.w3.org/2001/XMLSchema-i nstan ce"xsi:schemaLoc ati on="h t tp://www.spri ngframework.org/schema/bean sjwWmMm7

以下为添加的内容

<bean id="dataSource" class="org.apache.commons.dbcp.Basi cDa taSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://127.0.0.1:3306/BOOKS"></property><property name="username" value="root"></property>

<property name="password" value="root"></property>

<property name="maxActive"value="100"></property>

<property name="maxIdle" value="30"></property>

<property name="maxWai t" value="500"></property>

<property name="defaul tAu toCommi t" value="true"></property>

</b ean>

<bean id="sessi onfactory"class="org.springframework.orm.hiberna te3.LocalSessionFac toryBean">

<property name="da taSource" ref="da taSource"></property>

<property name="hiberna teProperties">

<pr op s>

<pr opkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

<prop key="hibernate.curren t_session_con text_cl ass t">thread</prop><prop key="hibernate.transaction.fl ush_before_comple tion">true</prop><prop key="hibernate.transacti on.au to_cl ose_session">true</prop><prop key="hibernate.connection.release_mode">on_close</prop><prop key="hibernate.cache.use_second_level_cache">true</prop><pr opkey="hibern a te.cache.provider_cla ss">o rg.hibe rna te.cache.EhCacheProvider</prop>

</props>

</proper ty>

<property name="mappingResources">

<list>

<va lue>com/po/BookPO.hbm.xml</va lue>

</list>

</property>

</b ean>

</bean s>

共有两段<be an>标签第一段为配置数据源第二段为配置Sess io nFactory。

3、清空hibe rnate.cfg.x ml文件中<session-fa cto ry>标签中的内容

因为今后Sessio nFactory 由 Spring接管 不再由 Hibernate直接管理清空后的hib ernate.c fg.xml文件内容为jwWmMm8

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourcef orge.ne t/hibernate-configuration-3.0.dtd"><hibernate-configuration>

<session-factory>

</session-factory>

</hibernate-conf iguration>

这个hib ernate.c fg.xml文件不能删除它的命名空间信息<!D OC TY PE>标签仍然有用。

七、改写dao类

1、改写dao类它要继承Spri ng框架的D AO模板类 “Hibe rnate D ao Suppo rt”public class BookDAOImpl extends HibernateDaoSupport implements BookDAOInt

导入支持它的包import org.springf ramework.orm.hibernate3.support.HibernateDaoSupport;

2、改变dao类中依赖的SessionFacto ryProvider类dao不再直接使用Hibernate的Se ss ionFactory而使用Spring框架的Sess ionFactoryprivate SessionFactory sessionFactory;

改变导入的包语句为import org.springf ramework.orm.toplink.SessionFactory;

3、写get()和set()方法

对于dao类中的私有属性对象必须写它的get()和set()方法 Spring框架就是调用get()和set()方法实现依赖注入的。今后凡是由Spring管理的类都要写出它的属性是另一个依赖的类的对象的get()和s et()方法。

4、改写da o类中的每个方法

它们不再直接依赖Hibernate的Sess ion中的CURD方法而是需要使用Spring提供的DAO模板对象调用其中的CURD方法。

通过调用this.getHibernateTemplate( )可以获得Spring的DAO模板对象。CURD方法中不再需要写有关事务方面的语句 Spring会统一管理事务。

修改后的CURD方法代码如下jwWmMm9

百纵科技(19元/月),美国洛杉矶10G防御服务器/洛杉矶C3机房 带金盾高防

百纵科技官网:https://www.baizon.cn/百纵科技:美国云服务器活动重磅来袭,洛杉矶C3机房 带金盾高防,会员后台可自助管理防火墙,添加黑白名单 CC策略开启低中高.CPU全系列E52680v3 DDR4内存 三星固态盘列阵。另有高防清洗!美国洛杉矶 CN2 云服务器CPU内存带宽数据盘防御价格1H1G10M10G10G19元/月 购买地址2H1G10M10G10G29元/月 购买...

无法忍受旧版不兼容PHP7+主题 更换新主题

今天父亲节我们有没有陪伴家人一起吃个饭,还是打个电话问候一下。前一段时间同学将网站账户给我说可以有空更新点信息确保他在没有时间的时候还能保持网站有一定的更新内容。不过,他这个网站之前采用的主题也不知道来源哪里,总之各种不合适,文件中很多都是他多年来手工修改的主题拼接的,并非完全适应WordPress已有的函数,有些函数还不兼容最新的PHP版本,于是每次出现问题都要去排查。于是和他商量后,就抽时间把...

云基Yunbase无视CC攻击(最高500G DDoS防御),美国洛杉矶CN2-GIA高防独立服务器,

云基yunbase怎么样?云基成立于2020年,目前主要提供高防海内外独立服务器,欢迎各类追求稳定和高防优质线路的用户。业务可选:洛杉矶CN2-GIA+高防(默认500G高防)、洛杉矶CN2-GIA(默认带50Gbps防御)、香港CN2-GIA高防(双向CN2GIA专线,突发带宽支持,15G-20G DDoS防御,无视CC)。目前,美国洛杉矶CN2-GIA高防独立服务器,8核16G,最高500G ...

http 404为你推荐
百度空间首页如何上百度空间首页316不锈钢和304哪个好请问316不锈钢和304不锈钢有什么区别?从外观如何辨别?天玑1000plus和骁龙865哪个好天玑1000plus相当于骁龙多少985和211哪个好211的院校和985的那个好?车险哪个好汽车保险买哪个公司的好清理手机垃圾软件哪个好手机垃圾清理软件哪个好美国国际东西方大学明尼苏达大学(是莫瑞斯分校)和美国东北大学 应该去哪一个 是这个方面的专家回答啊!有偏见性的不要说!群空间登录手机能否登录群空间,如何登录群空间登录手机如何登录腾讯qq群空间东莞电信网上营业厅怎样联系申请东莞中国电信固话
北京虚拟主机租用 泛域名解析 万网域名管理 la域名 紫田 paypal认证 嘉洲服务器 台湾谷歌地址 河南移动邮件系统 免费个人空间 ntfs格式分区 备案空间 数据库空间 创速 双11促销 hdroad 贵州电信 symantec 监控主机 56折扣网 更多