当前位置: 代码迷 >> Java Web开发 >> 求解决简单的jsp中文乱码有关问题。高分求指教
  详细解决方案

求解决简单的jsp中文乱码有关问题。高分求指教

热度:7777   发布时间:2013-02-25 21:08:13.0
求解决简单的jsp中文乱码问题。高分求指教
错误是这样的:type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /t3.jsp at line 32

29:     </form>
30:     <%
31:     String name=request.getParameter("use");
32:     out.print("提交的数据为:"+new String(name.getBytes("ISO-8859-1"),"GB2312"));
33:      %>
34:   </body>
35: </html>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.NullPointerException
org.apache.jsp.t3_jsp._jspService(t3_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.





代码是这个:我也知道要转编码呀!为什么还是错了了???请指教


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
  </head>
  
  <body>
   <form action="/h1/servlet/k1" method="post">
   <input type="text " name="use">
   <input type="submit" value="求和">
   
   </form>
  </body>
</html>
------最佳解决方案--------------------------------------------------------
你一开始打开这个页面的时候都没有use的值,你就去取,然后还引用其方法getBytes,不报错才怪了
------其他解决方案--------------------------------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
   

  </head>
  
  <body>
    <form action="t3.jsp" method="post">
    <input type="text" name="use">
  相关解决方案