PetStore1.3分析 一

petstore结构的解读摘要(一) petstore:zip包中的安装程序使用了ant对其进行编译    编译petstore前需要修改/src/bulid.properties    编译方法和步骤参考http://java.sun.com/blueprints/code/jps131/docs/building.html    特殊配置:可以使用j2ee的deploymenttool(修改完后保存而不需要重新编译?)或者直接修改 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 前言:我只是一个J2EED的新手而已,只能从代码和简单的设计模式上谈一下对PS1.3的认识,如有谬误,还请多多包涵。

概述:

PetStore1.3在原先的基础上更加抽象了通用事务的处理,换句话说,接口更加抽象,使用了更多的设计模式。同时也将Web Services的概念加了进去,还有一些EJB2.0的新特性,比如说Message Driven Bean,比如说本地接口的引入。 Petstore事实上采取的是仿造Struts的结构,使用XML文件配置系统。这在一定程度上不利于分布式部署,however,这并不妨碍我们研究它,学习其中的设计思想。 在这里,我也强烈推荐各位先看看“动物园的猪”大虾所翻译的PetStore的文档,那是宏观上的理解,而本文档将更多地注重细节。

PetStore的构建基础——MVC模式的Web Application Framework

MVC模式这里就不多说了,如果不知道,搜索一下,应该能了解一个大概。就是Model、View、Controller的简写。在J2EE中,也就是Model2:JavaBean或者EJB作为模型处理,JSP作页面展示,Servlet和一些EJB作为控制。 在Struts中,只有Web层的MVC实现,实际上,这已经能够完成很多中小型系统的需求,普通的系统是完全没有必要做到EJB层的。而PetStore则参考Stuts,增加了EJB层的Controller和Model,这一方面满足了大型系统的需求,另一方面,数据和事务处理的管理可以交给Application Server来完成。 在WAF中,设计者主要实现了两方面的功能,一是Controller的功能并且定义了能够被Controller所接受的Model接口;另一方面是视图的拼装、标签库的定义。 在后文中,我将详细分析waf中的各个程序。 PetStore的配置文件: 采用类似Struts的结构,PetStore使用一些XML作为系统的配置文件。 除了J2EE所指定的web.xml,PetStore还有一些重要的XML文件:mappings.xml,Screendefinitions.xml(在具体应用中,则会依据用户不同选择screendefinitions_en_US或者screendefinitions_ja_JP……嘿嘿,在最新的1.3.1.02中终于出现了中文版,呜呜呜呜,我们不再是被遗忘的一个角落。) 从配置文件上,我们可以大体了解ps的结构。 OK,下面我来说说这些配置文件。 Web.xml 注册了两个过滤器:编码过滤器(EncodingFilter)和登陆过滤器(SignOnFilter)。 注册了两个Listener:组件管理器,这个东东是web层和ejb层传递信息的核心程序。又将SignOnFilter注册成为Listener。 注册了Web层的front controller(front controller模式)的MainServlet,所有以.do为结尾的url请求都必须经过MainServlet的处理。 注册了用于视图拼装TemplateServlet,每一个.screen结尾都会经过TemplateServlet的处理将几个jsp拼装成为一个完成的页面。 注册了PopulateServlet……这个我没看,应该是数据处理的。 接着一段都是数据处理程序的注册信息,PetStore基本上处理信息都是DAO模式 最后是一些具有Local Interface的EJB的注册。 Mappings.xml 定义HTMLAction—Event—EJBAction的映射关系。这将在后面讲述waf结构的时候详细叙述。 ScreenDefinitions.xml 定义每一个Screen的组成。PetStore中每一个链接都是以.Screen结尾的,一个Screen被自定义的taglib划分为banner、sidebar、body、mylist、footer几个部分,每个部分都对应特定的jsp,其中body为真正实现功能的页面。这几个jsp由TemplateServlet和Template.jsp拼装成一个实际页面。 而在具体实现中,将根据区域选择相应的版本。 Signon_config.xml 定义保护资源,SignOnFilter将载入其中的信息,当没权限的用户访问保护资源时,则返回登陆界面。 处理请求的流程 PetStore框架所接受的请求分为两种,一种是以.Screen结尾,一种以.do结尾。前者只是简单的连接,而后者则会触发后台系列处理。 主要程序清单: Web层 MainServlet RequestProcess ScreenFlowManager WebController DefaultWebController ComponentManager DefaultComponentManager EJB层 EJBController(Session Bean) StateMachine 这些是主要的控制程序,其他还有一些涉及解析XML数据和值对象的类。 可以参见Sun文档的这幅图(非常抱歉ThatsOK的图片目前暂时无法传到服务器中,你可以把url贴出来) 这幅图反映了一次.do请求的解析处理过程。 首先过滤器判断客户端请求的编码和权限,同时由MainServlet进行处理。 MainServlet是前端控制器,它协调控制RequestProcessor和ScreenFlowManager兵分两路进行请求的业务处理和页面流控制。 在PetStore服务器启动的时候,MainServlet就被初始化,监听请求。当一次POST/GET发生时,MainServlet调用doProcess()方法,doProcess()方法调用getRequestProcessor()和getScreenFlowManager()。 getRequestProcessor ()方法返回RequestProcess类型的对象,类RequestProcessor是实际意义上Web层的控制器,所有.do的请求都在这里得到解析,进行URL和HTMLAction的映射,找到相匹配的EJBAction,产生必要的信息封装在Event中。 一个Event被封装好以后,RequestProcessor创建ComponentManager和WebController,用类ServiceLocator定位EJB层控制器,将Event传递给EJB层。 EJB层控制器接收到Event后,调用StateMachine进行通用性的事务处理。在EJB层,后台真正运算并且和数据库交互。 GetScreenFlowManager()方法返回ScreenFlowManager类型的对象,类ScreenFlowManager通过类URLMappingsXmlDAO分析mappings.xml,取得相关数据,将MainServlet所得到的URL请求与之比较,获得下一个页面的资源。 一次请求的过程大致如此。下面将针对代码和设计模式更加详细地分析一下PetStore的运行机制。 由于笔记本不在身边,用的老爸的机器,很多之前画的rose图打不开……下面的不得不等拿到机器。关于本文档,不足之处,希望各位多多指点。希望我在哪些方面多加分析也可以给我留言,谢谢。

