String name = request.getParameter("name");
name = new String(usertruthname.getBytes("ISO8859_1"));name是null值,
如果不使用强制类型转换,程序运行无误,但是如果加上对name的强制转换,就会抱出空指针异常。
name = new String(usertruthname.getBytes("ISO8859_1"));name是null值,
如果不使用强制类型转换,程序运行无误,但是如果加上对name的强制转换,就会抱出空指针异常。
解决方案 »
- 有关 在线咨询的做法 (项目使用SSH+JQUERY等)
- Web Service部署在CLUSTER环境里,不能正常访问?
- 关于struts2类型转换的问题
- B/S/S架构
- 关于人生的困惑,需要被指点
- 【急】java代码怎么同步两台电脑某个文件夹下的文件?
- sun.jdbc.rowset问题???
- 高分急求::关于java网络socket方面的小问题.. thanks!!!!!! 在线等.................
- 600分 求J2EE开发经验,参与者有分
- 大神指教,maven的springcloud报错:java.lang.annotation.AnnotationFormatError: Invalid def
- 看看我的代码还应如何改进?谢谢!!!
- js 如何获取客户端用户名??
没有提交name这个参数值过来呀!
name = new String(usertruthname.getBytes("ISO8859_1"));
同时,你这转换也有问题呀!改成:
name = new String(usertruthname.getBytes("ISO-8859-1"),"utf-8");
不是因为上面二位所说的问题
package dao;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 { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("GBK"); chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { }}web.xml文件配置好下:<?xml version="1.0" encoding="GBK"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>dao.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>3、用类型强制转换
String name = request.getParameter(param_name);
name = new String(name.getBytes("ISO8859_1"));
注:如果用类型强制转换就不要再去修改server.xml文件了,不然这样会仍会出现乱码问题。
注:filter过滤器似乎只针对post的传递方式有效,如果要是get传值的话可能用这个方法并不理想。
注:类型强制转建议不要采取。