jsp 部署

摘要:
然而,当需要更详细的配置时,仍然需要部署描述符。可选的元数据完成属性指定部署描述符是否完成。如果值为true,servlet/JSP容器将忽略servlet注释。可从以下网站下载:https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-common_4_0.xsdwebcommon_3_0。xsd包括以下两种模式:javaee7。xsd,它定义了其他Java共享公共元素EE7的部署类型。jsp_ 2_ 3。根据JSP2.3规范,xsd通过配置应用程序的JSP部分来定义元素。以下是context-param元素的两个示例:<context-param><param name>location</param name><paramvalue>localhost</paramvalue></context param><context-param><paramname>port</param name><paramvalue>8080</param value><description>端口编号</description></contension param>3.可分发如果定义了可分发元素,它指示应用程序已部署到分布式servlet/JSP容器。

  部署一个Servlet 3.0应用程序是一件轻而易举的 事。通过Servlet注解类型,对于不太复杂的应用程序, 可以部署没有描述符的Servlet/JSP应用程序。尽管如 此,在需要更加精细配置的情况下,部署描述符仍然需 要。首先,部署描述符必须被命名为web.xml并且位于 WEB-INF目录下,Java类必须放置在WEB-INF/classes 目录下,而Java类库则必须位于WEB-INF/lib目录下。 所有的应用程序资源必须打包成一个以.war为后缀的 JAR文件。

一. 概述

  在Servlet 3.0之前,部署工作必然涉及部署描述 符,即web.xml文件,我们在该文件中配置应用程序的 各个方面。但在Servlet 3.0中,部署描述符是可选的, 因为我们可以使用标注来映射一个URL模式的资源。不 过,若存在如下场景,则依然需要部署描述符:

  • 需要传递初始参数给ServletContext。
  • 有多个过滤器,并要指定调用顺序。
  • 需要更改会话超时设置。
  • 要限制资源的访问,并配置用户身份验证方式。

下面展示了部署描述符的框架。它必须被命名 为web.xml且合并在应用目录的WEB-INF目录下。

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
➥ http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="4.0"
[metadata-complete="true|false"]
>
...
</web-app>

  xsi:schemaLocation属性指定了模式文档的位置,以 便可以进行验证。version属性指定了Servlet规范的版 本。

   可选的metadata-complete属性指定部署描述符是否 是完整的,若值为True,则Servlet/JSP容器将忽略 Servlet注解。若值为False或不存在,则容器必须检查类 文件的Servlet注解,并扫描web fragments文件。

  web-app元素是文档的根元素,并且可以具有如下 子元素:

  • Servlet声明
  • Servlet映射
  • ServletContext的初始化参数
  • 会话配置
  • 监听器类
  • 过滤器定义和映射
  • MIME类型映射
  • 欢迎文件列表
  • 错误页面
  • JSP特定的设置
  • JNDI设置

每个元素的配置规则可见app_4_0.xsd文档,可以 从如下网站下载:

http://java.sun.com/xml/ns/javaee/web-app_4_0.xsd

  url-pattern元素用来指定可应用相应属性配置的 URL模式。

  app_4_0.xsd包括另一种模式 (webcommon_4_0.xsd),其中包含了大部分信息。可 从如下网站下载:

https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-common_4_0.xsd

  webcommon_3_0.xsd包括以下两种模式:

  • javaee_7.xsd,定义了其他Java共享公共元素EE7的 部署类型(EAR、JAR和RAR)。
  • jsp_2_3.xsd,根据JSP 2.3规范,通过配置应用程序 的JSP部分来定义元素。

1. 核心元素

  web-app的子 元素可以以任何顺序出现。某些元素,如sessionconfig、jsp-config和login-config只能出现一次,而另一 些,如Servlet、filter和welcome-file-list可以出现很多 次。 

