关于Servlet 开发的出现的错误?谁能帮我看看:在这先谢谢了!!!!
程序有5个文件分别是 :
/*AddMessageServlet.java*/
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.sql.Connection;
import java.util.*;
import java.io.*;
import java.io.IOException;
public class AddMessageServlet extends HttpServlet
{
private Connection conn;
//接受GET请求,执行数据库操作,把试图派发到下一个页面
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
//接受请求的参数
String name = request.getParameter("name");
String mail = request.getParameter("mail");
String title = request.getParameter("title");
String content = request.getParameter("content");
if(name==null)
name="";
if(mail==null)
mail = "";
if(title==null)
title = "";
if(content==null)
content = "";
try
{
PreparedStatement stm = conn.prepareStatement("insert into message values(?,?,?,?,?)");
stm.setString(1,title);
stm.setString(2,name);
if(mail.length()==0)
stm.setString(5,null);
else
stm.setString(5,mail);
stm.setDate(3,new java.sql.Date(new java.util.Date().getTime()));
stm.setString(4,content);
try
{
stm.executeQuery();
}catch(Exception e)
{
e.printStackTrace();
}
//把 试图派发到目标
RequestDispatcher requestDispatcher = request.getRequestDispatcher("ViewMessageServlet");
requestDispatcher.forward(request,response);
}catch(Exception e)
{
e.printStackTrace();
}
}
//doPost 请求处理
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
doGet(request,response);
}
//创建数据库连接
public AddMessageServlet()
{
String classname = "sun.jdbc.odbc.JdbcOdbcDriver";
String strdb = "jdbc:odbc:message";
String name = "xiaoshitou";
String pwd = "80248024";
try
{
Class.forName(classname);
conn = DriverManager.getConnection(strdb,name,pwd);
//System.out.println("注册成功");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
————————————————————————————————————————————————
/*ViewMessageServlet.java*/
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import javax.servlet.ServletRequest;
public class ViewMessageServlet extends HttpServlet
{
private Connection conn;
//接受Get的请求。执行数据库操作,保存到request中,
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
Collection ret =new ArrayList();
try
{
Statement stm = conn.createStatement();
ResultSet result = stm.executeQuery("select count(*)from message");
int message_count = 0;
if(result.next())
{
message_count = result.getInt(1);
result.close();
}
if(message_count>0)
{
result = stm.executeQuery("select * from message order by time desc");
while(result.next())
{
String title = result.getString("title");
String name = result.getString("name");
String mail = result.getString("mail");
String content = result.getString("content");
java.sql.Date Date = result.getDate("time");
MessageVO message = new MessageVO();
message.setName(name);
message.setTitle(title);
message.setContent(content);
message.setDate(Date);
message.setEmail(mail);
ret.add(message);
}
result.close();
stm.close();
}
//保存执行结果,把试图派发到目标
request.setAttribute("message",ret);
//RequestDisPatcher requestDisPatcher = request.getRequestDispatcher("/jsp_servlet_javabean/viewMessage.jsp");
// requestDisPatcher.forward(request,response);
getServletConfig().getServletContext().getRequestDispatcher("/jsp_servlet_javabean/viewMessage.jsp").forward(request,response);
}catch(Exception e)
{
e.printStackTrace();
}
}
//初始化到数据库的连接
public ViewMessageServlet()
{
String classname = "sun.jdbc.odbc.JdbcOdbcDriver";
String strdb = "jdbc:odbc:message";
String name = "xiaoshitou";
String pwd = "80248024";
try
{
Class.forName(classname);
conn = DriverManager.getConnection(strdb,name,pwd);
}catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
{
doGet(request,response);
}
}
————————————————————————————————————————————