首先在web.xml加上统一编码过滤器.為的是防止乱码.
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>
com.filter.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
java代码:
/**
*
*/
package com.filter;
/**
* @author
*
*/
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 SetCharacterEncodingFilter implements Filter {
private String charset = "UTF-8";
public void destroy() {
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
arg0.setCharacterEncoding(charset);
arg1.setCharacterEncoding(charset);
arg2.doFilter(arg0, arg1);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
jsp页面:
<input type="text" name="student.stu_username" id="stuid" />
javascript:
$(document).ready(function(){
$("#stuid").change(function(){
$.post("userSearchSys.action", {username: $("#stuid").val()} ,function(data){alert(data);});
});
});
绑定onchange事件.
struts2.xml:
<action name="*Sys" class="com.action.Sys" method="{1}">
<result type="stream"><param name="username">inputStream</param></result>
</action>
action:
public String userSearch(){
StudentDao sDao = new StudentDao();
try {
int i =sDao.searchUsername(username);
HttpServletResponse response = ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
response.setCharacterEncoding("UTF-8");
response.setHeader("Charset","UTF-8");
response.setHeader("Cache-Control", "no-cache");
if (i==1){
out.println("用户名已经存在");
}
else {
out.println("用户名可用");
}}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
本文介绍了一种在Web应用中解决中文乱码的方法,通过在web.xml中配置统一编码过滤器并设置UTF-8编码,确保从前端到后端的数据传输过程中字符编码的一致性。同时展示了具体的Java代码实现及Struts2框架中的应用实例。

被折叠的 条评论
为什么被折叠?



