将 servlet 重定向到另一个 html 页面

Posted

技术标签:

【中文标题】将 servlet 重定向到另一个 html 页面【英文标题】:Redirecting servlet to another html page 【发布时间】:2015-01-17 07:39:47 【问题描述】:

我有两个 html 页面 - 一个用于登录,一个用于接收个人详细信息。登录页面是第一页,当检查数据库的用户名和密码时,允许用户输入他们的详细信息。 SQL 代码完美运行,这只是我所拥有的映射的问题。顺便说一句,我正在使用 Tomcat 服务器。任何人都可以帮助或发现我做错了什么吗?

这是我用于登录和输入详细信息的 java 代码

public class Details extends HttpServlet 

private Connection con;

public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 

  res.setContentType("text/html");
  //return writer
  PrintWriter out = res.getWriter();   

  String username = req.getParameter("username");
  String password = request.getParameter("password");

  out.close();

  try 
    login(username, password);
   catch (Exception e) 
    // TODO Auto-generated catch block
    e.printStackTrace();
  

  res.sendRedirect("/redirect.html"); 

   String name = request.getParameter("name");
   String address = request.getParameter("address");
   String age = request.getParameter("age");

    out.println("<HTML><HEAD><TITLE>Personnel Details</TITLE></HEAD><BODY>");
    out.println(name + address + age);
    out.println("</BODY></HTML>");
    System.out.println("Finished Processing");


out.close();



在我的 web.xml 文件中,我有:

<web-app>

  <servlet>
    <servlet-name>Details</servlet-name>
    <servlet-class>Details</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>Details</servlet-name>
    <url-pattern>/Details</url-pattern>
  </servlet-mapping>

 <servlet-mapping>
<servlet-name>redirect</servlet-name>
<url-pattern>/redirect</url-pattern>

【问题讨论】:

你能告诉我,你的redirect.html页面的位置是什么。 @amit4497 redirect.html 与 index.html 位于同一位置 -C:\Users\MyName\Downloads\apache-tomcat-8.0.14\webapps\details 【参考方案1】:

重定向到 HTML

RequestDispatcher ds = request.getRequestDispatcher("index.html");
ds.include(request, response);

【讨论】:

【参考方案2】:

你可以试试这个:

response.sendRedirect("redirect.html");

response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", "redirect.html");

另一种方式,

ServletContext sc = getServletContext();
sc.getRequestDispatcher("/redirect.html").forward(request, response);

【讨论】:

【参考方案3】:

你可以使用

1.response.sendRedirect("redirect.html")

2.String path= "/redirect";

RequestDispatcher dispatcher =servletContext().getRequestDispatcher(path);

dispatcher.forward(request,response);

【讨论】:

以上是关于将 servlet 重定向到另一个 html 页面的主要内容,如果未能解决你的问题,请参考以下文章

如何将从 Ajax 请求收到的响应重定向到另一个 html 页面

如何将 Dojo Data 网格单元格值重定向到另一个页面?

表单提交后PHP重定向到另一个页面

重定向到另一个网页

如何使用 jQuery 或仅使用 Javascript 将按钮重定向到另一个页面

为啥我的代码不会从一个 html 页面重定向到另一个页面?