response.sendRedirect 在Servlet中跳转到一个网页,怎么实现?

ijse 2009-08-06 10:10:02
我用
resp.sendRedirect("./helloworld/index.html");

没有办法实现,错误提示:
严重: Servlet.service() for servlet loginServlet threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
at loginServlet.doPost(loginServlet.java:37)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)


在网上查,可能是由于 我使用了response.getWriter();的原因...

我只想在一个Servlet类中打开另一个网页,怎么实现?谢谢!!
...全文
690 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ijse 2009-08-08
  • 打赏
  • 举报
回复
哦..谢谢楼上..
sangshusen_1988 2009-08-06
  • 打赏
  • 举报
回复
再输出window.location.href=yoururl;
zl3450341 2009-08-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 iijse 的回复:]
但是我想先弹出一个提示框,就是执行一段JAVASCRIPT代码,然后再转向,怎么实现?
[/Quote]

页面用js
点击提交Button按钮onclick 触发js

ijse 2009-08-06
  • 打赏
  • 举报
回复
但是我想先弹出一个提示框,就是执行一段JAVASCRIPT代码,然后再转向,怎么实现?
ijse 2009-08-06
  • 打赏
  • 举报
回复
哦...找到原因了.是这句有问题:
resp.sendRedirect("javascript:alert('用户名不存在!!');");

ijse 2009-08-06
  • 打赏
  • 举报
回复
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class loginServlet extends HttpServlet{

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");

ConnSql conMyData = new ConnSql();
String username = req.getParameter("UserName");
String password = req.getParameter("PassWord");

ResultSet rs = null;
rs = conMyData.executeQuery("select * from users where dbusername='" + username +"'");

resp.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
try
{
if(rs.next())//如果用户名存在
{
if(password.equals(rs.getString("dbpassword")))
{
resp.sendRedirect("loginSuccess.html");
return;
}else
{
resp.sendRedirect("javascript:alert('密码错误!!');");
resp.sendRedirect("index.html");
return;
}
}else
{
resp.sendRedirect("javascript:alert('用户名不存在!!');");
resp.sendRedirect("index.html");
return;
}
}catch(SQLException e)
{
e.printStackTrace();
}finally
{
try
{
if(rs != null)
{
rs.close();
rs = null;
}
conMyData.close();
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
}


Shen_JC 2009-08-06
  • 打赏
  • 举报
回复
把代码贴出来呢!
sangshusen_1988 2009-08-06
  • 打赏
  • 举报
回复
使用getWriter()之后好像不能再去跳转了
ijse 2009-08-06
  • 打赏
  • 举报
回复
在线等啊...

67,515

社区成员

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

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