模式:

MainServlet:Front Controller ServiceLocator:Service Locator DAO StateMachine: StateMachine Adaptor Factory 业务中有 Session Facade …… ……
《Kotlin从小白到大牛》第28章:项目实战1:开发PetStore宠物商店项目 第28章 项目实战1:开发PetStore宠物商店项目 前面学习的Kotlin知识只有通过项目贯穿起来,才能将书本中知识变成自己的。通过项目实战读者能够了解软件开发流程,了解所学知识在实际项目中使用的情况,哪些是重点的,哪些是了解的。 本章介绍通过Kotlin语言实现的PetStore宠物商店项目,所涉及的知识点:Kotlin面向对象、Lambda表达式、Swing、Exposed框架和数据库相关等知识,其中还会用到方方面面的Kotlin基础知识。 28.1 系统分析与设计 本节对PetStore宠物商店项 阅读详情

相关推荐

Python+Pytest+Requests接口自动化测试实战:从PetStore项目入门到框架搭建

接口测试是软件质量保障的核心环节,它通过模拟客户端与服务器间的数据交互,验证接口功能、性能及稳定性。其基本原理是发送HTTP请求并断言响应,确保系统各模块间通信符合预期。在工程实践中,一套健壮的自动化测试框架能显著提升测试效率和可靠性。Python凭借其简洁语法和丰富生态,结合Requests库发送请求、Pytest组织用例、Allure生成报告,构成了业界主流的技术栈。这种组合特别适用于RESTful API测试,能有效覆盖增删查改、状态流转等典型业务场景。以经典的PetStore宠物商店项目为例,本文将

weixin_30647065的博客 408

宠物商店 PetStore

PetStore 是 SUN 公司推出的一个宠物商店的系统,其唯一的目的不是让你卖宠物,而是学习 J2EE 最新版本的特性的一个绝好例子。也有不少语言推出相应版本的宠物商店。 Petstore的J2EE设计模式和组件框架思想是最值得学习的两种技术,在PetStore中,真正有关宠物这个具体应用相关的代码很少,整个宠物店是构架在一系列可重用的EJB组件上,这种架构思想值得借鉴。...

weixin_30666753的博客 628

《Java从小白到大牛》第29章:项目实战1:开发PetStore宠物商店项目

第29章 项目实战1:开发PetStore宠物商店项目 前面学习的Java知识只有通过项目贯穿起来,才能将书本中知识变成自己的。通过项目实战读者能够了解软件开发流程,了解所学知识在实际项目中使用的情况,哪些是重点的,哪些是了解的。 本章介绍Java SE技术实现的PetStore宠物商店项目,所涉及的知识点:Java面向对象、Lambda表达式、Java Swing技术、JDBC技术和数据库相关等知识,其中还会用到方方面面的Java基础知识。 29.1 系统分析与设计 本节对PetStore宠物商店项目进行

weixin_45521452的博客 2425

【2023】Kotlin教程 第四篇 项目实战 第25章 项目实战1:开发PetStore宠物商店项目 25.1 系统分析与设计

【2023】Kotlin教程 第四篇 项目实战 第25章 项目实战1:开发PetStore宠物商店项目 25.1 系统分析与设计