2. context-param

  可用context-param元素传值给ServletContext。这些 值可以被任何Servlet/JSP页面读取。context-param元素 由名称/值对构成,并可以通过调用ServletContext的 getInitParameter方法来读取。可以定义多个 contextparam 元素,每个参数名在本应用中必须唯一。 ServletContext. getInitParameterNames()方法会返回所有 的参数名称。

  每个context-param元素必须包含一个param-name元 素和一个param-value元素。param-name定义参数名,而 param-value定义参数值。另有一个可选的元素,即 description元素,用来描述参数。

  下面是context-param元素的两个例子:

<context-param>
<param-name>location</param-name>
<param-value>localhost</param-value>
</context-param>
<context-param>
<param-name>port</param-name>
<param-value>8080</param-value>
<description>The port number used</description>
</context-param>

3. distributable

  若定义了distributable元素,则表明应用程序已部署 到分布式的Servlet/JSP容器。distributable元素必须是空 的。例如,下面是一个distributable例子:

<distributable/>

4. error-page

  error-page元素包含一个HTTP错误代码与资源路径 或Java异常类型与资源路径之间的映射关系。error-page 元素定义容器在特定HTTP错误或异常时应返回的资源 路径。

  Error-page元素由如下成分构成:

  • error-code,指定一个HTTP错误代码
  • exception-type,指定Java的异常类型(全路径名 称)。
  • location,指定要被显示的资源位置。该元素必须 以“/”开始。

  下面的配置告诉Servlet/JSP容器,当出现HTTP 404 时,显示位于应用目录下的error.html页面。

<error-page>
<error-code>404</error-code>
<location>/error.html</location>
</error-page>

  下面的配置告诉Servlet/JSP容器,当发生 ServletException时,显示exception.html页面。

  

<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/exception.html</location>
</error-page>

5. filter

  filter指定一个Servlet过滤器。该元素至少包括一个 filter-name元素和一个filter-class元素。此外,它也可以 包含以下元素:icon、display-name、discription、initparam以及async-supported。

  filter-name元素定义了过滤器的名称。过滤器名称 必须全局唯一。filter-class元素指定过滤器类的全路径 名称。可由init-param元素来配置过滤器的初始参数 (类似于<context-param>),一个过滤器可以有多个 init-param。

  下面是Upper Case Filter和Image Filter两个filter元 素。

<filter>
<filter-name>Upper Case Filter</filter-name>
<filter-class>com.example.UpperCaseFilter</filter-class>
</filter>
<filter>
<filter-name>Image Filter</filter-name>
<filter-class>com.example.ImageFilter</filter-class>
<init-param>
<param-name>frequency</param-name>
<param-value>1909</param-value>
</init-param>
<init-param>
<param-name>resolution</param-name>
<param-value>1024</param-value>
</init-param>
</filter>

6.filter-mapping

  过滤器映射元素是指定过滤器要被映射到的一个或 多个资源。过滤器可以被映射到servlet或者URL模式。 将过滤器映射到servlet会致使过滤器对该servlet产生作 用。将过滤器映射到URL模式,则会使其对所有URL与 该URL模式匹配的资源进行过滤。过滤的顺序与过滤器 映射元素在部署描述符中的顺序一致。

  过滤器映射元素中包含一个filter-name元素和一个 URL模式元素或者servlet-name元素。

  filter-name元素的值必须与利用filter元素声明的某 一个过滤器名称相匹配。

  下面的例子中是两个过滤器元素和两个过滤器映射 元素。

<filter>
<filter-name>Logging Filter</filter-name>
<filter-class>com.example.LoggingFilter</filter-class>
</filter>
<filter>
<filter-name>Security Filter</filter-name>
<filter-class>com.example.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Logging Filter</filter-name>
<servlet-name>FirstServlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>Security Filter</filter-name>
<url-pattern>/ *</url-pattern>
</filter-mapping>

7. listener

  listener元素用来注册一个侦听器,其子元素 listener-class包含监听器类的全路径名。如下是一个示 例:

<listener>
<listener-class>com.example.AppListener</listener-class>
</listener>

