Tag: tomcat

java.util.ConcurrentLinkedQueue

我想使用java.util.ConcurrentLinkedQueue作为Servlet的非持久队列。 这是来自类的javadoc的模糊。 基于链接节点的无界线程安全队列。 当许multithreading共享对公共集合的访问权限时,ConcurrentLinkedQueue是一个合适的选择。 此队列不允许null元素。 现在假设我在servlet上有1000个并发请求,每个线程都需要将一个对象嵌入到ConcurrentLinkedQueue中。 从描述中,我应该得出结论,处理负载没有问题吗? 我需要的保证是: 我自动收到线程安全保证,而无需自己进行同步。 如果流量负载超过1000并发请求,我将不会丢失任何请求。 谢谢

更改类文件时重启tomcat?

为什么我们需要在更改类文件时重新启动tomcat服务器,是否有其他方法?

为什么POST不尊重charset,但是AJAX请求呢? tomcat 6

我有一个基于tomcat的应用程序,需要提交一个能够处理utf-8字符的表单。 通过ajax提交时,数据从utf-8中的getParameter()正确返回。 通过表单发布提交时,数据将从iso-8859-1中的getParameter()返回。 我使用了fiddler,并确定了请求的唯一区别,就是在ajax调用中将charset = utf-8附加到Content-Type头的末尾(正如预期的那样,因为我明确地发送了内容类型)。 来自ajax的ContentType:“application / x-www-form-urlencoded; charset = utf-8” 来自表单的ContentType:“application / x-www-form-urlencoded” 我有以下设置: ajax post(正确输出chars): $.ajax( { type : “POST”, url : “blah”, async : false, contentType: “application/x-www-form-urlencoded; charset=utf-8”, data : data, success : function(data) { } }); 表格post(在iso中输出字符) xml声明: 文档类型: 元标记: jvm参数: -Dfile.encoding=UTF-8 我也尝试过使用request.setCharacterEncoding(“UTF-8”); 但似乎tomcat只是忽略了它。 我没有使用RequestDumper阀门。 根据我的阅读,POST数据编码主要取决于表单所在的页面编码。 据我所知,我的页面在utf-8中正确编码。 此页面中的示例JSP正常工作。 它只使用setCharacterEncoding(“UTF-8”); 并回复您发布的数据。 […]

WebApp(Tomcat-jdbc)池化数据库连接抛弃exception

我已经浏览了一段时间,并在此过程中咀嚼我的帽子,但找不到与我的问题完全匹配。 简而言之,我在60秒不活动后获得了极好的堆栈跟踪(org.apache.tomcat.jdbc.pool.ConnectionPool放弃),这是几个服务器端线程的正常行为。 我正在使用Tomcat JDBC Connection Pooling(org.apache.tomcat.jdbc.pool.DataSource) 堆栈跟踪: 2012年10月29日下午8:55:50 org.apache.tomcat.jdbc.pool.ConnectionPool放弃 警告:连接已被放弃PooledConnection [com.mysql.jdbc.JDBC4Connection@1ad2916]:java.lang.Exception 在org.apache.tomcat.jdbc.pool.ConnectionPool.getThreadDump(ConnectionPool.java:967) 在org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:721) 在org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:579) 在org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:174) at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:111) 在com.getsom.getConnection(DAO.java:1444) 在com.getsom.PreparedConnection。(PreparedConnection.java:48) 在com.getsom.Alarms.run(Alarms.java:492) 我的PoolProperties配置如下: PoolProperties pp = new PoolProperties(); pp.setUrl( someValidUrl); pp.setDriverClassName(“com.mysql.jdbc.Driver”); pp.setUsername( someUser); pp.setPassword( somePassword); pp.setJmxEnabled( true); pp.setTestWhileIdle( true); pp.setTestOnBorrow( true); pp.setValidationQuery( “SELECT 1”); pp.setTestOnReturn( false); pp.setValidationInterval(30000); pp.setTimeBetweenEvictionRunsMillis(30000); pp.setMaxActive(100); pp.setInitialSize(10); pp.setMaxWait(10000); pp.setMinEvictableIdleTimeMillis(30000); pp.setMinIdle(10); pp.setLogAbandoned(true); pp.setRemoveAbandoned(true); pp.setRemoveAbandonedTimeout(60); pp.setJdbcInterceptors(“org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;”+ […]

Tomcat的字符编码问题

正在进行奇怪的字符编码。 我正在使用JSP(JSTL)和Struts与Tomat 6。 我有我的JSP页面编码: 问题是当我尝试使用encodeURI传递url时: $(‘#mailer_filter’).change(function(){ var val = $(this).val(); console.log(val); console.log(escape(val)); console.log(encodeURI(val)); location.href = ‘mailList.a?’ + encodeURI($(this).val()); }); action(java end)上的参数如下: Gaz Métro 但是在前端它显示为: Gaz Métro 这是正确的方法。 我能做些什么?

使用Tomcat允许子域会话cookie的最佳方法

默认情况下,tomcat将为当前域创建会话cookie。 如果您在www.example.com上,您的cookie将为www.example.com创建(仅适用于www.example.com)。 而对于example.com,它将为.example.com创建(期望的行为,将适用于example.com的任何子域以及example.com本身)。 我已经看到一些Tomcat阀门似乎拦截会话cookie的创建并使用正确的.example.com域创建替换cookie,但是它们似乎都没有完美地工作,它们似乎都离开了现有的cookie并且只是创造一个新的。 这意味着每个请求都会发送两个JSESSIONID cookie。 我想知道是否有人对此问题有明确的解决方案。

Tomcat支持哪些技术?

我阅读了很多关于它支持整个Java EE 6规范的GlassFish应用服务器。 但Tomcat支持哪些? 我知道Tomcat是一个JSP / Servlet容器,但我在Web上看到有关“JSF和Tomcat”,“Hibernate和Tomcat”等的文章。 tomcat可以使用这些技术:EJB,JSF,JPA,Hibernate,Spring等。?

在Eclipse中更改Web项目的Tomcat上下文路径

我正在使用Tomcat 6并使用Eclipse中的Serversfunction来管理它。 我有一个名为foobar的项目,我想更改上下文路径,以便引用的URL是http:// localhost:8080 / app而不是http:// localhost:8080 / foobar 。 我已经尝试了一切我能想到的: 更新了Context部分中的server.xml路径值 从 至 我更新了文件conf / Catalina / localhost / foobar.xml来设置path =“/ app”和docBase =“foobar”没有运气。 我试图在Eclipse中删除模块并重新部署至少十几次。 我在这里看了一些建议: 如何在Eclipse中更改动态Web项目的上下文根? 我知道我可以简单地重命名项目,但我不想。 编辑: 我还应该提一下,我在应用程序上下文中有一些数据库设置。 我不确定是否应将其设置为foobar.xml或app.xml ..? Eclipse会自动在conf / Catalina / localhost中创建一个app.xml文件,但在进行更改后似乎会被忽略。

如何为tomcat设置最大卷数和最大日志大小?

我有空间问题所以需要将catalina.out的大小限制为10M并将滚动次数限制为前3天。 是否可以只配置logging.properties? 谢谢。

在Tomcat 6中重复出现“PermGen”

我在Tomcat 6服务器上遇到“PermGen”错误。 我知道应用程序导致了什么问题,但我不确定它为什么会这样做。 该应用程序使用MySQL 5并在JDK 6上运行。 是否有任何工具/建议可用于诊断或分析特定应用的基础问题? 谢谢