乱码有很多中原因
下面是其中一种解决办法,你可以试试
修改tomcat的conf/server.xml
把
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改成
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
如果还乱码,请在web.xml中添加一个过滤器
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.worthtech.app.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharacterEncodingFilter implements Filter {
private String encoding=null;
private boolean ignore=true;
public void destroy() {
// TODO Auto-generated method stub
encoding=null;
}
/**
* 过滤请求,用户提交请求时起作用
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
if(ignore||request.getCharacterEncoding()==null){
String encoding=getEncoding();
if(encoding!=null){
request.setCharacterEncoding(encoding);
}
}
// System.out.println("encoding===="+encoding);
response.setContentType("text/html;charset="+encoding);
// do something here
//当前工作全部完成后,将请求放开给过滤器链的下一filter
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
this.encoding=filterConfig.getInitParameter("encoding");
String value=filterConfig.getInitParameter("ignore");
if(value==null){
this.ignore=true;
}else if(value.equalsIgnoreCase("true")){
this.ignore=true;
}else if(value.equalsIgnoreCase("yes")){
this.ignore=true;
}else{
this.ignore=false;
}
}
protected String getEncoding(){
return this.encoding;
}
}
分享到:
相关推荐
- `conf/server.xml`:这是Tomcat的主要配置文件,包含了端口设置、连接器、虚拟主机等信息。例如,你可以在这里修改默认的HTTP端口8080。 - `conf/web.xml`:全局Web应用程序配置文件,定义默认Servlet和过滤器。...
- **配置示例**:通常需要在`tomcat/conf/server.xml`中添加`<Resource>`元素来配置数据源,例如: ```xml <Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle=...
可以在conf/server.xml文件中设置URIEncoding为gb2312或gbk,例如: 然后,实现一个过滤器Filter来设置gbk的字符编码格式。例如: 在web.xml文件中加入: 在WEB-INF/classes/filters目录下创建...
通过配置`conf/server.xml`文件中的`<Resource>`元素,可以加载特定语言的资源包,实现应用的本地化。 5. **日志和错误信息**:Tomcat的错误信息和日志默认使用英文,但在8.0.33版本中,如果系统环境支持,也会提供...
3. **服务器配置**:主要通过修改`conf/server.xml`文件,可以配置端口号、虚拟主机、连接器、监听器等。 4. **管理设置**:TOMCAT提供了一个管理界面,可以通过`/manager/html`访问,但需在`conf/tomcat-users.xml...
- 在Tomcat的`conf/server.xml`文件中找到`Connector`元素,添加`URIEncoding="UTF-8"`属性来指定URL的编码方式。 ```xml <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort...
- 查看`conf/server.xml`配置文件中`<Connector>`元素下的`port`属性,确认监听端口是否被其他应用程序占用。 - 可以使用`netstat -ano | findstr "监听端口号"`命令来检查端口使用情况。 2. **确认项目文件路径*...
- 打开`Tomcat/conf/server.xml`文件 - 在Connector元素中加入`URIEncoding="UTF-8"`参数,以支持中文检索。例如: ```xml <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort...
- Tomcat默认监听端口为8080,可以通过修改`conf/server.xml`中的`<Connector>`标签来更改端口。 ### 六、常见问题及解决方法 - **启动失败**:首先确认`JAVA_HOME`环境变量是否正确配置;其次检查Tomcat的日志...
首先,修改MySQL配置文件,使用命令vi /etc/mysql/mysql.conf.d/mysqld.cnf,并添加character-set-server=utf8和collation-server=utf8_general_ci。然后,重启MySQL,使配置生效。使用命令/etc/init.d/mysql ...
通过修改Tomcat的`Server.xml`文件中的`<Connector>`元素,设置`URIEncoding`属性为支持中文的编码(如`GB2312`或`UTF-8`),可以有效解决GET方式传递参数时出现的中文乱码问题。这一修改使得Tomcat能够正确解析和...
在Tomcat的`conf/server.xml`中,找到类似下面的`<Connector>`标签: ``` <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 并将其修改为: ``` ...
如果需要更改Tomcat的端口号,可以在`conf/server.xml`文件中找到`Connector`标签,修改`port`属性的值。例如,将8080改为8000。 6. **解决中文乱码问题**: 如果控制台出现中文乱码,可能是因为编码问题。修改`...
1. 修改`conf/server.xml`文件中的`Connector`元素,添加或更新`URIEncoding`属性,使其值为`UTF-8`,如: ```xml <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" ...
要开始使用这个版本的Tomcat,用户需要配置`conf/server.xml`文件,根据自己的需求调整服务器设置,然后可以在`webapps`目录下部署应用。启动Tomcat,可以通过`bin`目录下的脚本进行,例如在命令行输入`./catalina....
如果需要将端口更改为80或其他端口,可以通过编辑`conf/server.xml`文件中的`Connector`元素实现。具体步骤如下: 1. **打开`server.xml`文件**:使用文本编辑器打开`conf/server.xml`文件。 2. **定位`Connector`...
- Tomcat 5.5:在`conf/server.xml`文件中找到HTTP/1.1 Connector配置,添加`URIEncoding="gbk"`属性,如下所示: ```xml ...