我使用的是一个简单的servlet代码:
myCon = DriverManager.getConnection(url);
myStmt = myCon.createStatement();
ResultSet rs;
String course = req.getParameter("Course").trim();
out.println(course);///////HERE IS THE PROBLEM
String query="select * from TBSolvedbanks where COURSE_CODE='"+course+"' ;";
rs=myStmt.executeQuery(query);
out.println("<BANKS>");
while(rs.next())
{
out.println("<BANK>");
out.println("<NUMBER>"+rs.getString("NUMBER")+"</NUMBER>");
out.println("<NAME>"+rs.getString("NAME")+"</NAME>");
out.println("<TITLE>"+rs.getString("TITLE")+"</TITLE>");
out.println("<DESCRIPTION>"+rs.getString("DESCRIPTION")+"</DESCRIPTION>");
out.println("<MODULE_TAG>"+rs.getString("MODULE_TAG")+"</MODULE_TAG>");
out.println("<ADDITIONAL_TAGS>"+rs.getString("ADDITIONAL_TAGS")+"</ADDITIONAL_TAGS>");
out.println("</BANK>");
}
out.println("</BANKS>");
}
当我在Jboss服务器上运行此代码时,它工作正常并打印出来:
BEME1104
<BANKS>
<BANK>
<NUMBER>1</NUMBER>
<NAME>firstbank</NAME>
<TITLE>Question Bank 1</TITLE>
<DESCRIPTION>in this file,we discussed basic things including shortnotes of Properties of substances and aproaches</DESCRIPTION>
<MODULE_TAG>MODULE I</MODULE_TAG>
<ADDITIONAL_TAGS>Uses of point,path function,processes,equilibrium,curves</ADDITIONAL_TAGS>
</BANK>
但是当我评论这一行时
out.println(course);
它打印的值没有像这样的标记:
"1 firstbank Question Bank 1 in this file,we discussed basic things including shortnotes of Properties of substances and aproaches MODULE I Uses of point,path function,processes,equilibrium,curves"
我不知道为什么我遇到这个问题,而相同的代码在另一个servlet中运行正常。请帮助我,我是servlets的新手?
答案 0 :(得分:1)
检查浏览器中的页面来源。您没有设置响应的内容类型。因此浏览器可能会将第一个显示为纯文本,因为它不会以任何类似HTML的内容开头,并尝试将第二个显示为HTML,但由于它不是有效的HTML,因此看起来不太好。
如果您希望始终将响应显示为纯文本,请添加
response.setContentType("text/plain");
答案 1 :(得分:-1)
@Navdeep Singh Bedi ......
在循环播放之前使用以下代码,然后重试....
PrintWriter out = response.getWriter();