jsf框架、jsp和ajax:responseText返回整个网页的HTML代码和所需字符串,如何只得到字符串? 15

服务器端:开发工具NetBeansIDE6.7.1;服务器:GlassFishv2.1;JavaEE版本:JavaEE5;框架:VisualWebJavaServerFa... 服务器端:
开发工具NetBeans IDE 6.7.1; 服务器:GlassFish v2.1; JavaEE版本:JavaEE 5; 框架:Visual Web JavaServer Faces
1)写一个EJB3的Bean对数据库Microsoft SQL 2005的数据进行基本操作;
2)写一个JavaBean(类名:AjaxBeanInBom),注入1)中EJB,把数据解析成字符串;
3)建立一个VWP网页(Navigation.jsp),对应版本为jsp2.1和Servlet2.5,运用2)中Bean处理请求和响应,在该网页的头部嵌入以下代码:
<jsp:directive.page import="java.util.*,java.text.*"/>
<jsp:useBean class="ajaxbeantest.AjaxBeanInBom" id="ajaxbean" scope="page"/>
<jsp:scriptlet>
response.addHeader("Cache-Control", "no-cache");
response.addHeader("Expires", "Thu, 01 Jan 1970 00:00:01 GMT");
request.setCharacterEncoding("UTF-8"); //疑问1
String date1=null;
date1=(String)request.getParameter("method");
if(date1!=null){
String mystr=null;
ajaxbean.setRequest(request);
mystr=ajaxbean.getResponseXML();
System.out.println(mystr);
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print(mystr);
response.getWriter().close();
}
</jsp:scriptlet>

客户端:
IE浏览器,利用javascript和ajax操作页面内容
4)采用post方式发送请求和获取响应,关键代码如下:
function accessdb_S(jspname,sSQLobj){ //select rows
var requestString;
//注明:因不影响阅读,中间requestString的具体赋值舍去
createXMLHttpRequest();
xmlHttp.open("POST", jspname,false);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
xmlHttp.send(requestString);
}

function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
alert(xmlHttp.status);
alert(xmlHttp.responseText); //疑问2
}
}
}

问题:
疑问1):服务器端报错:PWC4011:由于已读取请求参数或已调用 ServletRequest.getReader(),因此无法将请求字符编码从上下文 /fuBom 设置为 UTF-8;
疑问2):由System.out.println(mystr)可以查看到服务器输出自己预期想要的字符串,但是在客户端由alert(xmlHttp.responseText)时,在该字符串前却加上了有关html的代码。即使客户端截取掉HTML代码也无法渲染页面。若只想得到字符串,如何解决?

补充:
当开发环境其他不变,仅作下述改变时,上述两个错误都不会发生:
服务器:Sun Java System Application Server 8.2(更早的一个服务器版本); JavaEE版本:JavaEE 1.4;
对应web页面:jsp1.2,Servlet2.4

该问题困扰本人十多天之久,请各位大牛和神人急救!
展开
 我来答
whq272829
2011-04-22 · TA获得超过3.4万个赞
知道大有可为答主
回答量:2.6万
采纳率:18%
帮助的人:6812万
展开全部
网页有错误,可能是病毒造成的,也可能是浏览器的原因造成网页有错误,还有可能就是自身网页的问题造成网页错误
解决办法
1、打开浏览器,点“工具”→“管理加载项”那里禁用所有可疑插件,或者你能准确知道没问题的保留。然后→工具→INTERNET选项→常规页面→删除cookies→删除文件→钩选删除所有脱机内容→确定→设置使用的磁盘空间为:8MB或以下(我自己使用1MB)→确定→清除历史纪录→网页保存在历史记录中的天数:3以下→应用确定(我自己使用的设置是0天)。
2、还原浏览器高级设置默认值:工具→INTERNET选项→高级→还原默认设置。
3、恢复默认浏览器的方法“工具”→Internet选项→程序→最下面有个“检查Internet Explorer是否为默认的浏览器”把前面的钩选上,确定。
4、设置主页:“工具”→Internet选项→常规→可以更改主页地址→键入你喜欢的常用网址→应用。
5、如果浏览器中毒就使用金山毒霸系统修复选择系统清理选项,点击立即清理选择安全百宝箱中系统修复,即可解决网页上有错误解问题
如果是手机建议使用免费金山手机卫士,清理你的 手机病毒和垃圾再打开网页
伍用Bq
2011-04-15 · 超过16用户采纳过TA的回答
知道答主
回答量:557
采纳率:0%
帮助的人:152万
展开全部
车到山前必有路,玩问=檤自然爽。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式