`
jinnianshilongnian
  • 浏览: 21441711 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2406627
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:2998825
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5632404
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:257847
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1593567
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:249106
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5848545
Group-logo
跟我学Nginx+Lua开...
浏览量:698467
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:780948
社区版块
存档分类
最新评论

Servlet3.1规范翻译——Web应用

 
阅读更多

Web应用


一个Web应用是由许多servlet、HTML页面、类和其他资源组成的集合,这些资源组成了一个运行在Web服务器上的完整应用程序。Web应用程序能够捆绑和运行在来自不同提供商的不同容器上。

10.1 Web服务器中的Web应用程序


在Web服务器中Web应用程序的根目录是一个特定的路径。例如,一个catalog应用,可以位于http://www.mycorp.com/catalog。以这个前缀开始的所有请求将被路由到代表catalog应用的ServletContext环境中。

servlet容器能够制定Web应用程序自动生成的规则。例如,一个~user/映射可用于映射到一个基于/home /user/public_html/的Web应用。

默认情况下,在任何时候一个Web应用程序的实例必须运行在一个虚拟机(VM)中。如果应用程序通过其部署描述文件标记为“分布式”的,那么可以覆盖此行为。标记为分布式的应用程序必须遵守比普通的Web应用程序更严格的规则。本规范中陈述了这些规则。

10.2 与ServletContext的关系


servlet容器必须强制web应用程序和ServletContext之间一对一进行通信。ServletContext对象提供了一个servlet和它的应用程序视图。

10.3 Web应用的要素


Web应用程序可能包括以下项目:

■ Servlets

■ JSP™页面

■ 实用工具类

■ 静态文件(HTML,图像,声音等)

■ 客户端Java applets,beans,和类

■ 结合上述所有要素的描述性的元信息

10.4 部署层次结构


本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议servlet容器支持这种结构作为运行时表示形式,但不是必须的。

10.5 目录结构


一个Web应用程序以结构化的目录层次结构存在。层次结构的根目录作为文件的归档目录,这些文件是应用的一部分。例如,对于Web容器中一个Web应用程序的上下文路径/catalog,在Web应用程序层次结构中的index.html文件,或在WEB-INF/lib目录下的JAR文件中的META-INF/resources目录下包括的index.html文件,可以满足从/catalog/index.html送达的请求。如果在根上下文中和应用的WEB-INF/lib目录下的JAR文件中的META-INF/resources目录中都存在一个index.html文件,那么必须使用根上下文中的index.html。匹配的URL到上下文路径的规则安排在第12章:“请求映射到servlet”中。由于应用的上下文路径确定了Web应用内容的URL命名空间,Web容器必须拒绝Web应用定义的上下文路径,因为可能在这个URL命名空间中导致潜在的冲突。例如,试图部署两个具有相同上下文路径的Web应用时可能发生这种情况。由于把请求匹配到资源是区分大小写的,所以在确定潜在冲突时也必须区分大小写。

应用程序层次结构中存在一个名为“WEB-INF”的特殊目录。这个目录包含了与应用程序相关的所有东西,这些东西不在应用程序的归档目录中。大多数WEB-INF节点都不是应用程序公共文档树的一部分。除了静态资源和WEB-INF/lib目录下打包在JAR文件中META-INF/resources目录下的JSP文件之外,WEB-INF目录下包含的其他任何文件都不能由容器直接提供给客户端访问。然而,WEB-INF目录中的内容可以通过servlet代码调用ServletContext的getResource和getResourceAsStream方法来访问,并可使用RequestDispatcher调用公开这些内容。因此,如果应用开发人员想通过servlet代码访问这些内容,而不愿意直接对客户端公开应用程序指定配置信息,那么可以把它放在这个目录下。由于把请求匹配到资源的映射区分大小写,例如,客户端请求‘/WEB-INF/foo’,‘/WEb-iNf/foo’,不应该返回位于/WEB-INF下的Web应用程序的内容,也不应该返回其中任何形式的目录列表。

WEB-INF目录中的内容有:

■ /WEB-INF/web.xml部署描述文件。

■ servlet和实用工具类目录/WEB-INF/classes/。此目录中的类对应用程序类加载器必须是可见的。

■ java归档文件区域/WEB-INF/lib/*.jar。这些文件中包括了servlet,beans,静态资源和打包在JAR文件中的JSP文件,以及其他对Web应用程序有用的实用工具类。Web应用程序的类加载器必须能够从这些归档文件中加载类。

Web应用程序类加载器必须先从WEB-INF/classes目录下加载类,然后从WEB-INF/lib目录下的JAR库中加载。此外,除了静态资源打包在JAR文件中的情况外,任何来自客户端的请求访问WEB-INF/目录中的资源必须返回一个SC_NOT_FOUND(404)的响应。

10.5.1 应用程序目录结构示例


下面是一个示例Web应用程序的文件清单:

/index.html

/howto.jsp

/feedback.jsp

/images/banner.gif

/images/jumping.gif

/WEB-INF/web.xml

/WEB-INF/lib/jspbean.jar

/WEB-INF/lib/catalog.jar!/META-INF/resources/catalog/moreOffers/books.html

/WEB-INF/classes/com/mycorp/servlets/MyServlet.class

/WEB-INF/classes/com/mycorp/util/MyUtils.class

10.6 Web应用程序归档文件


可以使用标准的Java归档工具把Web应用程序打包并签名到一个Web存档格式(WAR)文件中。例如,一个关于“issue tracking”的应用程序可以分布在一个称为issuetrack.war的归档文件中。

当打包成这种形式时,将生成一个META-INF目录,其中包含了对java归档工具有用的信息。尽管这个目录的内容可以通过servlet代码调用ServletContext的getResource和getResourceAsStream方法来访问,容器也不能把这个目录当作内容来响应客户端请求。此外,任何请求访问META-INF目录中的资源必须返回一个SC_NOT_FOUND(404)的响应。

10.7 Web应用程序部署描述文件


Web应用程序部署描述文件(见第14章,“部署描述文件”)的配置和部署信息包括以下几种类型:

■ ServletContext的初始化参数

■ Session配置

■ Servlet/JSP的定义

■ Servlet JSP的映射

■ MIME类型映射

■ 欢迎文件列表

■ 错误页面

■ 安全

10.7.1 扩展的依赖关系


当许多应用程序使用相同的代码或资源,通常将它们安装在容器的库文件中。这些文件往往是通用的或标准的API,可以在不牺牲可移植性的情况下使用。仅由一个或几个应用程序使用的文件将作为Web应用程序的一部分来访问。容器必须为这些库提供一个目录。放置在这个目录中的文件必须对所有的Web应用可见。此目录的位置由容器指定。servlet容器用于加载这些库文件的类加载器必须和在同一个JVM中的所有Web应用的类加载器相同。这个类加载器的实例必须在Web应用程序类加载器的父类加载器链中。

为了保持可移植性,应用程序开发人员需要知道Web容器中安装了哪些扩展,而容器需要知道WAR中的servlet依赖哪些库。

依赖这样的扩展的应用开发人员必须在WAR文件中提供一个列出所有WAR文件所需扩展的META-INF/MANIFEST.MF文件。清单文件的格式应该遵循标准的JAR清单格式。在部署Web应用程序的时候,Web容器必须使正确的扩展版本对遵循可选包版本控制(Optional Package Versioning)机制(http://java.sun.com/j2se/1.4/docs/guide/extensions/)定义的规则的应用程序可见。

Web容器也必须能够识别出WAR文件中WEB-INF/lib目录下的任意一个JAR包中的清单文件声明的依赖关系。

如果Web容器不能够满足以这种方式声明的依赖关系,它应该使用一条有意义的错误消息拒绝该应用程序。

10.7.2 Web应用程序类加载器


容器用于加载WAR文件中servlet的类加载器必须允许开发人员使用getResource加载遵循正常JavaSE语义的WAR文件的JAR包中包含的任何资源。和Java EE许可协议中描述的一样,不属于Java EE产品的servlet容器不应该允许应用程序覆盖Java SE平台中的类,如在java.*和javax.*命名空间中的类,Java SE不允许进行修改。容器不应该允许应用程序覆盖或访问容器的实现类。同时建议应用程序类加载器实现成WAR文件中的类和资源优先于属于容器范围内的JAR包中的类和资源加载。一个类加载器的实现必须保证对部署到容器的每个web应用,调用Thread.currentThread.getContextClassLoader()返回一个实现了本节规定的约定的ClassLoader实例。此外,部署的每个Web应用程序的ClassLoader实例必须是一个单独的实例。容器必须在任何回调(包括侦听器回调)到Web应用程序之前设置上面描述的线程上下文ClassLoader,一旦回调返回,需要把它设置成原来的ClassLoader。

10.8 更新Web应用


服务器应该能够更新一个新版本的应用程序,而无需重启容器。当一个应用程序更新时,容器应提供一个可靠的方法来保存该应用程序的会话数据。

10.9 错误处理

 

10.9.1 请求属性


在发生错误时,Web应用程序必须能够详细说明,应用程序中的其他资源被用来提供错误响应的内容主体。这些资源的规定在部署描述文件中配置。

如果错误处理位于一个servlet或JSP页面:

■ 原来打开的由容器创建的请求和响应对象被传递给servlet或JSP页面。。

■ 请求路径和属性被设置成如同RequestDispatcher.forward跳转到已经完成的错误资源一样。

■ 必须设置表10-1中的请求属性。

表10-1 请求属性和它们的类型

请求属性

类型

javax.servlet.error.status_code

java.lang.Integer

javax.servlet.error.exception_type

java.lang.Class

javax.servlet.error.message

java.lang.Class

javax.servlet.error.exception

java.lang.Throwable

javax.servlet.error.request_uri

java.lang.String

javax.servlet.error.servlet_name

java.lang.String

这些属性允许servlet根据状态码、异常类型、错误消息、传播的异常对象、发生错误时由servlet处理的请求URI(像调用getRequestURI方法确定的URI一样)、以及发生错误的servlet的逻辑名称来生成专门的内容。

由于本规范的2.3版本引入了异常对象属性列表,异常类型和错误消息属性是多余的。他们保留向后兼容早期的API版本。

10.9.2 错误页面


为了使开发人员能够在servlet产生一个错误时自定义内容的外观返回到Web客户端,部署描述文件中定义了一组错误页面说明。这种语法允许当servlet或过滤器调用response的sendError方法指定状态码时,或如果servlet产生一个异常或错误传播给容器时,由容器返回资源配置。

如果调用response的sendError方法,容器参照为Web应用声明的错误页面列表,使用状态码语法并试图匹配一个错误页面。如果找到一个匹配的错误页面,容器返回这个位置条目指示的资源。

在处理请求的时候servlet或过滤器可能会抛出以下异常:

■ 运行时异常或错误

■ ServletException或它的子类异常

■ IOException或它的子类异常

Web应用程序可以使用exception-type元素声明错误页面。在这种情况下,容器通过比较抛出的异常与使用exception-type元素定义的error-page列表来匹配异常类型。在容器中的匹配结果返回这个位置条目指示的资源。在类层次中最接近的匹配将被返回。

如果声明的error-page中没有包含exception-type适合使用的类层次结构的匹配,那么抛出一个ServletException异常或它的子类异常,容器通过ServletException.getRootCause方法提取包装的异常。第二遍通过修改错误页面声明,使用包装的异常再次尝试匹配声明的错误页面。

使用exception-type元素声明的error-page在部署描述文件中必须唯一的,由exception-type的类名决定它的唯一性。同样地, 使用status-code元素声明的error-page在部署描述文件中必须是唯一的,由状态码决定它的唯一性。

当错误发生时,错误页面机制不会干预调用使用RequestDispatcher或filter.doFilter方法。用这种方法,过滤器或Servlet有机会使用RequestDispatcher处理产生的错误。

如果上述错误页面机制没有处理servlet产生的错误,那么容器必须确保发送一个状态500的响应。

默认的servlet和容器将使用sendError方法,发送4xx和5xx状态的响应,这样错误机制才可能会被调用。默认的servlet和容器将使用setStatus方法,设置2xx和3xx的响应,并不会调用错误页面机制。

如果应用程序使用第2.3.3.3节,第2-10页“异步处理”中描述的异步操作,那么处理应用程序创建的线程的所有错误是应用程序的职责。容器应该通过AsyncContext.start方法注意线程发出的错误。对于处理AsyncContext.dispatch过程中发生的错误,请参照第2-16页中看到的几节,“执行dispatch方法的时候可能发生的错误或异常必须被容器按照如下的方式捕获并处理”。

10.9.3 错误过滤器


错误页面机制运行在由容器创建的原来未包装过的或未经过过滤的request或response对象上。在第6.2.5节“过滤器和请求转发”中描述的机制可以在产生一个错误响应之前用来指定要应用的过滤器。

10.10 欢迎文件


Web应用程序开发人员可以在Web应用程序部署描述文件中定义一个称为欢迎文件的局部URI有序列表。在Web应用程序部署描述文件模式中描述了部署描述文件中欢迎文件列表的语法。

这种机制的目的是,当一个对应到WAR文件中一个目录条目的请求URI没有映射到一个Web组件时,允许部署者为容器用于添加URI指定局部URI有序列表。这种请求被认为是有效的局部请求。

通过下面常见的例子来明确这种用法的便利:可以定义‘index.html’欢迎文件,以便像请求URL host:port/webapp/directory/,其中‘directory’是WAR文件中的一个不能映射到servlet或JSP页面的条目,以下面的形式返回给客户端:‘host:port/webapp/directory/index.html’。

如果Web容器接收到一个有效的局部请求,Web容器必须检查部署描述文件中定义的欢迎文件列表。欢迎文件列表是一个没有尾随或前导/的局部URL有序列表。Web服务器必须把部署描述文件中按指定顺序的每个欢迎文件添加到局部请求,并检查WAR文件中的静态资源是否映射到请求URI。Web服务器必须再把部署描述文件中按指定顺序的每个欢迎文件添加到局部请求,并检查servlet是否映射到请求URI。 Web容器必须将请求发送到WAR文件中第一个匹配的资源。容器可使用转发、重定向、或容器指定的机制将请求发送到欢迎资源,这与直接请求没有什么区别。

如果按上述的方式没有找到匹配的欢迎文件,容器可能会使用它认为合适的方式处理该请求。对于有的配置来说,这可能意味着返回一个目录列表,对其他配置来说可能返回一个404响应。

考虑一个Web应用程序:

■ 部署描述文件列出了以下的欢迎文件。

index.htmldefault.jsp

■ WAR文件中的静态内容如下

/foo/index.html

/foo/default.jsp

/foo/orderform.html

/foo/home.gif

/catalog/default.jsp

/catalog/products/shop.jsp

/catalog/products/register.jsp

■ 请求URI /foo将被重定向到URI /foo/。

■ 请求URI /foo/将返回/foo/index.html的。

■ 请求URI /catalog将被重定向到URI /catalog/。

■ 请求URI /catalog/将返回/catalog/default.jsp。

■ 请求URI /catalog/index.html将导致404未找到错误。

■ 请求URI /catalog/products将重定向到URI /catalog/products/。

■ 请求URI /catalog/products/将被传递给“默认”的servlet(如果有默认的servlet的话)。如果没有映射到“默认”的servlet,请求可能会导致一个404未找到错误,可能会导致一个包括shop.jsp和register.jsp目录列表,或可能导致容器定义的其他行为。请参见12.2节,“映射规范”定义的“默认”servlet。

■ 所有上述的静态内容都可以打包到JAR文件的META-INF/resources目录中。这个JAR文件可以放到Web应用的WEB-INF/lib目录下。

10.11 Web应用程序环境


servlet容器不属于JavaEE技术标准的实现,鼓励实现这个容器但不是必需的,实现应用环境的功能请参见第15.2.2节中描述的“Web应用环境”和JavaEE规范。如果他们没有实现需要支持这种环境的条件,根据部署依赖它们的应用程序,容器应该提供一个警告。

10.12 Web应用程序部署


当一个Web应用程序部署到容器中,在Web应用程序开始处理客户端请求之前,必须按照下述步骤顺序执行。

■ 实例化部署描述文件中元素标识的每个事件监听器的一个实例。

■ 对于已实例化的实现了ServletContextListener接口的监听器实例,调用contextInitialized()方法。

■ 实例化部署描述文件中元素标识的每个过滤器的一个实例,并调用每个过滤器实例的init()方法。

■ 包含元素的元素,根据load-on-startup元素值定义的顺序为每个servlet实例化一个实例,并调用每个servlet实例的init()方法。

10.13 包含web.xml部署描述文件


如果Web应用不包含任何servlet、过滤器、或监听器组件或使用注解声明相同的,那么可以不需要web.xml文件。换句话说,只包含静态文件或JSP页面的应用程序并不需要一个web.xml的存在。

16
4
分享到:
评论
10 楼 jinnianshilongnian 2012-12-26  
lvwenwen 写道
这难道是你根据英文文档一遍一遍翻译的?是哪个文档


是的

Servlet3.1(JSR340)规范目前处于早期草案阶段,目标是在Java EE 7或更高平台。 Servlet3.0(JSR 315)已经包含在Java EE 6平台。具体请参考本规范网站:http://jcp.org/en/jsr/detail?id=340
9 楼 lvwenwen 2012-12-26  
这难道是你根据英文文档一遍一遍翻译的?是哪个文档
8 楼 jinnianshilongnian 2012-12-26  
weifly 写道
支持你,希望你早日完成翻译工作

有时间吗 可以参与校验 
7 楼 jinnianshilongnian 2012-12-26  
weifly 写道
支持你,希望你早日完成翻译工作

已完成 正在校验
6 楼 weifly 2012-12-26  
支持你,希望你早日完成翻译工作
5 楼 jinnianshilongnian 2012-12-26  
javaroom 写道
分享知识的精神是伟大的

4 楼 javaroom 2012-12-25  
分享知识的精神是伟大的
3 楼 hejinguo727 2012-12-25  
顶。。。。
2 楼 jinnianshilongnian 2012-12-25  
javaroom 写道
还以为介绍的是3.1的特性呢,原来是和2.5一样的东西

3主要更新了异步的支持和可插拔性的支持。 大部分东西跟2.5一样 

这系列是翻译的规范,无代码

如果需要:
我这里有两本Java EE 6的书 上边有相关代码
Java EE 6 Pocket Guide.pdf
Java EE 6 Cookbook for Securing, Tuning, and Extending.pdf
1 楼 javaroom 2012-12-25  
还以为介绍的是3.1的特性呢,原来是和2.5一样的东西

相关推荐

    【图像融合】加权算法高分辨率和低分辨率图像融合(含清晰度)【含Matlab源码 4405期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    源代码-BASISBBS最易ASP论坛 v1.0.7.zip

    源代码-BASISBBS最易ASP论坛 v1.0.7.zip

    【图像去噪】高斯滤波+均值滤波+中值滤波+双边滤波图像去噪(含信噪比)【含Matlab源码 2747期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    华为2019创新大赛的工程文件+各种模型的backbone和tricks

    华为大模型 华为2019创新大赛的工程文件+各种模型的backbone和tricks 华为2019创新大赛的工程文件+各种模型的backbone和tricks 华为2019创新大赛的工程文件+各种模型的backbone和tricks 华为2019创新大赛的工程文件+各种模型的backbone和tricks 华为2019创新大赛的工程文件+各种模型的backbone和tricks 华为2019创新大赛的工程文件+各种模型的backbone和tricks

    【脑肿瘤检测】 GUI SOM脑肿瘤检测【含Matlab源码 2322期】.zip

    【脑肿瘤检测】 GUI SOM脑肿瘤检测【含Matlab源码 2322期】

    顾客满意度调查表.doc

    顾客满意度调查表.doc

    Excel模板个人简历优雅简约单页30.docx

    Excel模板个人简历优雅简约单页30.docx

    响应式web前段开发程序源代码

    响应式web前段开发程序一书的所有源代码,PPT,课件,免费不要钱,有需要的下载即可,我是好人!给我点赞,让更多的大学生看见,大学生help大学生!

    HC400-20标定版描述文件及标定版ps文件

    HC400-20标定版描述文件及标定版ps文件

    光伏出力、风电出力基于skleran算法实现对光伏和风电输出进行准确预测Python源码+详细注释+报告.zip

    【备注】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通。 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 光伏出力、风电出力基于skleran算法实现对光伏和风电输出进行准确预测Python源码+详细注释+报告.zip 光伏出力、风电出力基于skleran算法实现对光伏和风电输出进行准确预测Python源码+详细注释+报告.zip 光伏出力、风电出力基于skleran算法实现对光伏和风电输出进行准确预测Python源码+详细注释+报告.zip 光伏出力、风电出力基于skleran算法实现对光伏和风电输出进行准确预测Python源码+详细注释+报告.zip

    【交通标志识别】 GUI BP神经网络雾霾天气交通标志识别(带面板)【含Matlab源码 1771期】.zip

    【交通标志识别】 GUI BP神经网络雾霾天气交通标志识别(带面板)【含Matlab源码 1771期】

    【图像加密】 GUI混沌系统图像加密解密【含Matlab源码 147期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    stm32八路灰度循迹小车

    STM32F103

    Excel模板Github上10个值得学习的Springboot开发项目.pdf

    Spring Boot 是一个开源的 Java 框架,用于简化 Spring 应用程序的初始搭建以及开发过程。它提供了许多默认配置,使得开发者能够更快速地构建应用。以下是一些 Spring Boot 的开发案例,这些案例展示了如何使用 Spring Boot 来构建不同类型的应用程序。 Web 应用程序: 博客系统:可以使用 Spring Boot 创建一个简单的博客系统,包括用户注册、登录、发布文章、评论等功能。利用 Spring Boot 的自动配置特性,可以快速搭建起一个 Web 服务器,并通过 Spring MVC 实现 RESTful API。 在线商店:Spring Boot 可以用来构建电商网站,包括商品展示、购物车、订单处理、支付集成等功能。

    node-v0.9.6-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    从交易模式看游戏陪玩平台的运行逻辑(一).docx

    从交易模式看游戏陪玩平台的运行逻辑(一).docx

    产品属性检验记录表(注塑).xls

    产品属性检验记录表(注塑).xls

    【车牌识别】 GUI模板匹配车牌识别门禁系统(带面板)【含Matlab源码 1091期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于SpringBoot+Maven的校园二手交易网站

    项目背景: 校园二手交易网站旨在为学生提供一个便捷、安全的二手物品交易平台,促进资源循环利用,减轻学生经济负担。通过SpringBoot和Maven技术栈,构建一个高效、易维护的二手交易网站。 项目目标: 搭建一个功能齐全的二手交易平台,方便学生发布和浏览二手商品信息。 提供安全的用户认证和交易保护机制,确保交易的可靠性和安全性。 实现简洁美观的用户界面,提升用户体验。 主要功能: 用户管理:支持用户注册、登录、信息修改和账户管理。 商品发布与管理:用户可以发布、编辑、删除自己的二手商品信息,并查看其他用户发布的商品。 商品搜索与分类:支持按关键词、类别和价格范围等条件搜索商品,方便用户快速找到所需物品。 消息通知:提供买卖双方的消息通知和交流功能,促进交易沟通。 交易记录:记录用户的交易历史,方便用户查看和管理交易信息。 技术实现: 后端开发:使用SpringBoot框架构建后端服务,处理用户认证、商品管理和交易记录等功能。 前端开发:使用Thymeleaf模板引擎和Bootstrap框架开发用户界面,实现响应式设计和良好的用户体验。 数据持久化:使用MySQL数据库存储用

    labelme, 一个用于图像标记的工具

    使用python3以上版本

Global site tag (gtag.js) - Google Analytics