将 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 网格单元格值重定向到另一个页面?