jetty WebappClassLoader 问题
一、
背景:
一个main方法启动一个java app和一个jetty webserver
但是jetty webserver 获取不到java app的数据。【就是jetty web action不能获取 app中对象的返回结果】
1.只用jstl-1.2.jar ,不需要standard.jar
但是jetty webserver 获取不到java app的数据。【就是jetty web action不能获取 app中对象的返回结果】
原因:两部分程序有两个classLoader
解决方案:都用sun的AppClassLoader
sun.misc.Launcher$AppClassLoader@558fe7c3
jetty WebappClassLoader解决方案:都用sun的AppClassLoader
把jetty的loader设为sun的AppClassLoader:
ClassLoader t_classLoader = Thread.currentThread().getContextClassLoader();
WebAppContext.setClassLoader();
二、
然后访问web应用,出现jstl错误:
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
解决方案:
2.同时调整classLoader
URLClassLoader t_newClassLoader = new URLClassLoader(new URL[] { t_urlTaglibs }, classLoader);
URLClassLoader t_newClassLoader = new URLClassLoader(new URL[] { t_urlTaglibs }, classLoader);
Thread. currentThread().setContextClassLoader(t_newClassLoader);
jettyServer.start();
相关推荐
jetty-security-9.4.8.v20171121.jar,jetty-io-9.4.8.v20171121.jar,jetty-continuation-9.4.8.v20171121.jar,jetty-client-9.4.8.v20171121.jar,jetty-jmx-9.4.8.v20171121.jar,jetty-plus-9.4.8.v20171121....
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛应用于各种规模的项目,从小型的个人项目到大型的企业级应用。Jetty以其高效、稳定和易于集成的特点,深受开发者喜爱。在本篇文章中,我们将深入...
在Java开发领域,Maven和Jetty是两个非常重要的工具。Maven是一个项目管理工具,它可以帮助开发者管理和构建Java项目,而Jetty则是一个轻量级的嵌入式Servlet容器,常用于快速开发、测试以及部署Web应用。本文将详细...
Jetty是一款开源、轻量级的Web服务器和Servlet容器,被广泛用于开发、测试和部署Java Web应用程序。相较于Apache Tomcat,Jetty以其简洁的架构、高性能和低内存占用而受到开发者青睐。在选择Jetty时,必须考虑到与...
首先,我们需要解决Jetty资源下载慢的问题,然后详细介绍在IDEA中配置Jetty的步骤。 **解决Jetty资源下载慢的问题:** 由于Jetty的官方下载站点可能对国内用户访问速度较慢,我们可以选择从国内的镜像站点或者第三...
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,与Tomcat相似,它为开发和部署Web应用程序提供了一种高效的选择。Jetty在设计上注重灵活性和可扩展性,使得它在处理HTTP协议、WebSocket协议以及部署各种...
这个压缩包包含Jetty 8版本的实现及其依赖库,是学习和理解Jetty工作原理,尤其是NIO(非阻塞I/O)和Servlet容器实现的宝贵资源。 Jetty 8在设计时特别强调了性能和可扩展性,它使用了Java NIO(New I/O)API来处理...
Jetty-all.jar是一个集合了众多Jetty组件的综合性JAR文件,它的主要目的是为了方便开发者在项目中快速引入和使用Jetty服务器。Jetty是一个开源的HTTP服务器和Servlet容器,它以其轻量级、高性能和易用性而受到广泛...
本篇文章将深入探讨Jetty所需jar包的相关知识点,帮助你理解和配置Jetty运行环境。 首先,让我们了解Jetty的核心组件和它们对应的jar包: 1. **jetty-server.jar**:这是Jetty服务器的基础,包含了处理HTTP连接和...
Jetty 9.4.9 是一个开源的Java Web服务器和Servlet容器,以其轻量级、高效和灵活性而受到开发者的欢迎。这个版本是Jetty项目的一个重要里程碑,提供了许多性能改进和新特性。在深入探讨之前,让我们先了解一些基本...
配置Jetty9服务器使用HTTPS证书的过程涉及多个步骤,包括申请证书、转换证书格式、以及配置Jetty服务器...由于此过程中可能遇到各种问题,建议在实际操作前仔细阅读相关的文档和指南,遇到问题时能够快速定位并解决。
Jetty 9.4.35是该系列的一个稳定版本,修复了之前版本的一些已知问题,并可能引入了一些新的功能和性能优化。这个版本可能包含以下关键知识点: 1. **Servlet 3.1支持**:Jetty 9.x系列支持Servlet 3.1规范,这意味...
Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,它被广泛用于开发、测试和部署Web应用程序。Eclipse是流行的Java集成开发环境(IDE),开发者可以利用它来管理和运行项目。本教程将详细介绍如何在Eclipse...
jetty-alpn-client-9.2.26.v20180806.jar jetty-alpn-server-9.2.26.v20180806.jar jetty-annotations-9.2.26.v20180806.jar jetty-cdi-9.2.26.v20180806.jar jetty-client-9.2.26.v20180806.jar jetty-continuation...
- **WebAppClassLoader**:为每个Web应用提供独立的类加载器,确保应用之间的隔离。 - **ParentLoader**:继承自BaseLoader,用于加载公共类库。 通过这种设计,Jetty实现了良好的类加载器层次结构,既保证了应用的...
### Maven Jetty 插件的问题(css/js等目录死锁)的解决 #### 背景介绍 在软件开发过程中,Jetty作为一个轻量级的Web服务器,常常被用于Java Web项目的开发与测试环境中。然而,在使用Maven Jetty插件进行项目构建...
Jetty软件包内容: jetty-distribution-9.4.51.v20230217.tar.gz jetty-distribution-9.4.51.v20230217.zip jetty-home-10.0.15.tar.gz jetty-home-10.0.15.zip jetty-home-11.0.15.tar.gz jetty-home-11.0.15.zip ...
eclipse jetty插件,从...下载run-jetty-run.zip文件,解压后再编写个links文件丢到eclipse的dropins目录下即可,省去了使用eclipse update方式安装的麻烦。 link文件样例如: path=d:\\eclipse_plugins\\run-jetty-run
8. **故障排查**:学习如何分析Jetty的日志,定位并解决问题,以及如何使用Jetty提供的监控工具进行问题诊断。 9. **安全与认证**:理解Jetty的安全模型,包括基本认证、摘要认证、客户端证书认证等,以及如何配置...