Tag: tomcat

在Tomcat中的其他Web应用程序之前加载derby.war(derby servlet服务器)

Apache Derby可以选择将其“网络服务器”作为servlet容器( derby.war )中的Web应用程序运行。 问题是如何在同一容器中部署依赖于derby的其他应用程序,以便在derby加载后加载(最好在Tomcat容器中)。 据我所知,没有办法控制Tomcat中Web应用程序初始化的顺序。 有没有人让derby.war在多个Web应用程序环境中工作?

在tomcat启动时,通常只允许使用每个套接字地址(协议/网络地址/端口)?

这是server.xml中的连接器元素。 我也尝试使用8443而不是8484但是同样的错误。 SEVERE: Error starting endpoint java.lang.Exception: Socket bind failed: [730048] Only one usage of each socket address (protocol/network address/port) is normally permitted. at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:649) at org.apache.tomcat.util.net.AprEndpoint.start(AprEndpoint.java:766) at org.apache.coyote.http11.Http11AprProtocol.start(Http11AprProtocol.java:137) at org.apache.catalina.connector.Connector.start(Connector.java:1122) at org.apache.catalina.core.StandardService.start(StandardService.java:540) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Jan 23, 2014 10:05:26 AM […]

GWT-No’Access-Control-Allow-Origin’标头出现在请求的资源上

我们正在尝试在tomcat上实现CORSfilter以允许跨域请求。 我们在两个不同的tomcat(不同的机器)上有两个GWT项目。 在阅读CORSfilterDocument CORS之后 ,我刚刚在tomcat的web.xml文件中添加了CORSfilter。 ` CorsFilter org.apache.catalina.filters.CorsFilter cors.allowed.origins * cors.allowed.methods GET,POST,HEAD,OPTIONS,PUT cors.allowed.headers Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers cors.exposed.headers Access-Control-Allow-Origin,Access-Control-Allow-Credentials cors.support.credentials true cors.preflight.maxage 10 CorsFilter /* ` 但它不起作用。 我得到了另一个与之相关的堆栈问题,但有点混淆如何在GWT中实现filter? StackQues 什么是使用GWT实现CORSfilter的实际程序?

如何以编程方式将AccessLogValve添加到Tomcat?

我正在开发一个Spring启动应用程序,我想通过我的slf4j日志系统将Tomcat的访问日志路由到远程系统日志。 因为它是Spring,所以我想避免触及tomcat的server.xml文件。 我的AccessLogValve非常简单: import java.io.CharArrayWriter; import org.apache.catalina.valves.AccessLogValve; public class Log4JAccessLogValve extends AccessLogValve { @Override public void log(CharArrayWriter message) { log.info(message.toString()); } } 而且我希望可以使用这样的东西将它连接到Tomcat: @Component public class LogConfig { @Autowired private ServletContext servletContext; @PostConstruct public void setAccessLogValve() { ((ApplicationContextFacade)servletContext).addValve(new Log4JAccessLogValve()); } } 除了addValve()方法不存在… 那么……任何人都知道如何在我的AccessLogValve中挂钩? 我也接受完全不同的建议,以获取访问日志到远程系统日志,但我们正在制作数十个微服务,所以它必须是一个非常标准化的方法,很容易实现每个微服务。

Tomcat6忽略web-inf / lib

