【问题标题】:how to link one html file to multiple servlets如何将一个html文件链接到多个servlet
【发布时间】:2016-03-23 11:16:06
【问题描述】:

您好,我正在设计一个简单的登录模块,其中包含用户名和密码,前端使用 HTML、CSS,后端使用 servlet。我正在使用 Netbeans 作为我的 IDE...

最初用户可以使用index.html 及其用户名和密码登录。问题是用户登录成功后(在logincheckservlet.java中后台数据库中的所有验证都成功)他/她被重定向到login.html。现在我想使用这个(登录的)用户的用户名在login.html 的后端 servlet 中执行另一个查询,但是我无法将用户名传递给我想要的 servlet,因为我已经在使用 requestDispatcher 重定向到登录。 html 如果登录验证成功...

我听说我可以使用 JSP 解决我的问题,但我不想这样做。

有没有其他方法可以解决这个问题?

int i=ps.executeUpdate();
if(i == 1)
{
  out.println("You are Successfully Logged In");
  RequestDispatcher rd = request.getRequestDispatcher("login.html");
  rd.forward(request, response);
}

【问题讨论】:

  • 您可以使用会话来存储用户并在应用程序的任何位置使用它

标签: java html servlets


【解决方案1】:

使用 Session 您可以轻松做到这一点。在 servlet 中获取用户名后,将值设置为如下所示的会话变量。

HttpSession session = request.getSession();
session.setAttribute("username", username);

然后通过下面的代码在任何地方使用它的会话变量

String user=session.getAttribute("username").toString();

【讨论】:

  • 我创建了会话。当我在另一个 servlet 中使用会话变量时,它说:即使我导入了所有必需的包,也找不到变量“会话”。
  • 知道了。它有帮助.. 谢谢
【解决方案2】:

您可以使用 servlet 链接。

public class FirstServlet extends HttpServlet {


  public void doGet(HttpServletRequest request , 
    HttpServletResponse response)
    throws ServletException , IOException {

    response.setContentType("text/plain");

    PrintWriter out = response.getWriter();

    name = request.getParameter("name");

    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher("/secondservlet");

    if(name!=null) {
      request.setAttribute("UserName",name);
      rd.forward(request , response);
      // Forward the value to another Secondservlet
    }
}

}

第二个 Servlet:

public class secondservlet extends HttpServlet {

  public void doGet(HttpServletRequest request , 
    HttpServletResponse response)
    throws ServletException , IOException {

    response.setContentType("text/plain");

    PrintWriter out = response.getWriter();

    String UserName = (String)request.getAttribute("UserName");

    out.println("The UserName is "+ UserName);

  }



}

【讨论】:

  • 我可以将表单的详细信息发送到多个 servlet 吗?
  • @SandeepA 是的,你可以
【解决方案3】:

我认为你可以在同一个html页面中为同一个html页面中的不同servlet编写多个表单。至于保存用户名和密码,你可以使用会话和cookie,它们可以被任何servlet读取项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 2019-08-29
    • 2015-05-05
    相关资源
    最近更新 更多