页面重定向到servlet,可以再由servlet请求转发吗

sunshiwu66 2012-04-15 10:46:26
页面重定向到servlet,可以再由servlet请求转发吗
...全文
55 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshiwu66 2012-04-15
  • 打赏
  • 举报
回复
经过多次跳转报错为:java.lang.IllegalStateException: Cannot forward after response has been committed
求高手指点:不胜感激!


一、注册检验servlet代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Md5code mc=new Md5code ();//MD5加密
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
UserOperateImpl io=new UserOperateImpl();
Userinfo ui=new Userinfo();
String username=request.getParameter("username");
String userpass=request.getParameter("userpass");
String confirm=request.getParameter("confirmpass");
String useremail=request.getParameter("email");
String code=(String)request.getSession().getAttribute("validateCode");
String codeshus=request.getParameter("codeshu");
String codeshu = URLDecoder.decode(codeshus, "UTF-8");
if(!codeshu.equals(null)&&!"".equals(codeshu)){
if(code.equals(codeshu)){
out.write("<font color='green'size='2'>"+"√"+"</font>");
if(!username.equals(null)&&!"".equals(username)){
if(!userpass.equals(null)&&!"".equals(userpass)){
if(userpass.equals(confirm)){
if(!useremail.equals(null)&&!"".equals(useremail)){
String memail=mc.getMD5ofStr(useremail);//MD5加密
String muserpass=mc.getMD5ofStr(userpass);//MD5加密
ui.setUsername(username);
ui.setUserpass(muserpass);
ui.setUseremail(memail);
try {

if(io.queryusername(ui)){
out.print("用户名已存在!");
}else if(io.queryuseremail(ui)){
out.print("邮箱已存在!");
}else{
boolean bl=io.saveObject(ui);
if(bl){
io.queryconfirm(ui);
request.getSession().setAttribute("userid", ui.getUserid());
request.getSession().setAttribute("user", username);
request.getRequestDispatcher("zhuceforward.jsp").forward(request, response);
//response.sendRedirect("zhuceforward.jsp");

}
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
}
}else{
out.write("<font color='red'size='2'>"+"验证码错误!"+"</font>");
}
}else{
out.write("<font color='red'size='2'>"+"请输入验证码!"+"</font>");
}

out.flush();
out.close();
}



二、
zhuceforward.jsp代码:
就是一秒后跳转功能:
<body >
<center>
<font color="red"> 注册成功!  <span id="totalSecond">1</span>秒后跳转</font>
</center>
<script type="text/javascript">
var second = document.getElementById("totalSecond").textContent;
if (navigator.appName.indexOf("Explorer") > -1)
{
second = document.getElementById("totalSecond").innerText;
} else
{
second = document.getElementById("totalSecond").textContent;
}


setInterval("redirect()", 1000);
function redirect()
{
if (second < 0)
{
window.location="Toindex";
} else
{
if (navigator.appName.indexOf("Explorer") > -1)
{
document.getElementById("totalSecond").innerText = second--;
} else
{
document.getElementById("totalSecond").textContent = second--;
}
}
}
</script>
</body>





三、servlet Toindex中代码:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
request.getRequestDispatcher("index.jsp").forward(request,response);
//response.sendRedirect("index.jsp");
}

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