读书人

请大家改正servlet小程序 很简单的

发布时间: 2012-03-23 12:06:21 作者: rapoo

请大家改正servlet小程序 ,很简单的,但是我初手所以不懂
public class showMessage extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = -102253422187482716L;
/**
* Constructor of the object.
*/
public showMessage() {
super();
}

/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int result = 0;
String dbpath = "/WEB-INF/compay.accdb";

// --连接字符串

String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ dbpath;

Connection conn = null;

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

try {
conn = DriverManager.getConnection(url);
} catch (SQLException e) {

e.printStackTrace();
}

Statement statement;
try {


ResultSet rs = statement.executeQuery("select * from worker");
int id = rs.getInt(1);
String name = rs.getString(2);
int phone = rs.getInt(3);
String email = rs.getString(4);
String content = rs.getString(5);

while(rs.next()){
statement = conn.createStatement();
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>display messages</title></head>");
out.println("<body>");
out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言内容</a><br>");
out.println("留言内容<br><br>");
try {
while (rs.next()) {
out.println("<table width=\"600\" border=\"1\" style=\"table-layout:fixed;word-break:break-all\">");
out.println("<tr><td width=\"50\">编号</td>");
out.println("<td width=\"550\">" + id+ "</td></tr>");
out.println("<tr><td>姓名</td><td>" + name + "</td></tr>");
out.println("<tr><td>电话</td><td>" + phone + "</td></tr>");
out.println("<tr><td>email</td><td>" + email + "</td></tr>");
out.println("<tr><td valign=\"top\">主题</td><td>" + rs.getString("title") + " </td></tr>");
out.println("<tr><td valign=\"top\">内容</td>");
out.println("<td>" +content + "</td></tr>");
out.println(" </td></tr>");
out.println("</table><br>");
}
rs.close();
}

catch (Exception e){
e.printStackTrace();


}
finally {
conn.close();
}
out.println(" </body>");
out.println("</html>"); }

eclipse总是在红额</html>标签提示叫我加 } ,可是我加了还是有错,请老师们解答一下

[解决办法]
你再多家2个。
[解决办法]
你的try太多了,容易看不清,你又没排版,自己做好代码对齐就一清二楚了,习惯问题。
[解决办法]
代码删光重新写
1)注意要有缩进
2)一个方法里面代码不要太长 超过整个屏幕了就可以考虑吧一些代码在转化成方法了

[解决办法]
括号对上了,没环境调试不了,楼主自己看吧

Java code
public class showMessage extends HttpServlet {  /**  *  */  private static final long serialVersionUID = -102253422187482716L;  /**  * Constructor of the object.  */  public showMessage() {    super();  }  /**  * Destruction of the servlet. <br>  */  public void destroy() {    super.destroy(); // Just puts "destroy" string in log    // Put your code here  }  /**  * The doPost method of the servlet. <br>  *  * This method is called when a form has its tag value method equals to post.  *  * @param request the request send by the client to the server  * @param response the response send by the server to the client  * @throws ServletException if an error occurred  * @throws IOException if an error occurred  */  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    int result = 0;    String dbpath = "/WEB-INF/compay.accdb";    // --连接字符串    String url = "jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ dbpath;    Connection conn = null;    try {      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    } catch (ClassNotFoundException e) {      e.printStackTrace();    }    try {      conn = DriverManager.getConnection(url);    } catch (SQLException e) {      e.printStackTrace();    }    Statement statement;    try {      ResultSet rs = statement.executeQuery("select * from worker");      int id = rs.getInt(1);      String name = rs.getString(2);      int phone = rs.getInt(3);      String email = rs.getString(4);      String content = rs.getString(5);      while(rs.next()){        statement = conn.createStatement();        response.setContentType("text/html;charset=utf-8");        PrintWriter out = response.getWriter();        out.println("<html>");        out.println("<head><title>display messages</title></head>");        out.println("<body>");        out.println("<a href=\"" + request.getContextPath() + "/addMessage.htm\">添加新的留言内容</a><br>");        out.println("留言内容<br><br>");        try {          while (rs.next()) {            out.println("<table width=\"600\" border=\"1\" style=\"table-layout:fixed;word-break:break-all\">");            out.println("<tr><td width=\"50\">编号</td>");            out.println("<td width=\"550\">" + id+ "</td></tr>");            out.println("<tr><td>姓名</td><td>" + name + "</td></tr>");            out.println("<tr><td>电话</td><td>" + phone + "</td></tr>");            out.println("<tr><td>email</td><td>" + email + "</td></tr>");            out.println("<tr><td valign=\"top\">主题</td><td>" + rs.getString("title") + " </td></tr>");            out.println("<tr><td valign=\"top\">内容</td>");            out.println("<td>" +content + "</td></tr>");            out.println(" </td></tr>");            out.println("</table><br>");          }          rs.close();        }        catch (Exception e){          e.printStackTrace();        }        finally {          conn.close();        }        out.println(" </body>");      out.println("</html>"); }    }  }} 

读书人网 >跨浏览器开发

热点推荐