8. locale-encoding-mapping-list和 locale-encoding-mapping

  locale-encoding-mapping-list元素包含了一个或多个 locale-encoding-mapping元素。每个locale-encodingmapping定义了locale以及编码的映射,分别用locale以 及encoding元素定义。locale元素的值必须是定义在ISO 639中的语言编码,如en,或者是采用“语言编码_国家 编码”格式,如en_US。其中,国家编码值必须定义在 ISO 3166中。

  如下是一个示例:

<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>ja</locale>
<encoding>Shift_JIS</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>

9. login-config

  login-config元素包括auth-method、realm-name以及 form-login-config元素,每个元素都是可选的。

  auth-method元素定义了认证方式,可选值为 BASIC、DIGEST、FORM、CLIENT-CERT

  realm-name元素定义了用于BASIC以及DIGEST认 证方式的realm名称。

  form-login-config则定义了用于FORM认证方式的 登录页面和失败页面。若没有采用FORM认证方式,则 该元素被忽略。

  orm-login-config元素包括form-login-page和formerror-page两个子元素。其中,form- login-page配置了显 示登录页面的资源路径,路径为应用目录的相对路径, 且必须以“/”开始;form-error-page则配置了登录失败时

显示错误页面的资源路径,同样,路径为应用目录的相 对路径,且必须以“/”开始。

  下面是一个示例

<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>Members Only</realm-name>
</login-config>

  另一个示例如下:

<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/loginForm.jsp</form-login-page>
<form-error-page>/errorPage.jsp</form-error-page>
</form-login-config>
</login-config>

10. mime-mapping

  mime-mapping元素用来映射一个MIME类型到一个 扩展名,它由一个extension元素和一个mime-type元素 组成。示例如下:

<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>

11. security-constraint

  security-constraint元素允许对一组资源进行限制访 问。

  security-constraint元素有如下子元素:一个可选的 display-name元素、一个或多个web- resource-collection 元素、可选的auth-constraint元素和一个可选的user-dataconstraint元素。

  web-resource-collection 元素标识了一组需要进行限 制访问的资源集合。这里,你可以定义URL模式和所限 制的HTTP方法。如果没有定义HTTP方法,则表示应用 于所有HTTP方法。

  auth-constraint元素指明哪些角色可以访问受限制的 资源集合。如果没有指定,则应用于所有角色。

  user-data-constraint元素用于指示在客户端和 Servlet/JSP容器传输的数据是否保护。

  web-resource-collection元素包含一个web-resourcename元素、一个可选的description元素、零个或多个 url-pattern元素,以及零个或多个http-method元素。

  web-resource-name元素指定受保护的资源名称。

  http-method元素指定HTTP方法,如GET、POST或 TRACE。

  auth-constraint元素包含一个可选的description元 素、零个或多个role-name元素。role-name元素指定角 色名称。

  user-data-constraint元素包含一个可选的description 元素和一个transport-guarantee元素。transport-guarantee 元素的取值范围有:NONE、INTEGRAL或 CONFIDENTIAL。NONE表示该应用程序不需要安全 传输保障。INTEGRAL意味着服务器和客户端之间的数 据在传输过程中不能被篡改。CONFIDENTIAL意味着 必须加密传输数据。大多数情况下,安全套接字层 (SSL)会被应用于INTEGRAL或CONFIDENTIAL。

  下面是一个例子:

<security-constraint>
<web-resource-collection>
<web-resource-name>Members Only</web-resource-name>
<url-pattern>/members/ *</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>payingMember</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>Digest</auth-method>
<realm-name>Digest Access Authentication</realm-name>
</login-config>

12. security-role

  security-role元素声明用于安全限制的安全角色。 这个元素有一个可选的description元素和role-name元素。下面是一个例子:

<security-role>
<role-name>payingMember</role-name>
</security-role>

