日期:2014-05-18  浏览次数:20577 次

为什么出现无法页面错误,找不到服务器!
我的数据库shequ,表为message,列名id,name,mail,message;数据类型依次是:int(4),nvarchar(25),nvarchar(30),text.
我定义了一个链接数据的sqlBean类,这个类没有问题,我用过很多次。
PostMsg.java类:
import shequ.sqlBean;
import java.io.*;
import java.sql.*;
import java.sql.ResultSet;
import javax.servlet.*;
import javax.servlet.http.*;
public class PostMsg extends HttpServlet
{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
String name=req.getParameter("name");
String mail=req.getParameter("mail");
String message=req.getParameter("liuyuan");
String action=req.getParameter("updata");
if("updata".equalsIgnoreCase(action))
{
Updata(req,res,name,mail,message);
res.sendRedirect("/虚拟社区/PostMsg.jsp");
}
}
public int Updata(HttpServletRequest req,HttpServletResponse res,String name,String mail,String message) throws ServletException,IOException
{
int num=0;
try
{
sqlBean db=new sqlBean();
String str="insert into message values('"+name+"','"+mail+"','"+message+"')";
num=db.executeInserte(str);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
return num;
}
}
HTML:
  <form name="form1" method="post" action="PostMsg">
  <input type="hidden" name="updata" value="updata">
<input name="name" (姓名)
<input name="mail"(E-mail)
<textarea name="liuyuan"(留言,也就是数据库的message)
servlet:
  </servlet>
  <servlet>
  <servlet-name>PostMsg</servlet-name>
  <servlet-class>PostMsg</servlet-class>
  </servlet>
我想问下,为什么我点form中的确定按钮提交form中的内容时,为什么不跳转到PostMsg.jsp,而是转到“找不到服务器,不能显示页面”的错误呢?难道是我的PostMsg.java写错了?

------解决方案--------------------
你用的跳转是get,还是post
------解决方案--------------------
form中注册的action有错误,地址应该为/PostMsg,并且在注册web.xml时不知道servlet-mapping 你注册了没
------解决方案--------------------
看你的web.xml中是否有下面的内容
<servlet-mapping>
<servlet-name>PostMsg</servlet-name>
<url-pattern>/PostMsg</servlet-class>
</servlet-mapping>

然后把你form中的方法改为get看下

------解决方案--------------------
...人家是跳转到PostMsg.jsp不是跳到PostMsg的servlet类中
action="PostMsg"----->action="PostMsg.jsp"试下