Jetty使用教程(一)开始使用Jetty
1.1 什么是Jetty
- 第一部分部分重点介绍如何使用Jetty,它提供如下信息,如什么是Jetty,从哪可以下载它,怎么在像Maven一样的仓库中找到它。这一部分同样会提供启动Jetty和如何配置Jetty的快速入门。
- 第二部分从更细致的方面介绍Jetty的配置,介绍怎么用Jetty来部署一个web应用程序,怎么配置容器和连接,以及如何实现SSL和其它安全措施。
- Jetty的管理员应该关注第三部分。从启动Jetty容器开始到session管理,日志记录,HTTP/2支持和Jetty优化,这一章节将帮助Jetty管理员获得更多关于Jetty服务以外的知识,这一章节同样包含容器最常用的特性配置如JNDI和JMX。
- 针对使用Jetty的高级用户,第四部分着重于Jetty的开发,本章节的重点是如何将Jetty嵌入一个已经存在的应用程序中。这部分包含几个简单的例子和操作Jetty框架的指南。这一部分同样包含如何使用Jetty的maven插件以及Jetty调试。
- 最后一个部分是引用部分,也包含Jetty的架构信息,Jetty的XML语法介绍,以及常见问题的解析,这章也介绍如何参与Jetty社区,如何贡献代码,以及如何寻求帮助。
1.2 如何选择Jetty的版本
版本 | Year | Home | JVM | 协议 | Servlet | JSP | 状态 |
---|---|---|---|---|---|---|---|
9.3 |
2015 |
Eclipse |
1.8 |
HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), WebSocket (RFC 6455, JSR 356), FastCGI |
3.1 |
2.3 |
稳定版本 |
9.2 |
2014 |
Eclipse |
1.7 |
HTTP/1.1 RFC2616, javax.websocket, SPDY v3 |
3.1 |
2.3 |
稳定版本 |
8 |
2009- |
Eclipse/Codehaus |
1.6 |
HTTP/1.1 RFC2616, WebSocket RFC 6455, SPDY v3 |
3.0 |
2.2 |
珍贵版本 |
7 |
2008- |
Eclipse/Codehaus |
1.5 |
HTTP/1.1 RFC2616, WebSocket RFC 6455, SPDY v3 |
2.5 |
2.1 |
珍贵版本 |
6 |
2006-2010 |
Codehaus |
1.4-1.5 |
HTTP/1.1 RFC2616 |
2.5 |
2.0 |
已经作废 |
5 |
2003-2009 |
Sourceforge |
1.2-1.5 |
HTTP/1.1 RFC2616 |
2.4 |
2.0 |
已经作废 |
4 |
2001-2006 |
Sourceforge |
1.2, J2ME |
HTTP/1.1 RFC2616 |
2.3 |
1.2 |
远古时期 |
3 |
1999-2002 |
Sourceforge |
1.2 |
HTTP/1.1 RFC2068 |
2.2 |
1.1 |
石器时代 |
2 |
1998-2000 |
Mortbay |
1.1 |
HTTP/1.0 RFC1945 |
2.1 |
1.0 |
传说级别 |
1 |
1995-1998 |
Mortbay |
1.0 |
HTTP/1.0 RFC1945 |
- |
- |
神话级别 |
1.3 Jetty 和Java EE Web规范
1.3.1 Java EE 7 Web规范
JSR | 名称 | jetty-9.1.x是否包含 | 支持插件 |
---|---|---|---|
JSR 340 |
Servlet Specification API 3.1 |
Yes |
|
JSR 344 |
Java Server Faces 2.2 (JSF) |
No |
Yes, Mojarra or MyFaces |
JSR 245 / JSR 341 |
Java Server Pages 2.3/Java Expression Language 3.0 (JSP/EL) |
Yes |
Yes |
JSR 52 |
Java Standard Tag Library 1.2 (JSTL) |
Yes |
Yes |
JSR 45 |
Debugging Support for Other Languages 1.0 |
Yes (via JSP) |
Yes (via JSP) |
JSR 346 |
Contexts and Dependency Injection for the JavaEE Platform 1.1 (Web Beans) |
No |
Yes, Weld |
JSR 330 |
Dependency Injection for Java 1.0 |
No |
Yes as part of a CDI implementation, Weld |
JSR 316 |
Managed Beans 1.0 |
No |
Yes, as part of another technology |
JSR 345 |
Enterprise JavaBeans 3.2 Lite |
No |
|
JSR 338 |
Java Persistance 2.1 (JPA) |
No |
Yes, eg Hibernate |
JSR 250 |
Common Annotations for the Java Platform 1.2 |
Yes |
Partially (for non-core Servlet Spec annotations) |
JSR 907 |
Java Transaction API 1.2 (JTA) |
Yes |
Yes |
JSR 349 |
Bean Validation 1.1 |
No |
Yes as part of another technology eg JSF, or a stand-alone implementation such as Hiberate Validator |
JSR 339 |
Java API for RESTful Web Services 2.0 (JAX-RS) |
No |
|
JSR 356 |
Java API for Websocket 1.0 |
Yes |
No |
JSR 353 |
Java API for JSON Processing 1.0 (JSON-P) |
No |
Yes, eg JSON-P reference implementation |
JSR 318 |
Interceptors 1.2 |
No |
Yes as part of a CDI implementation |
1.3.2 Jetty EE 6 Web Profile
表格 1.3. Java EE 6 Web Profile
JSR | Name | Included with jetty-9.0.x | Pluggable |
---|---|---|---|
JSR 315 |
Servlet Specification API 3.0 |
Yes |
|
JSR 314 |
JavaServer Faces 2.0 (JSF) |
No |
Yes, for example, Mojarra or MyFaces |
JSR 245 |
JavaServer Pages 2.2/Java Expression Language 2.2 (JSP/EL) |
Yes |
Yes |
JSR 52 |
Java Standard Tag Library 1.2 (JSTL) |
Yes |
Yes |
JSR 45 |
Debugging Support for Other Languages 1.0 |
Yes (via JSP) |
Yes (via JSP) |
JSR 299 |
Contexts and Dependency Injection for the Java EE Platform 1.0 (Web Beans) |
No |
Yes, Weld or OpenWebBeans |
JSR 330 |
Dependency Injection for Java 1.0 |
No |
Yes as part of a CDI implementation, Weld |
JSR 316 |
Managed Beans 1.0 |
No |
Yes, as part of another technology. |
JSR 318 |
Enterprise JavaBeans 3.1 |
No |
Yes, OpenEJB |
JSR 317 |
Java Persistance 2.0 (JPA) |
No |
Yes, Hibernate |
JSR 250 |
Common Annotations for the Java Platform |
Yes |
Partially (for non-core Servlet Spec annotations) |
JSR 907 |
Java Transaction API (JTA) |
Yes |
Implementations are pluggable, such as Atomikos, JOTM, Jencks (Geronimo Transaction Manager) |
JSR 303 |
Bean Validation 1.0 |
No |
Yes as part of another technology (JSF), or a stand-alone implementation such as Hiberate Validator |
1.4 在Maven中获取Jetty
1.4.1 Maven坐标
<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-project</artifactId><version>${project.version}</version> </dependency>
1.4.2 在Maven中心的更新日志
<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-project</artifactId><version>${project.version}</version><classifier>version</classifier><type>txt</type> </dependency>
二、Jetty的使用
2.1 下载Jetty
2.1.1 下载Jetty项目
2.1.2 Jetty工程简介
表格 2.1. Contents
Location | Description |
---|---|
license-eplv10-aslv20.html |
Jetty的许可文件 |
README.txt |
有用的开始信息 |
VERSION.txt |
版本信息 |
bin/ |
存放在Unix系统下运行的shell脚本 |
demo-base/ |
一个可运行包含示例web应用的Jetty服务器基目录 |
etc/ |
Jetty的配置文件 |
lib/ |
Jetty运行所必须的jar文件 |
logs/ |
日志 |
modules/ |
各个模块 |
notice.html |
许可信息等 |
resources/ |
包含新增到classpath配置文件夹,如log4j.properties |
start.ini |
存放启动信息 |
start.jar |
运行Jetty的jar |
webapps/ |
一个用来存放运行在默认配置下的Jetty Web应用目录 |
2.2 运行Jetty
cd $JETTY_HOME
java -jar start.jar
若执行成功会输出以下信息
2015-06-04 10:50:44.806:INFO::main: Logging initialized @334ms 2015-06-04 10:50:44.858:WARN:oejs.HomeBaseWarning:main: This instance of Jetty is not running from a separate {jetty.base} directory, this is not recommended. See documentation at http://www.eclipse.org/jetty/documentation/current/startup.html 2015-06-04 10:50:44.995:INFO:oejs.Server:main: jetty-9.3.0.v20150601 2015-06-04 10:50:45.012:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/jetty-distribution-9.3.0.v20150601/webapps/] at interval 1 2015-06-04 10:50:45.030:INFO:oejs.ServerConnector:main: Started ServerConnector@19dfb72a{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 2015-06-04 10:50:45.030:INFO:oejs.Server:main: Started @558ms
你可以通过浏览器访问http://localhost:8080.。然而在
2.2.1 基础应用例子
> cd $JETTY_HOME/demo-base/ > java -jar $JETTY_HOME/start.jar
成功运行将有如下信息输出:
2015-06-04 10:55:24.161:INFO::main: Logging initialized @308ms 2015-06-04 10:55:24.431:WARN::main: demo test-realm is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:24.434:INFO:oejs.Server:main: jetty-9.3.0.v20150601 2015-06-04 10:55:24.457:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///opt/jetty-distribution-9.3.0.v20150601/demo-base/webapps/] at interval 1 2015-06-04 10:55:24.826:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@c038203{/,file:///opt/jetty-distribution-9.3.0.v20150601/demo-base/webapps/ROOT/,AVAILABLE}{/ROOT} 2015-06-04 10:55:24.929:WARN::main: test-jaas webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:24.978:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@46238e3f{/test-jaas,file:///tmp/jetty-0.0.0.0-8080-test-jaas.war-_test-jaas-any-9105214562680121772.dir/webapp/,AVAILABLE}{/test-jaas.war} 2015-06-04 10:55:25.162:WARN::main: async-rest webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:25.208:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@6b67034{/async-rest,[file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-1023939491558622183.dir/webapp/, jar:file:///tmp/jetty-0.0.0.0-8080-async-rest.war-_async-rest-any-1023939491558622183.dir/webapp/WEB-INF/lib/example-async-rest-jar-9.3.0.v20150601.jar!/META-INF/resources],AVAILABLE}{/async-rest.war} 2015-06-04 10:55:25.311:WARN::main: test-jndi webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:25.386:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@8b96fde{/test-jndi,file:///tmp/jetty-0.0.0.0-8080-test-jndi.war-_test-jndi-any-1692053319754270133.dir/webapp/,AVAILABLE}{/test-jndi.war} 2015-06-04 10:55:25.508:WARN::main: test-spec webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:25.594:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@69930714{/test-spec,[file:///tmp/jetty-0.0.0.0-8080-test-spec.war-_test-spec-any-5518740932795802823.dir/webapp/, jar:file:///tmp/jetty-0.0.0.0-8080-test-spec.war-_test-spec-any-5518740932795802823.dir/webapp/WEB-INF/lib/test-web-fragment-9.3.0.v20150601.jar!/META-INF/resources],AVAILABLE}{/test-spec.war} 2015-06-04 10:55:25.781:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@3eb7fc54{/proxy,file:///tmp/jetty-0.0.0.0-8080-xref-proxy.war-_xref-proxy-any-3068657547009829038.dir/webapp/,AVAILABLE}{/xref-proxy.war} 2015-06-04 10:55:25.786:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.MovedContextHandler@59662a0b{/oldContextPath,null,AVAILABLE} 2015-06-04 10:55:25.951:WARN::main: test webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 10:55:26.248:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@4f83df68{/test,file:///tmp/jetty-0.0.0.0-8080-test.war-_test-any-5238659347611323540.dir/webapp/,AVAILABLE}{/test.war} 2015-06-04 10:55:26.255:INFO:oejs.ServerConnector:main: Started ServerConnector@5a9c4ad9{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 2015-06-04 10:55:26.259:INFO:oejus.SslContextFactory:main: x509={jetty.eclipse.org=jetty} wild={} alias=null for SslContextFactory@23941fb4(file:///opt/jetty-distribution-9.3.0.v20150601/demo-base/etc/keystore,file:///opt/jetty-distribution-9.3.0.v20150601/demo-base/etc/keystore) 2015-06-04 10:55:26.269:INFO:oejs.ServerConnector:main: Started ServerConnector@5d908d47{SSL,[ssl, http/1.1]}{0.0.0.0:8443} 2015-06-04 10:55:26.270:INFO:oejs.Server:main: Started @2417ms
现在可以通过浏览器访问 http://localhost:8080, 此时可以看到一个Jetty的欢迎页面,页面上包含几个简单的例子,欢迎页面如下
警告
示例的web应用程序不一定是绝对安全的,所以不应该部署在生产环境上。
你可以通过以下命令查看示例应用的配置信息
> cd $JETTY_HOME/demo-base/ > java -jar $JETTY_HOME/start.jar --list-modules ...> java -jar %JETTY_HOME/start.jar --list-config ...
–list-modules:此命令将返回当前服务所有可用的模块,同时也会显示本地的模块,信息包括模块实现的顺序,依赖模块以及相应的jar信息
2.2.2 创建一个新的Jetty基目录
> JETTY_BASE=/tmp/mybase > mkdir $JETTY_BASE > cd $JETTY_BASE > java -jar $JETTY_HOME/start.jarWARNING: Nothing to start, exiting ...Usage: java -jar start.jar [options] [properties] [configs] java -jar start.jar --help # for more information> java -jar $JETTY_HOME/start.jar --add-to-startd=http,deployINFO: server initialised (transitively) in ${jetty.base}/start.d/server.ini INFO: http initialised in ${jetty.base}/start.d/http.ini INFO: security initialised (transitively) in ${jetty.base}/start.d/security.ini INFO: servlet initialised (transitively) in ${jetty.base}/start.d/servlet.ini INFO: webapp initialised (transitively) in ${jetty.base}/start.d/webapp.ini INFO: deploy initialised in ${jetty.base}/start.d/deploy.ini MKDIR: ${jetty.base}/webapps INFO: Base directory was modified> cp $JETTY_HOME/demo-base/webapps/async-rest.war webapps/ROOT.war > java -jar $JETTY_HOME/start.jar2015-06-04 11:10:16.286:INFO::main: Logging initialized @274ms 2015-06-04 11:10:16.440:INFO:oejs.Server:main: jetty-9.3.0.v20150601 2015-06-04 11:10:16.460:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:///tmp/mybase/webapps/] at interval 1 2015-06-04 11:10:16.581:WARN::main: async-rest webapp is deployed. DO NOT USE IN PRODUCTION! 2015-06-04 11:10:16.589:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet 2015-06-04 11:10:16.628:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@1a407d53{/,[file:///tmp/jetty-0.0.0.0-8080-ROOT.war-_-any-4510228025526425427.dir/webapp/, jar:file:///tmp/jetty-0.0.0.0-8080-ROOT.war-_-any-4510228025526425427.dir/webapp/WEB-INF/lib/example-async-rest-jar-9.3.0.v20150601.jar!/META-INF/resources],AVAILABLE}{/ROOT.war} 2015-06-04 11:10:16.645:INFO:oejs.ServerConnector:main: Started ServerConnector@3abbfa04{HTTP/1.1,[http/1.1]}{0.0.0.0:8080} 2015-06-04 11:10:16.646:INFO:oejs.Server:main: Started @634ms
以上命令是Linux下的命令,简单解释:创建一个JETTY_BASE环境变量,并创建指定的文件夹,在此文件夹下运行start.jar时提示没有可以启动的东西,系统退出,此时输入java -jar
2.2.3 改变Jetty的端口
> cd $JETTY_BASE > java -jar $JETTY_HOME/start.jar jetty.http.port=8081 ...
另外,可以将要设置的端口属性添加到start.ini或者start.d/http.ini文件中。默认情况,在start.d/http.ini文件中定义的jetty.http.port属性可以被修改成另一个值。
提示
配置属性信息通过如下方式获得
- 首先去start.d/http.ini文件中找jetty.http.port=8080配置信息,若找到配置端口即为指定端口
- 根据模块modules/http.mod文件找到指定配置默认为etc/jetty-http.xml,在此配置文件中有jetty.http.port配置信息,若找到即为此端口配置
- 若上面两个都没有,则随机一个没有使用的端口
2.2.4 为HTTPS & HTTP2增加SSL
> java -jar $JETTY_HOME/start.jar --add-to-startd=https,http2 [...]> java -jar $JETTY_HOME/start.jar [...]2015-06-04 13:52:01.933:INFO:oejs.ServerConnector:main: Started ServerConnector@6f1fba17{SSL,[ssl, alpn, h2, http/1.1]}{0.0.0.0:8443} [...]
–add-to-startd:此命令在ini文件中设置有效的配置信息,使HTTPS和HTTP2支持SSL连接
2.2.5 修改Jetty的HTTPS端口
> cd $JETTY_BASE
> java -jar $JETTY_HOME/start.jar jetty.ssl.port=8444
除了在命令行增加参数的方法外,还可以在start.ini和start.d/*.ini文件中进行配置,所以如果用户使用–add-to-startd命令来使HTTPS生效,同样也可以在start.d/https.ini文件中进行修改。
2.2.6 更多的start.jar操作选项
> java -jar $JETTY_HOME/start.jar --help
2.3 部署Web应用
- 例如一个包含 WEB-INF/ 子文件夹的example/文件夹做为一个标准的web应用进行部署,否则就按静态资源部署,context路径为/example(访问路径: http://localhost:8080/example/);若文件夹名字为ROOT,则访问路径为/;若文件夹名字末尾为.d则此文件夹被忽略(除非被特殊的配置文件引用)
- 若一个文件example.war被部署在webapps下,则context路径为example/,如果名字为ROOT则访问路径为/,如果example.war文件和example/文件夹同时存在,只有war文件会被部署(这个文件会被当做一个没有被解压的目录来使用)
- 一个像example.xml的配置文件,若文件中是标准的配置信息,也会被部署,文件中必须包含context path,如果context path和example.xml同时存在,只有example.xml会被部署。
2.3.1 Jetty示例Web Application
三、Jetty配置信息介绍
3.1如何配置jetty
3.1.1 Jetty POJO 配置
- 编写Java代码来直接实例化并配置Jetty对象,这称为嵌入式Jetty。
- 使用Jetty的xml配置文件,这是一个控制反转框架模式,从xml文件中实例化Jetty对象。 etc/jetty.xml配置文件是Jetty的主要配置文件,但是也有很多etc/jetty-__feature__.xml类型的文件被Jetty使用
- 使用第三方IOC框架,如Spring来实例化Jetty对象做为一个Spring Beans
3.1.2 Jetty启动配置文件
- 激活的模块 –module=name
- 通过name=value的来为Jetty的IOC配置属性
- XML files in Jetty IoC (or Spring) XML format
- 一个标准的Java属性文件包含额外的启动属性
- 其他start.jar选项(see java -jar start.jar –help)
- 一些JVM参数组合通过–exec,例如-Xbootclasspath.
提示
在Jetty9,只有Jetty基路径下的配置文件被编辑,属性才会被修改
- 模块依赖如何排序以及激活
- 被模块需要并且要就在到classpath的jar包
- 被模块需要并且内容会被执行的xml文件
- 被激活模块需要的文件
- 一个示例的ini文件,当被-add-to-start=name选项激活时使用
Note
常见典型的模块配置信息通长很少被改动,*.mod文件通常位于
JETTYHOME/modules/文件夹下,但是额外增加的或者编辑过的通常放在 JETTY_BASE/module下,如果一个模块需要被修改,最好的做法是在修改前从JETTYHOME/modules/拷贝∗.mod到 JETTY_BASE/modules/
XML files:
xml文件一般用与IoC以及spring使用,用在命令行或者模块定义中。xml文件里面的配置将被注入到描述服务的一个对象里。通常改变属性的方法是改变对应的ini文件。xml文件通常放在3.1.3 其它配置文件
- 设置一个web项目的默认的根路径
- 通过WEB-INF/web.xml进行特殊的配置
- Interpret descriptor fragments included in the META-INF directory of Jar files within WEB-INF/lib.
Note
通常web应用的web.xml文件应该在WEB-INF/web.xml位置被发现,Jetty还支持多个web.xml,可以在 WEB-INF/web.xml文件加载前或者加载后加载(使用方法见test.xml)
- 可以为Jetty IoC增加参数
- 配置默认日志信息(StdErrLog),其他日志框架也可以通过配置被使用(例如,log4j)
- 数据库的登录配置信息等
3.1.4 Jetty IoC XML使用
// // ======================================================================== // Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // and Apache License v2.0 which accompanies this distribution. // // The Eclipse Public License is available at // http://www.eclipse.org/legal/epl-v10.html // // The Apache License v2.0 is available at // http://www.opensource.org/licenses/apache2.0.php // // You may elect to redistribute this code under either of these licenses. // ======================================================================== // package org.eclipse.jetty.embedded; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.handler.DefaultHandler; import org.eclipse.jetty.server.handler.HandlerCollection; import org.eclipse.jetty.servlet.ServletContextHandler; public class ExampleServer {public static void main( String[] args ) throws Exception{Server server = new Server();ServerConnector connector = new ServerConnector(server);connector.setPort(8080);server.setConnectors(new Connector[] { connector });ServletContextHandler context = new ServletContextHandler();context.setContextPath("/");context.addServlet(HelloServlet.class, "/hello");context.addServlet(AsyncEchoServlet.class, "/echo/*");HandlerCollection handlers = new HandlerCollection();handlers.setHandlers(new Handler[] { context, new DefaultHandler() });server.setHandler(handlers);server.start();server.join();} }
- 注意Jetty的最低使用的jdk版本,最新版本使用jdk1.8
- HelloServlet是一个继承了HttpServlet的servlet
- 运行成功后程序会被挂起,等待用户连接,在浏览器中输入http://localhost:8080/hello即可访问
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="ExampleServer" class="org.eclipse.jetty.server.Server"><Set name="connectors"><Array type="org.eclipse.jetty.server.Connector"><Item><New class="org.eclipse.jetty.server.ServerConnector"><Arg><Ref refid="ExampleServer"/></Arg><Set name="port">8080</Set></New></Item></Array></Set><New id="context" class="org.eclipse.jetty.servlet.ServletContextHandler"><Set name="contextPath">/hello</Set><Call name="addServlet"><Arg>org.eclipse.jetty.embedded.HelloServlet</Arg><Arg>/</Arg></Call></New><Set name="handler"><New class="org.eclipse.jetty.server.handler.HandlerCollection"><Set name="handlers"><Array type="org.eclipse.jetty.server.Handler"><Item><Ref refid="context" /></Item><Item><New class="org.eclipse.jetty.server.handler.DefaultHandler" /></Item></Array></Set></New></Set> </Configure>
3.2 可以在Jetty中配置什么
3.2.1 配置服务
3.2.2配置连接
Note
虚拟主机不能配置连接,用户应该通过虚拟主机的context来实现它们的相应。
Note
Jetty9同时支持连接协议(HTTP,HTTPS,AJP,SPDY)和自然连接(NIO或者BIO),Jetty9以后只有一个主要的连接器ServerConnector
3.2.3配置上下文环境
Note
servlet规范定一个web应用。在Jetty规范中一个标准的web项目必须有一个标准的WEB-INF/web.xml文件,用来配置classpath,资源,session处理,登录,以及servlet,jsp,以及静态资源。标准的web应用需要很少的额外的配置文件。
3.2.3.1 通过API配置上下文
// // ======================================================================== // Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // and Apache License v2.0 which accompanies this distribution. // // The Eclipse Public License is available at // http://www.eclipse.org/legal/epl-v10.html // // The Apache License v2.0 is available at // http://www.opensource.org/licenses/apache2.0.php // // You may elect to redistribute this code under either of these licenses. // ======================================================================== // package org.eclipse.jetty.embedded; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.ContextHandler; public class OneContext {public static void main( String[] args ) throws Exception{Server server = new Server( 8080 );// Add a single handler on context "/hello"ContextHandler context = new ContextHandler();context.setContextPath( "/hello" );context.setHandler( new HelloHandler() );// Can be accessed using http://localhost:8080/hello server.setHandler( context );// Start the server server.start();server.join();} }
3.2.3.2 通过Ioc XML配置上下文
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Configure PUBLIC"-//Mort Bay Consulting//DTD Configure//EN""http://www.eclipse.org/jetty/configure_9_0.dtd"> <!--Configure a custom context for serving javadoc as static resources --> <Configure class="org.eclipse.jetty.server.handler.ContextHandler"><Set name="contextPath">/javadoc</Set><Set name="resourceBase"><SystemProperty name="jetty.home" default="."/>/javadoc/</Set><Set name="handler"><New class="org.eclipse.jetty.server.handler.ResourceHandler"><Set name="welcomeFiles"><Array type="String"><Item>index.html</Item></Array></Set><Set name="cacheControl">max-age=3600,public</Set></New></Set> </Configure>
3.2.4 配置web应用
- 初始化classpath,在WEB-INF/lib和WEB-INF/classes下。
- 根据标准的WEB-INF/web.xml进行解析初始化参数,过滤器,监听器,欢迎页面等信息。
- WEB-INF/jetty-web.xml文件可能包含Jetty IoC的配置。
3.2.4.1 配置contextpath
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Configure PUBLIC"-//Mort Bay Consulting//DTD Configure//EN""http://www.eclipse.org/jetty/configure_9_0.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"><Set name="contextPath">/contextpath</Set> </Configure>
还有一种做法是,不用增加配置文件,在war文件同目录,建一个同名的xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Configure PUBLIC"-//Mort Bay Consulting//DTD Configure//EN""http://www.eclipse.org/jetty/configure_9_0.dtd"> <Configure class="org.eclipse.jetty.webapp.WebAppContext"><Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set><Set name="contextPath">/test</Set> </Configure>
配置例子可以参照$JETTY_HOME/webapps/test.xml
3.2.4.2 Web应用部署
- 一个标准的war文件(必须以war结尾)
- 一个标准的web应用(必须有{dir}/WEB-INF/web.xml 文件)
- 一个包含静态资源的文件夹
- 一个Jetty描述XML,引用一个web应用
- 隐藏文件将被忽略(以.开头的文件)
- 以.d开头的文件夹将被忽略
- 如果一个文件夹和war名字一样,则只有war会部署
- 如果一个文件夹和同名xml配置,则xml配置的会被部署
- 如果一个war文件和xml文件同名,则xml配置的会被部署
3.2.4.3 设置身份验证区域
... <login-config><auth-method>BASIC</auth-method><realm-name>Test Realm</realm-name> </login-config> ...
这个例子使用名为Test Realm.的验证,但是没有说明其是怎么实现的,在Jetty中有几种实现方式,其中一种是HashLoginService可以读取登录用户,并在配置文件中查找,为了配置HashLoginService用来匹配Test Realm,可以配置$JETTY_BASE/etc/test-realm.xml文件,并且该文件必须在start.ini或者start.d/server.ini中设置。
<?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"><!-- =========================================================== --><!-- Configure Authentication Login Service --><!-- Realms may be configured for the entire server here, or --><!-- they can be configured for a specific web app in a context --><!-- configuration (see $(jetty.home)/webapps/test.xml for an --><!-- example). --><!-- =========================================================== --><Call name="addBean"><Arg><New class="org.eclipse.jetty.security.HashLoginService"><Set name="name">Test Realm</Set><Set name="config"><Property name="jetty.demo.realm" default="etc/realm.properties"/></Set><Set name="refreshInterval">0</Set></New></Arg></Call><Get class="org.eclipse.jetty.util.log.Log" name="rootLogger"><Call name="warn"><Arg>demo test-realm is deployed. DO NOT USE IN PRODUCTION!</Arg></Call></Get> </Configure>
通过创建和配置LoginService到web应用中,当部署应用时,会通过名字去寻找匹配的登录Service。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【HTML 5】HTML5 Canvas rect(), strokeRect() 和 fillRect() 的区别
他们都接受相同的参数,见页面表格。唯一不同的实现方式与效果方面有差异。 其中fillRect()与strokeRect() 在调用后会立即在画布上画面效果,而rect()不会立即将图形画出,只有在调用了stroke()方法之后,才会实际作用于画布。 fillRect() 从字面上很好理解fillRect()与其他两…...
2024/4/27 22:43:23 - ANN(人工神经网络)基础知识
ANN是一个非线性大规模并行处理系统1.1人工神经元的一般模型神经元的具有的三个基本要素1、一组连接,连接的强度由个连接上的权值表示,若为正,则表示是激活,为负,表示,抑制 2、一个求和单元:用于求各个输入信号的加权和 3、一个非线性激活函数:起到非线性映射的作用,…...
2024/4/28 4:36:55 - 自动化运维-001 自动化运维介绍
自动化运维介绍随着信息时代的持续发展,IT运维已经成为IT服务内涵中重要的组成部分。面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷、安全稳定地持续保障,这种模式中的保障因素就是IT运维(其他因素是更加…...
2024/4/18 8:22:48 - 美化注册页面.html
美化注册页面会员注册 USER REGISTER</td></tr><tr><td>用户名</td><td colspan="2"><input type="text" placeholder="请输入用户名"></td></tr><tr><td>密码</td>…...
2024/4/17 22:10:42 - 集线器、交换机、网桥区别
网络基础知识1:集线器,网桥,交换机 2009-01-18 21:45 by hyddd, 5164 阅读, 7 评论, 收藏, 编辑最近一直在看网络方面的东东,先把基础的东西总结一下,注意:以下的概念现在已经不一定准确了,因为硬件发展相当迅速,集成电路的集成度越来越多高,拿交换机为例,现在俗称交…...
2024/4/28 0:51:53 - 素材网站整合
编号网站地址名称1http://669pic.com/tupian/wansuwang.html万素网2https://ibaotu.com/包图网3https://tool.lu/在线工具4http://www.sucaibar.com/yinxiao/素材吧5http://www.sccnn.com/gaojingtuku/素材中国6https://www.pexels.com/Pexels7https://www.ssyer.com/home别样网…...
2024/4/17 22:18:30 - 网页经典代码和CSS样式大全
网页经典代码 转自: http://xiaozmn.iteye.com/blog/427024 1.将彻底屏蔽鼠标右键,无右键菜单 <body οncοntextmenu="window.event.returnvalue=false"> 也可以用于网页中Table框架中 <table border οncοntextmenu=return(false)><td>no…...
2024/4/26 15:40:16 - php 内置的 html 格式化/美化tidy函数 -- 让你的HTML更美观
php 内置的 html 格式化/美化tidy函数https://github.com/htacg/tidy-html5# HTML 格式化 function beautify_html($html){$tidy_config = array(clean => false,indent => true,indent-spaces => 4,output-xhtml => false,show-body-only => false,wrap => …...
2024/4/9 8:44:21 - 20170313自动化运维工具
altstact 自动化工具 timeout...
2024/4/12 18:33:32 - 2019.1.14 作业
作业链接:https://pan.baidu.com/s/1N7DbpzYy4TKESX7bNTW2vg 提取码:9odq 一、笔记 对象是用来描述客观事物的一个实体,每个对象之间都有自己的特点和要做的事。 类是几个对象之间具有共同特征的集合,他们还会有一些共同的行为。 也就是类具有相同属性和方法的一组对象的…...
2024/4/12 18:33:42 - Python web模版Django-22 Bootstrap美化HTML之用BootCDN
到目前为止,已经学习完了一些常用的HTML知识,另外前面也学着写过几个简单的HTML页面,比如event_manage.html, index.html, table_edit.html。但样子长的比较丑,目前也不会写专业的CSS来美化。 Bootstrap给了我这种小白一个新路径,无需亲自写复杂的CSS,也能实现网页的…...
2024/4/28 6:53:20 - 云平台基础知识
常用的云平台:云平台发展至今主流的平台已成N足鼎立之势,国外云有AWS、Google云、微软云,国内云有阿里云、腾讯云、AWS中国,私有云有OpenStack。AWS这里单独拿出来强调下,国际版与国内版需要区别对待,因为两者的域名不一样,而且国内版比国际版缺少很多功能,所以很多AWS…...
2024/4/16 6:40:25 - Python自动化运维脚本实例
一、用python写一个列举当前目录以及所有子目录下的文件,并打印出绝对路径#!/usr/bin/env pythonimport osfor root,dirs,files in os.walk(/tmp):for name in files:print (os.path.join(root,name))os.walk()原型为:os.walk(top, topdown=True, οnerrοr=None, followlink…...
2024/4/9 8:44:15 - 【经验小谈】BUG整理
Andriod学习不深奥,经验全从实践来 大家好,今日经验分享之~ bug小理关于自定义View今天进行了详细的探索,这里总结如图1、自定义view中 declare-styleable 引入了两个lib 工程但是爆出 D:\WorkSpace\FirstWork\slide_library\res\values\vpi__attrs.xml:53: error: Attribu…...
2024/4/12 18:34:23 - HTML 5 标签
HTML 5 <video> 标签定义和用法<video> 标签定义视频,比如电影片段或其他视频流。属性属性值描述autoplayautoplay如果出现该属性,则视频在就绪后马上播放。controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。heightpixels设置视频播放器的高度。…...
2024/4/12 18:34:43 - 运维自动化方案
运维自动化简写 自动化运维主要包括以下几个方面: 系统安装 系统优化 系统监控 日志监控和收集 应用自动化部署 代码自动化部署 自动化测试 自动化更新 自动化扩容配置文件管理系统自动化安装和优化系统的自动化安装和优化,可以使用到自动化工具cobbler结合kickstart完成。优…...
2024/4/16 15:40:07 - 文件拖动Drag amp; Drop 全解析
一、基本概念 拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式…...
2024/4/12 18:34:28 - MongoAPI实例详解
说明: IN表示输入参数;OUT表示输出参数;1.构造函数DBClientConnection(bool auto_connect, 0, double so_timeout); auto_connect(IN):连接失败后自动重连so_timeout(IN):非连接超时,tcp的读写超时2.连接函数bool connect(string server, &string errmsg); 返回值:成功…...
2024/4/20 2:15:18 - html radio样式美化
radio用自定义切图来美化样式,demo是选择支付方式,如果是文字的话把img标签换成span即可。html代码:同一类的,name要统一,设置成一样。css代码:.order-payicon{width: 760px;height: 62px; } input[type="radio"] {display: none;visibility: hidden;width: 0p…...
2024/4/12 18:34:18 - 服务器硬件基础知识
服务器的概述 计算机的硬件主要有主机和输入/输出设备。主机包括机箱,电源,主板,CPU(中央处理器),内存,显卡,声卡,网卡,硬盘,光驱等。输入/输出包括显示器,键盘,鼠标,音箱,摄像头,打印机和扫描仪等。服务器 服务器是指在网络环境下运行相应的应用软件,为网上用户…...
2024/4/5 1:04:19
最新文章
- js动态设置css主题(Style-setProperty)
hex颜色转RGB hex2Rgb(str) {str str.replace("#", "");const hxs str.match(/../g);for (let index 0; index < 3; index) hxs[index] parseInt(hxs[index], 16);return hxs; } RGB转HXS rgb2hex(r,g,b){const hexs [r.toString(16), g.toString…...
2024/4/28 7:14:16 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 游戏引擎架构01__引擎架构图
根据游戏引擎架构预设的引擎架构来构建运行时引擎架构 ...
2024/4/23 6:16:08 - Docker Desktop+WSL2安装到自定义路径
现在大多数软件实在太“流氓”了,在安装过程中,根本不让你选择安装路径,默认安装到$HOME下(windows C盘),随着软件的使用增多,可能磁盘空间不够,这个时候就想着,看看某些…...
2024/4/27 13:24:41 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57