首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 跨浏览器开发 >

请大家改正servlet小程序 ,很简单的,但是小弟我初手所以不懂

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

请大家改正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>"); }    }  }} 

热点排行