我在eclipse juno中有一个webapp-当我单击_“在服务器上_运行时运行良好”时-在eclipse的浏览器中(我在Windows上)或FF中。
右键单击> 导出战争 >将其转储到$ CATALINA_HOME / webapps中>一切正常(解压好了) EXCEPT
WEB-INF\functions.tld
server.xml
Servers
<Context docBase="ted2012" path="/ted2012"
reloadable=”true”source=”org.eclipse.jst.jee.server:ted2012”/>
source是WTP的特定属性。 我设法解决了这个
source
问题:
web.xml
代码在github中-文件INSTRUCTIONS.txt中有详细的说明来设置项目并重现下面我的答案中所示的错误。
Tomcat 7.0.32,Eclipse 4.2,Java 1.7.9
为了正确地解码URI,您需要在Tomcat中使用URIEncoding连接器属性:
<connector ... URIEncoding="UTF-8" ... />
因此,它没有普通代码,您需要在应用服务器配置中单独使用它,或者使用默认为UTF-8的应用服务器。不幸的是,没有办法从代码中影响这一点。
在没有显式编码参数的情况下,请删除decodeRequest并且永远不要使用new String/getBytes。
decodeRequest
new String/getBytes
另类。
如果您无法编辑服务器连接器配置,则可以通过将编码显式提供给来修复代码new String:
new String
public static String decodeRequest(String parameter) { return new String(parameter.getBytes("iso-8859-1"), "UTF-8"); }