1. 使用thread pool 和 nio来提高性能
在tomcat/conf的server.xml中找到<Connector>节点
要使用nio的话,修改默认的protocol="HTTP/1.1" 为 protocol="org.apache.coyote.http11.Http11NioProtocol"
要使用thread pool的话,添加executor="tomcatThreadPool"
2. 将tomcat置于非开发模式来提高性能
在tomcat/conf的web.xml中找到<servlet><servlet-name>jsp</servlet-name>节点
3. 中文乱码解决(假设使用UTF8编码)
在tomcat/conf的server.xml中找到<Connector>节点,修改URIEncoding="UTF-8",可以解决GET方式的参数编码
对于POST方式的参数编码,需要在JSP中加入<% request.setCharacterEncoding("UTF-8"); %>
同时在JSP头部加上
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
4. http 1.1 keep-alive长连接,可以设置tomcat connect中的maxKeepAlive,如果设为1,意味着disable此功能,如果是-1,意味着没有数量限制,默认是100条。
目前浏览器都默认支持此功能,即保留数个持久连接(persist connection),当请求完成后,并不立即释放socket,而是保留一段时间,用于下一次请求。服务器也要以此方式工作。直到某一方显式关闭连接或者timeout。当转向访问其他网站时,而持久连接已经耗尽了,就释放之前某一条持久连接。