以下是一个片段,用于从数据库中获取数据。但是,当我单击提交按钮查看数据时,浏览器会继续查找数据,但从不显示任何(浏览器不显示下一页但继续查看同页)。我不知道问题是什么。
获取数据的摘录:
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException {
try {
Context context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/MyDatasource");
Connection connection = dataSource.getConnection();
String sqlStatement = "SELECT * FROM INFORMATION";
PreparedStatement statement = connection.prepareStatement(sqlStatement);
ResultSet set = statement.executeQuery();
PrintWriter writer = response.getWriter();
response.setContentType("text/plain");
while(set.next()) {
writer.println(set.getString(1) + " " + set.getString(2) + " " + set.getString(3));
writer.println(System.getProperty("line.separator"));
}
}catch(Exception exc) {
}
Html代码:
<form method="get" action="GetFromDatabase.do"> <br />
<input type="submit" value="List All Members" />
答案 0 :(得分:0)
你可以检查一下,
至少打印堆栈跟踪,而不是抑制异常。
catch(Exception exc){
exc.printStackTrace();
}
如果有任何异常,我们可以找到真正的问题。
您想发送什么样的回复?我可以看到
response.setContentType("text/plain");
你真的想把回复作为纯文本发送,与text / html相反。
答案 1 :(得分:0)
你应该实现:
writer.flush();