【问题标题】:Redirecting servlet to another html page将 servlet 重定向到另一个 html 页面
【发布时间】: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

标签: java html xml servlets mapping


【解决方案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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-17
        • 2022-06-16
        • 1970-01-01
        • 1970-01-01
        • 2015-03-09
        • 2021-01-08
        • 1970-01-01
        • 2021-06-27
        相关资源
        最近更新 更多