Jetty

Jetty和Tomcat都是一种webserver/servlet容器。

1.jetty更轻量级,更灵活。

2.Jetty更适用于公有云的分布式环境的需求,Tomcat更符合企业级环境。



java  -jar  start.jar    启动jetty  server。


配置文件

/etc/jetty-webapps.xml   jetty默认将所有的web  app都放在/webapps目录下。

在start.jar中有个start.config是默认的环境配置,可以手工替换。

指定start.config启动:

java  -DSTART=start.config  -jar  start.jar


部署web应用程序

Webapps目录部署,WebAppProvider定时扫描/webapps目录自动部署。如果与contexts目录下同名则webapp让步于contexts部署方式。

contexts目录部署,ContextProvider定时扫描/contexts目录中的配置文件,自动配置。

contexts目录和webapps目录两种部署方式要避免重复。


1.对于war包的部署,将war文件放到/webapps目录下。

2.对于web应用程序目录的部署,将web应用程序目录复制到/webapps/<myapp>目录下,修改/contexts/<myapp>.xml文件:

<?xml version="1.0"  encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/myapp</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/myapp</Set>
</Configure>


启动

1.servlet启动



2.webapp启动



3.运行war文件

public static void main(String[] args) throws Exception {
		   
		    Server  server=new Server();
			QueuedThreadPool  tp=new QueuedThreadPool();
			tp.setMaxThreads(200);
			server.setThreadPool(tp);
			
			SocketConnector connector=new SocketConnector();
			connector.setMaxIdleTime(1000 * 60 * 60);  
			connector.setSoLingerTime(-1); 
			connector.setPort(8089);
			server.addConnector(connector);
	         
	        WebAppContext context = new WebAppContext();
	        context.setContextPath("/");
	        context.setWar("F:\\jetty-7.6.17\\webapps\\test.war");
	        context.setServer(server);
	        
	        HashLoginService dummyLoginService = new HashLoginService("TEST-SECURITY-REALM");  
	        context.getSecurityHandler().setLoginService(dummyLoginService);  
	        server.setHandler(context);
	        server.start();
	        server.join();
	    }


4.运行webapp目录

public static void main(String[] args) throws Exception {
		    
		    Server  server=new Server();
			QueuedThreadPool  tp=new QueuedThreadPool();
			tp.setMaxThreads(200);
			server.setThreadPool(tp);
			
			SocketConnector connector=new SocketConnector();
			connector.setMaxIdleTime(1000 * 60 * 60);  
			connector.setSoLingerTime(-1); 
			connector.setPort(8090);
			server.addConnector(connector);
			
	        WebAppContext context = new WebAppContext();
	        context.setContextPath("/myapp");
	        context.setDescriptor("E:\\java\\test\\WEB-INF\\web.xml");
	        context.setResourceBase("E:\\java\\test");
	        context.setParentLoaderPriority(true);
	        
	        HashLoginService dummyLoginService = new HashLoginService("TEST-SECURITY-REALM");  
	        context.getSecurityHandler().setLoginService(dummyLoginService);  
	        
	        
	        server.setHandler(context);
	        server.start();
	        server.join();
	}





资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 无锡平芯微半导体科技有限公司生产的A1SHB三极管(全称PW2301A)是一款P沟道增强型MOSFET,具备低内阻、高重复雪崩耐受能力以及高效电源切换设计等优势。其技术规格如下:最大漏源电压(VDS)为-20V,最大连续漏极电流(ID)为-3A,可在此条件下稳定工作;栅源电压(VGS)最大值为±12V,能承受正反向电压;脉冲漏极电流(IDM)可达-10A,适合处理短暂高电流脉冲;最大功率耗散(PD)为1W,可防止器件过热。A1SHB采用3引脚SOT23-3封装,小型化设计利于空间受限的应用场景。热特性方面,结到环境的热阻(RθJA)为125℃/W,即每增加1W功率损耗,结温上升125℃,提示设计电路时需考虑散热。 A1SHB的电气性能出色,开关特性优异。开关测试电路及波形图(图1、图2)展示了不同条件下的开关性能,包括开关上升时间(tr)、下降时间(tf)、开启时间(ton)和关闭时间(toff),这些参数对评估MOSFET在高频开关应用中的效率至关重要。图4呈现了漏极电流(ID)与漏源电压(VDS)的关系,图5描绘了输出特性曲线,反映不同栅源电压下漏极电流的变化。图6至图10进一步揭示性能特征:转移特性(图7)显示栅极电压(Vgs)对漏极电流的影响;漏源开态电阻(RDS(ON))随Vgs变化的曲线(图8、图9)展现不同控制电压下的阻抗;图10可能涉及电容特性,对开关操作的响应速度和稳定性有重要影响。 A1SHB三极管(PW2301A)是高性能P沟道MOSFET,适用于低内阻、高效率电源切换及其他多种应用。用户在设计电路时,需充分考虑其电气参数、封装尺寸及热管理,以确保器件的可靠性和长期稳定性。无锡平芯微半导体科技有限公司提供的技术支持和代理商服务,可为用户在产品选型和应用过程中提供有
03-08
### Jetty 服务器介绍 Jetty 是一款轻量级的 Java HTTP(S) 服务器和 Servlet 容器,广泛应用于开发环境以及生产环境中部署 Web 应用程序。其设计目标是为了提供高效能、可扩展性和灵活性,在处理高并发请求方面表现出色[^1]。 ### 使用 Spring Boot 集成 Jetty Spring Boot 默认采用 Tomcat 作为嵌入式的 Servlet 容器,但也可以轻松切换至其他容器如 Jetty 或 Undertow。为了在 Spring Boot 中使用 Jetty 而不是默认的 Tomcat,可以通过排除 `spring-boot-starter-tomcat` 并引入 `spring-boot-starter-jetty` 来实现这一点: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除Tomcat依赖 --> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!-- 添加Jetty依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> ``` 通过上述配置更改后,应用程序启动时将会自动加载 Jetty 作为内嵌式 Web 服务器来运行应用实例。 对于更高级别的定制化需求,比如调整线程池大小或其他性能参数,则可以自定义 `ServletWebServerFactory` 的 Bean 实现。 ### 创建 WAR 文件用于外部 Jetty 部署 如果希望构建一个可以在独立安装版 Jetty 上部署的应用程序包 (WAR),则需确保项目的打包方式设置为 war,并且正确指定主类入口点以便于命令行执行。下面是一个典型的 Maven POM 设置片段展示如何创建这样的项目结构[^2]: ```xml <packaging>war</packaging> <properties> ... <start-class>com.example.MyApplication</start-class> ... </properties> ``` 此外还需要注意的是当以这种方式发布时应移除任何关于内置容器的支持代码,因为此时将由外部 Jetty 处理所有的HTTP 请求路由工作。 ### 日志记录工具 Log4j 在 Maven 项目中的集成 Log4j 是 Apache 提供的一个开源日志框架库,允许开发者方便地控制不同级别的消息输出行为。要在基于 Maven 构建系统的Java工程里加入此功能支持,首先要做的就是在 pom.xml 文件中声明相应的依赖关系项[^3]: ```xml <dependencies> ... <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> ... </dependencies> ``` 接着按照官方文档指导完成必要的初始化过程即可开始利用它来进行有效的错误跟踪与调试辅助操作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值