13.  Servlet

  Servlet元素用来配置Servlet,包括如下子元素:

  • 一个可选的icon元素
  • 一个可选的description元素
  • 可选的display-name元素
  • 一个servlet-name元素
  • 一个servlet-class元素或一个jsp-file元素
  • 零个或更多的init-param元素
  • 一个可选的load-on-startup元素
  • 可选的run-as元素
  • 可选的enabled元素
  • 可选的async-supported元素
  • 可选的multipart-config元素
  • 零个或多个security-role-ref元素

  一个Servlet元素至少必须包含一个servlet-name元素 和一个servlet-class元素,或者一个servlet-name元素和 一个jsp-file元素。

  servlet-name元素定义的Servlet名称必须在应用程序 中是唯一的。

  servlet-class元素指定的类名为全路径名。

  jsp-file元素指定JSP页面的路径,该路径是应用程 序的相对路径,必须以“/”开始。

  init-param的子元素可以用来传递一个初始参数给 Servlet。init-param元素的构成同context-param。

  可以使用load-on-startup元素在Servlet/JSP容器启动 时自动加载Servlet。加载一个Servlet是指实例化Servlet 和调用它的init方法。使用此元素可以避免由于加载 Servlet而导致对第一个请求的响应延迟。如果该元素指 定了jsp-file元素,则JSP文件被预编译成Servlet,并加 载该Servlet。

  load-on-startup可以指定用一个整数值来指定加载 顺序。例如,如果有两个Servlet且都包含一个load-onstartup元素,则值小的Servlet优先加载。若没有指定值 或值为负数,则由Web容器决定如何加载。若两个 Servlet具有相同的load-on-startup值,则加载Servlet的顺 序不能确定。

  run-as用来覆盖调用EJB的安全标识。角色名是当 前Web应用程序定义的安全角色之一。

  security-role-ref元素映射在调用Servlet的 isUserInRole方法时角色名到应用程序定义的安全角 色。security-role-ref元素包含一个可选的description元 素、一个role-name元素和一个role-link元素。

  role-link元素用于安全角色映射到一个已定义的安 全角色,必须包含一个定义在security-role元素中的安 全角色。

  async-supported元素是一个可选的元素,其值可以 是True或False。它表示Servlet是否支持异步处理。

  enabled元素也是一个可选的元素,它的值可以是 True或False。设置此元素为False,则禁用这个Servlet。

  例如,映射安全角色“PM”与角色名 字“payingMember”的配置如下:

<security-role-ref>
<role-name>PM</role-name>
<role-link>payingMember</role-link>
</security-role-ref>

  这样,若属于payingMember角色的用户调用Servlet 的isUserInRole(“payingMember”)方法,则结果为 真。

  下面是Servlet元素的两个例子:

<servlet>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>com.brainysoftware.UploadServlet</servlet-cl
ass>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet>
<servlet-name>SecureServlet</servlet-name>
<servlet-class>com.brainysoftware.SecureServlet</servlet-cl
ass>
<load-on-startup>20</load-on-startup>
</servlet>

14. servlet-mapping

  servlet-mapping元素映射一个Servlet到一个URL模 式。该元素必须有一个servlet-name元素和url-pattern元 素。

  下面的servlet-mapping元素映射一个Servlet 到/first:

<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.brainysoftware.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>

15. session-config

  session-config元素定义了用于 javax.servlet.http.HttpSession实例的参数。此元素可包含 一个或更多的以下内容:session-timeout、cookie-config 或tracking-mode。

  session-timeout元素指定会话超时间隔(分钟)。 该值必须是整数。如果该值是零或负数,则会话将永不 超时。

  cookie-config元素定义了跟踪会话创建的cookie的 配置。

  tracking-mode元素定义了跟踪会话模式,其有效值 是COOKIE、URL或SSL。

  下面定义的session-config元素使得应用的 HttpSession对象在不活动12分钟后失效:

<session-config>
<session-timeout>12</session-timeout>
</session-config>

16. welcome-file-list

  welcome-file-list元素指定当用户在浏览器中输入的 URL不包含一个Servlet名称或JSP页面或静态资源时显 示的文件或Servlet。

  welcome-file-list元素包含一个或多个welcome-file 元素。welcome-file元素包含默认的文件名。如果在第 一个welcome-file元素中指定的文件没有找到,则在 Web容器将尝试显示第二个,直到最后一个。

  下面是一个welcome-file-list元素的例子:

