为什么我在完成注册功能的时候,它把数据插入数据库了,但是它不弹出对话框说“注册成功”,而是会弹出一个迅雷下载的窗口?希望大家帮帮忙!!以下是注册时的一个servlet处理类
package com.handson.control.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.handson.model.dao.UserDAO;
import com.handson.model.vo.UserVO;public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void destroy() {
super.destroy();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { } public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
int usersex=0;
if(sex.equals("male")){
usersex=1;
}else if(sex.equals("female")){
usersex=0;
}
String email=request.getParameter("email");
String userdate=request.getParameter("userdate");
PrintWriter out = response.getWriter();
UserVO uservo=new UserVO();
uservo.setUser_name(username);
uservo.setUser_password(password);
uservo.setUser_sex(usersex);
uservo.setUser_mail(email);
uservo.setUser_date(userdate);
UserDAO udao=new UserDAO();
int nameflag=udao.checkUserName(uservo);
if (nameflag == 1) { out.println("<script language='javascript'>alert('用户名已被注册');window.location='register.jsp'</script>");
} else {
int userflag = udao.insertUser(uservo);
if (userflag == 1) {
out.println("<script language='javascript'>alert('注册成功');window.location='IndexServlet'</script>");
} else {
out.println("<script language='javascript'>alert('注册失败');window.location='register.jsp'</script>");
}
}
out.flush();
out.close();
}
}
package com.handson.control.servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.handson.model.dao.UserDAO;
import com.handson.model.vo.UserVO;public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void destroy() {
super.destroy();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { } public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username=request.getParameter("username");
String password=request.getParameter("password");
String sex=request.getParameter("sex");
int usersex=0;
if(sex.equals("male")){
usersex=1;
}else if(sex.equals("female")){
usersex=0;
}
String email=request.getParameter("email");
String userdate=request.getParameter("userdate");
PrintWriter out = response.getWriter();
UserVO uservo=new UserVO();
uservo.setUser_name(username);
uservo.setUser_password(password);
uservo.setUser_sex(usersex);
uservo.setUser_mail(email);
uservo.setUser_date(userdate);
UserDAO udao=new UserDAO();
int nameflag=udao.checkUserName(uservo);
if (nameflag == 1) { out.println("<script language='javascript'>alert('用户名已被注册');window.location='register.jsp'</script>");
} else {
int userflag = udao.insertUser(uservo);
if (userflag == 1) {
out.println("<script language='javascript'>alert('注册成功');window.location='IndexServlet'</script>");
} else {
out.println("<script language='javascript'>alert('注册失败');window.location='register.jsp'</script>");
}
}
out.flush();
out.close();
}
}
out.println(" <script language='javascript'>alert('注册成功');window.location='IndexServlet' </script>");
先把window.location='IndexServlet' </script>");去掉试试 能否弹出 注册成功 的提示信息,在看下你的 IndexServlet里面写了啥?
response.setContentType("text/html;charset=gb2312");
问题就解决了。因为你没有告诉servlet要以什么格式输出。