0

我正在使用一个简单的 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 中运行良好。请帮助我,我是 servlet 的新手?

4

2 回答 2

1

检查浏览器中的页面源。您没有设置响应的内容类型。所以浏览器可能将第一个显示为纯文本,因为它不以任何看起来像 HTML 的内容开头,并尝试将第二个显示为 HTML,但由于它不是有效的 HTML,它看起来不太好。

如果您希望始终将响应显示为纯文本,请添加

response.setContentType("text/plain");
于 2013-04-05T08:56:32.340 回答
-1

@Navdeep 辛格贝迪...

在while循环之前使用下面的代码,然后再试一次......

PrintWriter out = response.getWriter();

于 2013-04-05T08:59:48.707 回答