<welcome-file-list>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

  下面的示例,第一个welcome-file元素指定了一个 在应用程序目录下的index.html;第二个welcome-file为 Servlet目录下的欢迎文件:  

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>servlet/welcome</welcome-file>
</welcome-file-list>

17.  JSP-Specific Elements

  元素下的jsp-config元素,可以指定JSP 配置。它可以具有零个或多个taglib元素和零个或多个 jsp-property-group元素。下面首先介绍taglib元素,然后 介绍jsp-property-group元素。

18. taglib

  taglib元素定义了JSP定制标签库。taglib元素包含 一个taglib-uri元素和taglib-location元素。taglib-uri元素 定义了Servlet/JSP应用程序所用的标签库的URI,其值 相当于部署描述符路径。

  taglib-location元素指定TLD文件的位置。

  下面是一个taglib元素的例子:

<jsp-config>
<taglib>
<!-- taglib-uri 指定了taglib元素的路径 -->
<taglib-uri>http://brainysoftware.com/taglib/complex</taglib-uri>
<!-- taglib-location元素指定TLD文件的位置  -->
<taglib-location>/WEB-INF/jsp/complex.tld</taglib-location>
</taglib>
</jsp-config>

19. jsp-property-group

  jsp-property-group中的元素可为一组JSP文件统一 配置属性。使用子元素可做到以下 几点:

  • 指示EL显示是否忽略;
  • 指示脚本元素是否允许;
  • 指明页面的编码信息;
  • 指示一个资源是JSP文件(XML编写);
  • 预包括和代码自动包含。 

jsp-property-group包含如下子元素:

  • 一个可选的description元素
  • 一个可选的display-name元素
  • 一个可选的icon元素
  • 一个或多个url-pattern元件
  • 一个可选的el-ignored元素
  • 一个可选的page-encoding元素
  • 一个可选的scripting-invalid元素
  • 一个可选的is-xml元素
  • 零个或多个include-prelude元素
  • 零个或多个include-code元素

  url-pattern元素用来指定可应用相应属性配置的 URL模式。

  el-ignored元素值为True或False。True值表示匹配 URL模式的jsp页面中,EL表达式无法被计算,该元素 的默认值是False。

  page-encoding元素指定JSP页面的编码。pageencoding的有效值同页面的pageEncoding有效值。若 page-encoding指定值与匹配URL模式的JSP页面中的 pageEncoding属性值不同,则会产生一个转换时间错 误。同样,若page-encoding指定值与XML文档申明的 编码不同,也会产生一个转换时间错误。

  scripting-invalid元素值为True或False。True值是指 匹配URL模式的JSP页面不支持<% scripting %>语法。 scripting-invalid元素的默认值是False。

  is-xml元素值为True或False,True表示匹配URL模 式的页面是JSP文件。

  include-prelude元素值为相对于Servlet/JSP应用的相对路径。若设定该元素,则匹配URL模式的JSP页面开头处会自动包含给定路径文件(同include指令)。

  include-coda元素值为相对于Servlet/JSP应用的相对 路径。若设定该元素,则匹配URL模式的JSP页面结尾 处会自动包含给定路径文件(同include指令)。

  下面的例子中,jsp-property-group配置所有的JSP 页面无法执行EL表达式:

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>true</el-ignored>
</jsp-property-group>
</jsp-config>

  下面的例子中,jsp-property-group配置所有的JSP 页面不支持<% scripting %>语法

<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
</jsp-config>

二. 部署

  从Servlet 1.0开始,可以很方便地部署一个 Servlet/JSP应用程序。仅需要将应用原始目录结构压缩 成一个WAR文件。可以在JDK中使用jar工具或流行的 工具,如WinZip。需要确保压缩文件有.war扩展名。如 果使用WinZip,则在压缩完成后重命名文件。

  WAR文件必须包含所有库文件、类文件、HTML 文件、JSP页面、图像文件以及版权声明(如果有的 话)等,但不包括Java源文件。任何人都可以获取一个 WAR文件的副本,并部署到一个Servlet/JSP容器上。

