Tomcat含有中文的url访问404

1.问题描述:由于项目中有中文路径,或者有中文图片导致访问404

2.解决方案

     若是Linux环境,修改.../Tomcat/Tomcat/conf/server.xml文件

     若是eclipse环境,修改...Servers/server.xml文件

<Service name="Catalina">
    <Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8"/>
    <Connector port="8090" protocol="AJP/1.3" redirectPort="8443"/>

    <Engine defaultHost="localhost" name="Catalina">


      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
	<!--
		<Context path="/" docBase="E:\\project\\j2ee\\web" debug="0" reloadable="false" />
	-->
	
		
       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

      <Context docBase="QLULottery" path="/QLULottery" reloadable="true" source="org.eclipse.jst.jee.server:QLULottery"/></Host>
    </Engine>
  </Service>

添加:

useBodyEncodingForURI="true" URIEncoding="UTF-8"

另外,如果是springmvc,注意上传的编码格式

<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 默认编码 -->
<property name="defaultEncoding" value="UTF-8" />
</bean>

猜你喜欢

转载自blog.csdn.net/weixin_43145299/article/details/85229937