收录日期:2020/10/30 23:47:56 时间:2016/07/25 21:21:25 标签:Web 开发
      我在struts的一个action中设置response.setCharacterEncoding("UTF-8");页面上没有问题,可运行的时候出现下列错误。
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletResponse.setCharacterEncoding(Ljava/lang/String;)V
at com.topsec.tsm.ui.topdesk.maintain.agent.AdminAgentOnRecord.execute(AdminAgentOnRecord.java:35)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:342)
at com.topsec.tsm.ui.topdesk.common.EncodingFilter.doFilter(EncodingFilter.java:168)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
at com.topsec.tsm.ui.topdesk.common.SecurityFilter.doFilter(SecurityFilter.java:98)
at org.mortbay.jetty.servlet.WebApplicationHandler$Chain.doFilter(WebApplicationHandler.java:334)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:286)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.jboss.jetty.Jetty.service(Jetty.java:460)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)


       我的机器运行环境,JDK1.5,JBOSS3.0,MYeclipse5.5 ,oracle9i.  我在action中注视那段代码就没有上述错误,我的response是httpServletResponse,这放在其他地方也是没有问题的,我现在装了orcale9i,它自带义哥jre1.3.1,我在想是不是由于oracle先启动的,而我自己装的JDK1.5的环境与它有冲突,导致这个respose对象除了问题。补充一点,我的servlet.jar包是没问题的。我将oracle9i下自带的jre替换成jre1.5,并在环境变量下做了修改,可还是不行。
        希望大家能给我点建议。
D:\oracle\product\10.1.0\Db_1\jre

把oracle的这个删了!
我觉得不是这个原因吧,一般都会先找环境变量。
就一个地方,环境变量设置的先后问题,我记得好像是把jdk设置的环境变量移到oracle之前。楼主自己试试吧。
引用 3 楼 huangqibing0626 的回复:
就一个地方,环境变量设置的先后问题,我记得好像是把jdk设置的环境变量移到oracle之前。楼主自己试试吧。

可以试试
试了上述方法,将本地JDK的运行变量放在最前,并将oracle9i下的JDK,JRE删除,还是回出现这样的问题,可能还不是oracle的问题
设置环境变量path,把oracle的jdk和jre去掉,换成你自己的jdk,jre
呵呵,挺有意思 
jar包冲突吧
你用了哪些框架了
我用了struts, spring ,hibernate,是一个轻量级的EJB,再不行,我就将环境重新安装下
java -version

的东西看看是不是你安的版本!
上面的朋友们已经说得很清楚了,要么删掉oracle自带的jdk要么改改环境变量,楼主看着办吧
不是这个问题,可能是服务器没有实现HttpServletResponse.setCharacterEncoding方法,这个方法出现的时间比较晚,很多早期的服务器都不支持这个方法,譬如WEBLOGIC8.1,建议把这行代码改为response.setContentType("text/html;charset=GBK");
谢谢,很不错的建议!!!!
这个会冲突吗
oracle下面的jdk只能够用于oracle
其他地方是用不了的

怎么将程序最右上角的关闭程序的小叉叉禁止掉? 哪位老大能总结一下,java开发xml/soap的工具和环境,流程之类的东西亚 pchome上的强贴 很想搞清楚,什么是IT人才?掌握学习的思想和开发思想的是IT人才,还是什么开发工具都会用一点,并不断的学习开发工具的是IT人才? 开学上大四,对前途选择困惑,请大家指教(这对我很重要,请大家都来看看) 请高手赐教! jbuilder9+weblogic8配置后在jb中启动weblogic服务器出现如下错误提示...怎么回事... JBuilder7+Weblogic7+mysql 开发EJB的配置中的问题 怎么能知道当前jndi服务开了没有? 我的样式表怎么不好使? 寻找j2sdk下载地址,本人用校园网,不能上国外网站 asp.net关闭后,总是出这个错误 朋友,失落、郁闷的时候可以进来冲杯咖啡,漫漫品味!! 怎样改变程序运行时窗体的形状? 高手请进,真的很怪 添了个裤衩! 散分! 刚开始学j2ee,不知道如何入手,请指教 delphi 7 和 delphi.net 是不是一个东西?有什么区别? 寻求好的网站制作网站或工作室 50 急!!!当我追加一条记录的时候,怎样始数据库里的id字段加一? 最近我转行专门尝试用代码替代自定义控件 怎样将剪切板中的位图存储为BMP图片 各位高手這裡救!!!!!!!,我在縣等待,急救!!!!!!!!!!!!!!!! 一个最简单的serblet的程序出现的错误? win2000内存管理讨论? aa 请问怎么排序啊?(还没解决:),icevi(按钮工厂) 请帮忙) Deviceiocontrol参数不对的问题 如何解析此文本记录? DBGrid显示序号问题