三. web fragment

  Servlet 3添加了web fragment特性,用来为已有的 Web应用部署插件或框架。web fragment被设计成部署 描述符的补充,而无须编辑web.xml文件。一个web fragment基本上包含了常用的Web对象,如Servlet、过 滤器和监听器,其他资源如JSP页面和静态图像的包文 件(JAR文件)。一个web fragment也可以有一个描述 符,类似的部署描述符的XML文档。web fragment描述 符必须命名为web-fragment.xml,并位于包的METAINF目录下。一个web fragment描述可能包含任意可出 现在部署描述符web-app元素下的所有元素,再加上一 些web fragment的特定元素。一个应用程序可以有多个 Web片段。

  清单显示了web fragment描述,以黑体形式突 出显示与部署描述符之间的不同内容。在web fragment 的根元素必须是web-fragment元素,其可以有metadatacomplete属性。如果metadata-complete属性的值为 True,则包含在web fragment中所有的类注释将被跳 过。

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
➥ http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
version="3.0"
[metadata-complete="true|false"]
>
...
</web-fragment>

  作为一个例子,在app13a应用程序中包含的 fragment.jar文件是一个web fragment。该JAR文件已经 导入到WEB-INF/lib目录下。本实例的重点不在于 app13a,而是web fragment项目。该项目包含一个 Servlet(FragmentServlet)和 webfragment.xml文。

FragmentServlet类

package fragment.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FragmentServlet extends HttpServlet {
private static final long serialVersionUID = 940L;
public void doGet(HttpServletRequest request, HttpServletRe
sponse
response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("A plug-in");
}
}

webfragment.xml文件

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
➥ http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
    version="3.0">
    <servlet>
        <servlet-name>FragmentServlet</servlet-name>
        <servlet-class>servlet.FragmentServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FragmentServlet</servlet-name>
        <url-pattern>/fragment</url-pattern>
    </servlet-mapping>
</web-fragment>

FragmentServlet是一个发送一个字符串到浏览器的 简单的Servlet。web-fragment.xml文件注册并映射该 Servlet。fragment.jar文件结构如图所示。

jsp 部署第1张

 调用如下URL测试该Servlet: 

http://localhost:8080/app13a/fragment

免责声明:文章转载自《jsp 部署》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTML5+CSS3深度神经网络识别图形图像的基本原理(转)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用c#捕获windows的关机事件

在公司上班,下班时需要签退,而我呢隔三差五就会忘那么一次。怎么办呢,于是就想能不能捕获windows的关机事件,做一个程序让它在关机的时候提醒我一下呢。   非常幸运很容易就找到了Microsoft.Win32命名空间下面的SystemEvents类,他有一个静态的事件SessionEnding在系统注销或者关机时发生,此事件只有在winform的程序下有...

Jboss 安全和优化

一.        Jboss后台启动:添加后台修改命令:vi run.shwhile true; do   if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then      # Execute the JVM in the foreground     nohup  "$JAVA" $JAVA_OPTS \ ...

Logical Databases逻辑数据库

主要组成部分... 300 结构(Structure)... 301 选择(Selections)... 302 数据库程序(Database program)... 305 LDB程序结构... 307 FORM PUT_XXX性能问题... 309 GET_EVENT内表... 309 报表程序的LDB事件... 310 GET事件... 310 中...

使用 AFNetworking 进行 XML 和 JSON 数据请求

(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLDictionary 进行数据转换 使用 XMLDictionary 的好处:有效避免自行实现 NSXMLParserDelegate 委托代理协议方法来进行繁...

简单MVC项目搭建--Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4

转载请注明出处:http://www.cnblogs.com/mybest/p/4265872.html 1、 环境配置 a) Java 1.7 b) Eclipse luna c) Maven3.2.5 d) Spring 4.1.4 2、 创建maven工程 a) 打开eclipse,file->new->project->Maven...

Django:使用模态框新增数据,成功后提示“提交成功”,并刷新表格bootstrap-table数据

废话不说先看图:    代码实现:   前台代码: {% load staticfiles %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>项目...