org.apache.jasper.JasperException: Exception in JSP: /detail.jsp:1010:  String videonames=new String(request.getParameter("videonames").getBytes("ISO-8859-1"),"GBK");
11:   // System.out.print(classname2);
12:    if(videonames!=null){
13:   %>

解决方案 »

  1.   

    你确定 request.getParameter("videonames") 这句话能取到值吗
      

  2.   

    最近学习了servlet和JSP乱码这个问题 我也探究出了点东西 算小有心得 放出分享 欢迎纠错对于JSP页面之间的数据的传送出现乱码 或者servelt从表单中获取出现乱码,我都找到了相关的解决问题,对于有些还加一个过滤器,来过滤文字编码的感觉很是麻烦。分析如下:页面在传送数据的时候,只要保证两个页面之间的编码是一样的,就可以保证不出现乱码。不管是两个JSP页面传参,还是servelt传参都是传的字节码,只有你接收的时候设置相应的编码,这些字节码才会编译成相应的字符。对于楼主提出的问题,servelt从表单接收汉字出现乱码。
    1.首先确保你的页面是GBK编码,不管是jsp page属性 还是html<meta>标签 都要保证相应的编码和servelt是一致的,这样在传参的时候,servlet那边用相同的编码格式接收字节码才不会出现乱码。
    2.就是reqeust.setCharEncoding("gbk")和response.setCharEncoding("gbk")
     a.servlet接收传过来的参数时,无论是表单传,还是url重写传,只要request.setCharEncoding("gbk")和页面端保持一致就能保证接收的汉字不会出现乱码。
     b. servlet向页面端传参用response时,也设置相应的编码和页面端一致。另外有一个小心得,就是用servlet的PrintWriter out=response.getWriter()的方法写出一个页面并返回的时候,response.setCharEncoding("gbk")放在PrintWriter out=response.getWriter()之前和之后是不一样的。放在out被创建之前是正确的。
      

  3.   

    忘了一句:现在我用servlet处理事务的时候,基本都是在开头将request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");两句直接写上。保证和页面端的编码是一致的就不会出现中文乱码。现在我做这个用这个方法一直没出现过中文乱码。现在做了一个微博平台做毕业设计。(相关的页面捎带上编码是很必要的无论是html还是jsp,jsp不写编码好像不能在eclipse里面不能保存)。
      

  4.   

    报这个错,是jsp页面没有导入相关包
      

  5.   

    request.getParameter("videonames")会抛异常。小心使用