代码改变世界 1072

Java EE宠物商店应用案例:petstore-1_3_1_02_bea.zip文件解析

BEA WebLogic Server是一个广泛使用的Java应用程序服务器,它为企业提供了部署、集成、扩展和管理关键业务应用程序的能力。WebLogic作为中间件,位于操作系统和应用程序之间,提供了企业服务总线(ESB)、消息服务、事务处理等多种服务,从而简化了应用程序的开发和部署过程。PetStore是一个经典的电子商务在线商店示例应用程序,被广泛用于演示和教育目的。它模拟了一个宠物商店的在线销售系统,允许用户浏览商品、添加商品到购物车、管理订单和查看订单状态。

weixin_42103128的博客 771

petstore

petstore

创建Petstore数据库与表

数据库常用指令。

2301_80640837的博客 918

petStore宠物店

petStore宠物商城。使用ssm框架+mysql编写,tomcat版本为8.0,jdk采用1.7.实现用户的登录注册。以及查询购买宠物的一整套流程。存在三种权限角色,不同角色登录可进行不同页面的跳转。后台管理员分商店管理以及用户管理。商店管理可处理订单以及对宠物的增删改。以及分时间段查看所有订单收入。用户管理实现对用户的注销以及权限赋予,以及主页上的公告管理。后台未采用任何框架,观赏性可能不高,但是功能都实现了。

PetStore浅析 一

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 700

PetStore数据库

数据库实现现代管理 多种功能 access petstore

pet store 数据库设计

很好的资源,初学者的大补,里面包括了查询、模块等功能。

Java从小白到大牛第4篇项目实战1——PetStore宠物商店-关东升-专题视频课程

PetStore是Sun(现在Oracle)公司为了演示自己的Java EE技术,而编写的一个基于Web宠物店项目。PetStore是典型的电子商务项目,是现在很多电商平台的雏形。技术方面主要是Java EE技术,用户界面采用Java Web介绍实现。但本课程是介绍Java SE技术,不介绍Java Web,所以本项目用户界面采用Java Swing技术实现。...

「智捷课堂」关东升的博客 1835

PetStore2.0

sun 公司开发的PetStore2.0,采用了EJB3.0技术以及Ajax全新的架构,全新的技术.welcome download!

深入解析Swagger Petstore示例:OpenAPI 3.0规范实践指南

深入解析Swagger Petstore示例:OpenAPI 3.0规范实践指南 【免费下载链接】OpenAPI-Specification 项目地址: https://gitcode.com/gh_mirrors/open/O...

gitblog_00583的博客 670

机器视觉中的特征提取【0】:什么是特征提取,特征提取有什么作用?

1.什么是特征提取? 特征提取的英文叫做feature extractor,它是将一些原始的输入的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。简单来说有两个作用:减少数据维度,整理已有的数据特征。 这里我给一个例子来解释特征提取的第二个作用。那就是我们很熟悉的奖学金评定,我们知道学生的文化课成绩,道德分数,以及各种其他竞赛的成绩。摆在奖学金评定委员会面前的任务就是如何知道一个学生是否...

月下花弄影 5万+

OASIS协议标准文档的解读_第一部分

OASIS标准协议的文档的解读。完整原协议的中文翻译和解读。

洋葱的专栏 4904

OWASP OFFAT实战演练:用Petstore示例API演示漏洞扫描全流程

在API经济时代,接口一旦失守,背后的业务数据就会大面积暴露,而传统的Web扫描器往往对现代REST API力不从心。OWASP OFFAT(OFFensive Api Tester)正是由OWASP社区推出的开源API漏洞扫描工具:它读取OpenAPI/Swagger规范文件后,会自动生成测试用例并对接口发起自动化安全测试,覆盖SQL注入、越权访问(BOLA)、数据泄露、批量赋值(BOPLA)等

gitblog_01081的博客 423

先进封装Interposer仿真步骤及说明

摘要: Interposer仿真是2.5D/3DIC封装设计的关键环节,涵盖信号完整性(SI)、电源完整性(PI)、热及结构应力分析。流程分为五个阶段:1)前处理,定义层叠结构与材料属性;2)参数提取,通过3D电磁建模获取TSV、传输线等寄生参数;3)仿真设置,选择求解器并设定频率范围;4)结果分析,评估信号损耗、阻抗及电源网络性能;5)后处理,进行多物理场协同仿真并生成模型。核心挑战在于多尺度与多物理场耦合,需优先确保高速信号与电源网络的仿真精度。常用工具包括Ansys HFSS、Cadence Sigr

DSY_0324的博客 1351

【亲测免费】 探索Swagger Petstore:一个强大的OpenAPI示例项目

