我写的用户注册的servlet,当注册成功时就把它转发到另一个页面,但是我一提交时就是一张空白的页面,不知道是哪里有问题,请各位高手帮我看看,我的servlet的代码如下
package servlet.myservlet;
import javabean.mybean.*;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Registerservlet extends HttpServlet{
public void init(ServletConfig config)throws ServletException{
super.init(config);
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(Exception e){System.out.println(e.getMessage());}
}
public String HandleString(String s){
try{byte bb[]=s.getBytes("ISO-8859-1");
s=new String(bb);}catch(Exception e){}
return s;
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
Connection conn;
PreparedStatement pstate;
String backnews;
String name=request.getParameter("name");
String psw1=request.getParameter("pws1");
String psw2=request.getParameter("pws2");
String email=request.getParameter("email");
Register reg=new Register();
request.setAttribute("register",reg);
try{
conn=DriverManager.getConnection("sun:jdbc:odbc:db");
String sql="insert into member values(?,?,?)";
pstate=conn.prepareStatement(sql);
if(name.length()<=0||psw1.length()<=0||psw2.length()<=0||email.length()<=0){
backnews="名字,密码,邮箱不能为空";
reg.setBacknews(backnews);
RequestDispatcher dis=request.getRequestDispatcher("wrong.jsp");
dis.forward(request,response);}
else if(!(psw1.equals(psw2))){
backnews="两次输入的密码不相同";
reg.setBacknews(backnews);
RequestDispatcher dis=request.getRequestDispatcher("wrong.jsp");
dis.forward(request,response);
}
else{
pstate.setString(1,HandleString(name));
pstate.setString(2,HandleString(psw1));
pstate.setString(3,HandleString(email));
int m=pstate.executeUpdate();
if(m!=0){
backnews="注册成功";
reg.setBacknews(backnews);
reg.setName(HandleString(name));
reg.setPassword(HandleString(psw1));
reg.setEmail(HandleString(email));
RequestDispatcher dis=request.getRequestDispatcher("wrong1.jsp");
dis.forward(request,response);
}
else{
backnews="注册不成功";
reg.setBacknews(backnews);
RequestDispatcher dis=request.getRequestDispatcher("wrong.jsp");
dis.forward(request,response);
}}
}catch(Exception e){}}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
doGet(request,response);
}
}

解决方案 »

  1.   


    public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{ 
    Connection conn; 
    PreparedStatement pstate; 
    String backnews; 
    String name=request.getParameter("name"); 
    String psw1=request.getParameter("pws1"); 
    String psw2=request.getParameter("pws2"); 
    String email=request.getParameter("email"); 
    Register reg=new Register(); 
    try{ 
    conn=DriverManager.getConnection("sun:jdbc:odbc:db"); 
    String sql="insert into member values(?,?,?)"; 
    pstate=conn.prepareStatement(sql); 
    if(name.length() <=0||psw1.length() <=0||psw2.length() <=0||email.length() <=0){ 
    backnews="名字,密码,邮箱不能为空"; 
    reg.setBacknews(backnews); 

    else if(!(psw1.equals(psw2))){ 
    backnews="两次输入的密码不相同"; 
    reg.setBacknews(backnews);  

    else{ 
    pstate.setString(1,HandleString(name)); 
    pstate.setString(2,HandleString(psw1)); 
    pstate.setString(3,HandleString(email)); 
    int m=pstate.executeUpdate(); 
    if(m!=0){ 
    backnews="注册成功"; 
    reg.setBacknews(backnews); 
    reg.setName(HandleString(name)); 
    reg.setPassword(HandleString(psw1)); 
    reg.setEmail(HandleString(email)); 

    else{ 
    backnews="注册不成功"; 
    reg.setBacknews(backnews); 

    request.setAttribute("register",reg); 
    if("注册成功".equals(backnews)){
       RequestDispatcher dis=request.getRequestDispatcher("wrong1.jsp"); 
       dis.forward(request,response); 
    }else{
       RequestDispatcher dis=request.getRequestDispatcher("wrong.jsp"); 
       dis.forward(request,response); 
    }
      

  2.   

    有没有进到这个servlet里面去?不能确定,在你的servlet里面多搞几行System.out.println打印信息!或者直接debug。
      

  3.   

    一提交时就是一张空白的页面
    到底进入到那个servlet里面没有呢
    在servlet里面一步一步System.out.println打印信息看 能不能进入servlet if里面
      

  4.   

    没有进入到那个servlet,我看了几遍也没发现有什么问题
      

  5.   

    在web.xml中配置servlet的url,在jsp页面中用这个url访问。
      

  6.   

    很明显是:servlet 转向的页面URL未定义, 
    你使用System.out.println(info); 
    多设几个打印点,查找一下!
    看程序运行到哪个点停住的?
      

  7.   

    试了,根本就没有进入servlet,这是我的web.xml的配置
    <?xml version="1.0" encoding="gb2312"?>
    <web-app>
    <servlet>
    <servlet-name>reg</servlet-name>
    <servlet-class>servlet.myservlet.Registerservlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>reg</servlet-name>
    <url-pattern>/register</url-pattern>
    </servlet-mapping>
    </web-app>
    我的表单的action="register"
      

  8.   

    <form id="form1" name="form1" method="post" action="register">
          <table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td height="31">&nbsp;</td>
              <td align="right">Email地址:</td>
              <td height="50"><input type="text" name="email" /> 
                <font color="#FF0000">(*必填项)</font>      </td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td height="31">&nbsp;</td>
              <td align="right">用户名:</td>
              <td height="50"><input type="text" name="name" /> 
                <font color="#FF0000">(*必填项)</font></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td height="34">&nbsp;</td>
              <td align="right">密码:</td>
              <td height="50"><input type="password" name="psw1" /> 
                <font color="#FF0000">(*必填项项) </font></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td height="35">&nbsp;</td>
              <td align="right">确认密码:</td>
              <td height="50"><input type="password" name="psw2" /></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td height="50"><input type="image" src="file:///D|/tomcat/Tomcat 6.0/webapps/netbook/WEB-INF/classes/class/images/按钮.jpg" alt="submit" /></td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
          </table>
        </form>