简介: Tomcat6无法识别WebRoot / WEB-INF / lib中的ojdbc14.jar。 我想我不需要配置任何东西,只需将.jar文件放在那里就可以了。 细节: 我已经创建了一个Web应用程序并将ojdbc14.jar放在WEB-INF / lib文件夹中。 当我启动Tomcat6并访问index.jsp页面时,该页面创建了一个启动与我的oracle数据库连接的对象 ,出现错误,说“无法加载JDBC驱动程序类’oracle.jdbc.OracleDriver’”。 显然Tomcat6无法识别web-inf / lib / ojdbc14.jar中的’oracle.jdbc.OracleDriver’类 。 我做了一些研究并推测出以下原因: Tomcat6有一些不同的加载类的方法。 他们在发布的每个版本中都会更改它 要么 Tomcat6有一个错误。 我在Tomcat3中发现了一个类似的错误(参见https://bugs.eclipse.org/bugs/show_bug.cgi?id=249044 )。 但是我怀疑这个bug可以持续这么多版本。 Tomcat6已将ojdbc14.jar的内容包含在自己的lib文件中,并且再次将其添加到web-inf / lib会产生冲突。 我不相信这一点,因为从WEB-INF / lib删除ojdbc14.jar后,问题仍然存在。 这是我的Web应用程序结构: 的WebRoot WEB-INF 类 ‘用于启动连接的类’ LIB 为ojdbc14.jar 的index.jsp 错误: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class ‘oracle.jdbc.OracleDriver’ at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:766) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540) at com.demo6.DataSourceExample.getConnection(DataSourceExample.java:18) […]

在IntelliJ IDEA中为Tomcat设置了哪些应用程序上下文?

到目前为止,我通过catalina.bat start脚本在windows命令中运行Tomcat服务器(v.7.0.26)。 如果我想部署我的Web应用程序,我必须通过Maven构建它并复制WAR以指定Tomcat部署目录。 服务器启动时一切正常。 现在我尝试将我的网络应用程序连接到IntelliJ IDEA Ultimate 2017.1.4。 我的应用有多个WAR。 在Run/Debug Configuration我添加了新的Tomcat服务器。 在Deployment选项卡中,我有: 我必须选择Application context但如果我为多个工件设置空白,我会得到错误Duplicate context path” 。 同样的情况是我选择/ 。 如果我尝试运行服务器没有部署。 我应该设置哪种应用程序环境?

如何防止Eclipse + Tomcat运行当前类而不是项目(Vaadin)

这可能certificate是一个简单的配置更改,但我似乎无法找到解决以下问题的明显设置: 我在Eclipse中有一个Vaadin项目,它配置为使用Tomcat v6进行调试。 如果我在项目浏览器中选择项目的顶部并点击调试,则会启动eclipse浏览器,并使用以下URL打开我的Web应用程序: http://localhost:8080/MyVaadinProject/ THIS WORKS 但是,如果我正在查看java文件(比如Myproject.java),Eclipse会尝试在此URL上打开java文件: http://localhost:8080/MyVaadinProject/WEB-INF/classes/com/example/myproject/Myproject.java 当然,这会产生404。 每次我想调试时必须取消选择/关闭我的java文件是非常繁琐的。 有没有办法在eclipse中防止这种行为? 我在OSX Lion上,Eclipse版本3.7.2。 谢谢!

Tomcat在URL中添加,Struts无法获取正确的动作名称?

我有这个项目在Jetty工作正常,最近根据要求,我在Tomcat上测试它,但我发现了一个问题。 我们正在使用Struts2,并且动作映射定义为没有扩展名,例如http://www.somehost.com/projectname/home 当我将所有内容部署到Tomcat并访问上面的url时,我收到此错误: “There is no Action mapped for namespace [/] and action name [home/]” 很明显Tomcat在url上添加了一个额外的/ ,所以struts认为动作名称是home/而不是home 。 如果我将动作配置从home更改为home/ ,它可以正常工作。 但是我不想用额外的/更改每个动作映射,应该有更好的解决方案,任何人都可以帮助我吗? 这是我的动作配置: home.default home 它是在/ package下配置的,当没有任何变化时,我得到了404,如果我在上面更改为: home.default home 然后它工作。

新上传的文件和Tomcat?

我有一个简单的servlet用于图像上传,用户选择一个图像,servlet完成其工作,然后将其写入上传目录。 我的项目布局: project ├───static │ ├───img │ └───js ├───upload └───WEB-INF └───lib 上传图像后,用户将被重定向到其位置: http://localhost:8080/upload/[image MD5 hash].png 上传代码工作得很好,但是在请求url时Tomcat返回404错误,即使图像在那里: > wget http://localhost:8080/upload/f5d1da2cadf3bd1c1b9196ec522a5d73.png SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc syswgetrc = C:\GnuWin32/etc/wgetrc –2013-01-16 03:45:33– http://localhost:8080/upload/f5d1da2cadf3bd1c1b9196ec522a5d73.png Resolving localhost… 127.0.0.1, ::1 Connecting to localhost|127.0.0.1|:8080… connected. HTTP request sent, awaiting response… 404 Not Found 2013-01-16 03:45:33 ERROR 404: Not Found. > 在我的IDE,Intellij中单击update classes and resources后,它可以工作: […]

Tomcat:PreResources标记没有加载jar

我正在使用tomcat 9,并试图从PreResources标签下面加载所有与项目相关的jar。 External-lib文件夹位于tomcat目录中,符合’base’中提到的路径。 但是当部署应用程序时,我得到以下错误。 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 这是从web.xml调用的, org.springframework.web.context.ContextLoaderListener 在tomcat lib中,我们只有tomcat库,其余所有jar都在External-lib文件夹中。 由于我们有类似的webApp和jar太多,我们正在尝试外化它们而不是加载到webapp / web-inf / lib文件夹中。 请建议,使用PreResources元素从meta-inf / context.xml加载jar时我遗漏了什么。 这个PreResources元素的示例和文档非常少。 任何方向或帮助将不胜感激。