探索Swagger Petstore:一个强大的OpenAPI示例项目 项目介绍 Swagger Petstore是一个经典的示例项目,它不仅展示了如何运用Java搭建符合OpenAPI 3规范的独立服务器,还为开发者提供了一个互动学习和实践OpenAPI标准的平台。此项目托管于https://petstore3.swagger.io,并欢迎社区成员对代码或API设计提出建议。通过其核心组件——...

gitblog_00591的博客 1142

【首份】2023年30米分辨率土地利用遥感监测数据

为了恢复和重建我国土地利用变化的现代过程,更好地预测、预报土地利用变化趋势,地球资源数据云以美国陆地卫星Landsat 遥感影像数据作为主信息源,结合Sentinel系列数据,通过人工目视解译和机器学习方法,建立了国家尺度1:10 万比例尺多时期土地利用/土地覆盖遥感监测数据库(CNLUCC)因早期Landsat数据时空覆盖缺失,1972-1977年合成第一期数据,1978-1985年合成第二期数据,1986年起每年度生成一期数据。投影:Albers正轴等面积双标准纬线圆锥投影南标准纬线:25°N。

地球资源数据云的官方博客 3686

Nacos漏洞利用工具V3.0.5实战:从认证绕开到内存马植入的全流程指南

本文详细解析了Nacos漏洞利用工具V3.0.5在实战中的应用,从认证绕开到内存马植入的全流程。文章深入探讨了如何利用Nacos的历史漏洞,如默认口令、认证逻辑绕过、Derby SQL注入及Jraft反序列化,实现权限提升与持久化控制,并提供了防御视角与加固建议,旨在帮助安全人员理解攻击链以加强防护。

h6j7k8l9p0的博客 484

PetStore接口测试项目实操

本文详细记录了PetStore宠物商城API接口测试的全过程。首先通过SwaggerUI分析接口文档,设计221个测试用例并完成评审。在Postman测试中,重点验证了文件上传、数据驱动、API认证等功能,发现并提交了status字段校验缺失的缺陷。性能测试使用JMeter进行,结果显示系统存在响应波动大、吞吐量不稳定等问题。测试过程采用多种断言验证数据完整性,并通过环境变量优化测试效率。最后总结了测试点设计、用例评审方法以及缺陷处理流程,为类似API测试项目提供了完整的方法论参考。

2303_79292759的博客 540

基于STM32设计的物联网疫苗冷链物流监测系统

本设计基于物联网技术,开发了一套疫苗冷链物流环境监测系统。系统采用STM32F103C8T6作为主控芯片,集成SHT30温湿度传感器、震动传感器、GPS定位模块和4G通信模块,实现对运输环境的温度、湿度及震动状况的实时监测与控制。通过继电器驱动半导体制冷模块和加湿器,系统能够自动调节环境温湿度,保障疫苗运输的安全性。采集的环境数据通过MQTT协议上传至华为云物联网平台,配套开发的Android手机APP和Windows上位机软件基于Qt平台设计,支持远程实时查看环境数据和车辆定位,提升了疫苗冷链运输的智能化

866

再看PetStore

Petstore 很早以前看过了的,听说是什么学JAVA必看,时间长了都没什么印象了,今天再看一篇,觉得又学了不少东西。。看来好东西还是得经常看啊。。下面对Petstore的代码做一个简单的分析和梳理,以便下次看的时候更快捷。。我把它分四了个部分,其实还可以分的更细,不过大体先这样分,更细的在这四个下面再分好来(按包名):1.domain POJO部分2.persistence 数据持久层3.se

技术博客 939

海康VisionMaster与西门子PLC1200进行S7通信

通信是连通算法平台和外部设备的重要渠道,在海康VisionMaster算法平台中既支持外部数据的读入也支持数据的写出,当通信构建起来以后既可以把软件处理结果发送给外界,又可以通过外界发送字符来触发相机拍照或者软件运行。 本文以西门子PLC1200作为外部设备为例,讲解海康VisionMaster与西门子PLC1200进行S7通信。......

haier123888的博客 1万+

SOME/IP协议详解「4.1·经典AutoSAR下的SOME/IP架构」

SOME/IP协议详解「4.1·经典AutoSAR下的SOME/IP架构」 点击返回雪云飞星的SOME/IP协议详解「总目录」 SOME/IP协议详解「4.1·经典AutoSAR下的SOME/IP架构」1 CP的SOME/IP架构概览2 业务报文通信流3 服务发现通信和控制流 1 CP的SOME/IP架构概览 2 业务报文通信流 3 服务发现通信和控制流 点击返回雪云飞星的SOME/IP协议详解「总目录」 ...

雪云飞星的博客 6069
上一篇: 基于Struts的权限实现
下一篇: Java中的函数动态调用
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值