拿过这个项目,首先进行了部署
1.部署
新建一个web工程,对照进行复制
把devlib和lib下面的包赋值到了自己web工程的web-inf/lib/中,然后到eclipse中将所有lib目录下的包都导入工程的Libaries.
2.运行
http://localhost:8090/JPetStore
系统跳转到index.html界面,点击Enter the shop进入主页
在这里有一点不明白,
点击的时候跳转的是shop/index.shtml,可以在web目录下面并没有shop的目录
打开web.xml发现如下的配置
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
并不是.do的形式,而是.shtml
打开struts-config.xml,果然存在
<action path="/shop/index" type="org.apache.struts.beanaction.BeanAction"
name="catalogBean" parameter="*" validate="false">
<forward name="success" path="/catalog/Main.jsp"/>
</action>
这样的配置,在catalog/main.jsp找到主页。
3. web.xml
感觉对于一个web项目来说,web.xml配置文件是非常重要的,由上面的就可以看出来
现在我继续往下看,有一个security-constraint标签我没有见过,于是我去查资料。看到不会的东西就去学习,这不正式我们学习项目的目的吗?
在网上找到一篇文章是说明这点的:http://space.itpub.net/12928228/viewspace-438713
应该是对资源进行保护的功能,现在好像是默认对所有的jsp文件提供保护
但是没有配置相应的角色
With no roles defined, no access granted
由于没有明确的角色,没有机会给予
这是百度百科的解释
部署描述符中的security-constraint元素允许不通过编程就可以限制对某个资源的访问。
web-resource-collection元素标识需要限制访问的资源子集。在web-resource-collection元素中,可以定义URL模式和HTTP方法。如果不存在HTTP方法,就将安全约束应用于所有的方法。
auth-constraint元素用于指定可以访问该资源集合的用户角色。如果没有指定auth-constraint元素,就将安全约束应用于所有角色。
user-data-constraint元素用来显示怎样保护在客户端和Web容器之间传递的数据
resource-ref元素用于指定对外部资源的servlet引用的声明。
● res-ref-name是资源工厂引用名的名称。该名称是一个与java:comp/env上下文相对应的JNDI名称,并且在整个Web应用中必须是惟一的。
● res-auth表明:servlet代码通过编程注册到资源管理器,或者是容器将代表servlet注册到资源管理器。该元素的值必须为Application或Container。
● res-sharing-scope表明:是否可以共享通过给定资源管理器连接工厂引用获得的连接。该元素的值必须为Shareable(默认值)或Unshareable。
4. struts
看struts-config.xml,通过这里来了解系统的处理流程
发现它的strust模式和我们以往开发的模式完全不同,有dao和service层都差不多,但是却没有action,action由bean来替代,所有的strust类都继承org.apache.struts.beanaction.BaseBean
这个类似于struts2的功能,由BaseBean统一的接受请求,name代表处理该请求的bean,把页面的表单的参数填充到该bean对象,然后根据path以"/"分隔的最后一部分作为执行该请求的bean的方法。
<action path="/shop/searchProducts" type="org.apache.struts.beanaction.BeanAction"
name="catalogBean" scope="session"
validate="false">
<forward name="success" path="/catalog/SearchProducts.jsp"/>
</action>
这个就是用catalogBean的searchProducts方法来处理
<action path="/shop/index" type="org.apache.struts.beanaction.BeanAction"
name="catalogBean" parameter="*" validate="false">
<forward name="success" path="/catalog/Main.jsp"/>
</action>
像这种的有一个parameter="*"就是填充完表单参数直接跳转的意思吧(我这么认为)。
这种写法我以前好像还没有看见过。。。。。
5. ibatis
dao层和service层和我们平时的ssh框架基本相同了,我看这个项目主要是想学习ibatis的使用
分享到:
相关推荐
《jpetstore开源学习代码》是一个深受开发者欢迎的学习资源,特别针对那些希望深入理解J2EE(Java 2 Platform, Enterprise Edition)技术的初学者和有经验的程序员。jpetstore项目是一个示例应用,它展示了如何在...
《Spring框架学习:以JpetStore为例》 Spring框架是Java企业级应用开发中的核心框架,它为开发者提供了丰富的功能,简化了开发流程,提高了代码的可测试性和可维护性。JpetStore作为Spring的经典示例项目,是学习...
总的来说,jpetstore是一个理想的起点,对于想要学习和理解Java Web开发的人来说非常有用。它涵盖了从基础的HTTP请求处理到复杂的MVC架构,再到数据库操作和安全控制的多个重要方面。通过研究和实践jpetstore,...
总的来说,JPetStore-5.0不仅是一个电商应用实例,也是一个学习和研究Java Web开发、iBatis、Spring和MVC模式的宝贵资源。通过对这个项目的深入研究,开发者可以提升自己的技术能力,更好地理解和运用相关技术栈。
尤其在jpetstore5.0版本中,其系统架构图详细展示了系统的各个组成部分及其相互间的交互方式,为理解和学习基于Java的企业级应用开发提供了宝贵的资料。 ### 一、系统架构概述 jpetstore5.0系统架构遵循经典的MVC...
spring自带的JPetStore,我已经配置好(数据库也配置好,用的是hsqldb),可以直接导 入eclipse中运行。共3个压缩包
在压缩包文件名称 "springapp-petclinic" 中,"petclinic"可能是JPetStore的一个变体或者相关项目,通常Spring PetClinic是一个与JPetStore类似的学习资源,用于教授Spring Boot和Spring Data JPA等现代Spring技术。...
总的来说,jpetstore项目是一个极好的学习资源,对于想要深入理解和掌握Spring、iBatis和Struts的人来说,它是不可或缺的实践案例。通过分析和调试这个项目,你不仅可以提升自己的编程技能,还能对Java Web开发的...
学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore学习ibatis很好的例子JPetStore
JPetStore是基于iBATIS实现的一个在线宠物商店示例,它的设计和实现为开发者提供了学习数据库驱动应用开发的良好实践。 首先,让我们深入了解一下iBATIS框架。iBATIS的核心理念是将SQL与Java代码分离,通过XML或...
总的来说,jpetstore项目是一个非常实用的学习资源,对于想要掌握Struts和Spring整合应用的开发者来说尤其有价值。通过实际操作,不仅可以了解如何构建一个完整的Web应用,还能加深对MVC架构、数据库操作、依赖注入...
综上所述,JPetStore (Struts + Spring + Hibernate)版是一个理想的学习资源,它展示了如何在实际项目中集成和使用这些流行的技术,对于Java Web开发人员来说,深入研究这个项目可以提升他们对现代企业级应用开发的...
《基于Spring、Struts和...这个项目对于学习和理解Java Web开发中的MVC架构、依赖注入、数据库操作等核心概念具有很高的参考价值。同时,通过实际操作这个项目,开发者可以进一步掌握这些技术在实际项目中的应用。
综上所述,这个项目是一个学习和实践SpringMVC与MyBatis集成的绝佳实例,同时通过jpetstore的应用场景,可以帮助开发者了解如何在实际环境中配置和使用这两个框架。此外,由于使用MySQL作为数据库,因此也涉及到了...
通过学习和实践JPetStore,我们可以快速掌握Spring的核心技术。 加载JPetStore到MyEclipse的过程如下: 1. **项目导入**:首先,你需要下载JPetStore的源码压缩包,这在你提供的文件列表中已经包含,名为...
MyBatis学习范例宠物商店jpetstore6 内容为: mybatis-jpetstore-6.0.0-sources.jar mybatis-jpetstore-6.0.0.war 学习MyBatis一定要看的sample。
这个项目在原有的JPetStore基础上进行了修正,解决了两个已知的问题,使得其更加完善和稳定,对于初学者来说,它提供了从理论到实践的学习路径,有助于理解J2EE架构和相关技术。 **主要技术栈** 1. **JavaServer ...
`jpetstore`对于初学者来说,是一个了解Java Web开发流程、学习Spring、Struts和MyBatis等框架的好例子。通过分析和修改源码,可以深入理解这些框架的工作原理以及企业级应用的开发实践。 总的来说,`jpetstore`...
- **Java编程**:jpetstore项目基于Java语言,因此学习者可以从中了解到面向对象编程、异常处理、类和对象、接口等Java基础知识。 - **MVC架构**:作为Web应用程序,jpetstore可能采用了Model-View-Controller...