我写的用户注册的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);
}
}
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);
}
}
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);
}
到底进入到那个servlet里面没有呢
在servlet里面一步一步System.out.println打印信息看 能不能进入servlet if里面
你使用System.out.println(info);
多设几个打印点,查找一下!
看程序运行到哪个点停住的?
<?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"
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="31"> </td>
<td align="right">Email地址:</td>
<td height="50"><input type="text" name="email" />
<font color="#FF0000">(*必填项)</font> </td>
<td> </td>
</tr>
<tr>
<td height="31"> </td>
<td align="right">用户名:</td>
<td height="50"><input type="text" name="name" />
<font color="#FF0000">(*必填项)</font></td>
<td> </td>
</tr>
<tr>
<td height="34"> </td>
<td align="right">密码:</td>
<td height="50"><input type="password" name="psw1" />
<font color="#FF0000">(*必填项项) </font></td>
<td> </td>
</tr>
<tr>
<td height="35"> </td>
<td align="right">确认密码:</td>
<td height="50"><input type="password" name="psw2" /></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </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> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>