当前位置: 首页 > 知识库问答 >
问题:

如何在页面加载时从jsp页面调用servlet?

詹杰
2023-03-14

我想在加载aboutme时调用servlet GetUserData。jsp页面。

基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。

它设置了一个会话变量,因此它不需要调用任何东西,只需在页面加载时继续使用servlet。

@WebServlet("/GetUserData")
public class GetUserData extends HttpServlet {
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        HttpSession session = request.getSession(); 
        String login=(String)session.getAttribute("login"); 
        Profile profile = new Profile();
        Object[] userData = profile.getData(login);
        session.setAttribute("name",userData[0]);  
        session.setAttribute("surname",userData[1]); 
        session.setAttribute("password",userData[3]);
        session.setAttribute("address",userData[4]);
        session.setAttribute("acc_type",userData[5]);
        session.setAttribute("org",userData[6]);
        RequestDispatcher rs = request.getRequestDispatcher("aboutme.jsp");
        rs.include(request, response);
    }  
}

这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。

最后,在JSP页面上,我想使用先前声明的会话变量将所有信息(如登录名、密码等)打印到表中。

如何调用此servlet,使其在页面加载时运行?

我已经尝试使用forward选项和

<jsp:include page="/GetUserData" />

选项,但Eclipse由于路径错误而返回eror。

至于最后的结果,我打算这样做:

<tr>
    <td>Name</td>
    <td><input class="form-control" id="disabledInput" type="text" name="name" value="<% out.println((String)session.getAttribute("name")); %>" readonly></td>
</tr>

感谢任何帮助。

共有1个答案

邴景山
2023-03-14

如果您只需要设置一个会话变量,为什么不在您的jsp页面中使用脚本,例如:

<%session.setAttribute("attrName", attribute);%>
 类似资料:
  • 我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此不需要调用任何东西,只需在页面加载时继续使用servlet即可。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用之前声明的会话变量将所有信息(如登录名、密码等)打印到表中

  • 问题内容: 是否可以在不使用HTML表单的情况下从JSP文件调用servlet? 例如,在页面加载期间在HTML表中显示数据库的结果。 问题答案: 你可以使用doGet()servlet 的方法来预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。 例如 请注意,JSP文件放置在/WEB-INF文件夹内,以防止用户无需调用servlet即可

  • 谁能告诉我,除了RequestDispatcher之外,是否还有其他方法可以从我的servlet调用jsp页面?因为我试了很多都没有成功。 我的servlet工作正常,从JSP中恢复了所有数据。我所需要的只是在用户正确输入用户名和密码时被重定向到另一个页面。 我要为其重定向的jsp

  • 问题内容: 传统上,要在页面加载后调用JavaScript函数,您需要在包含一些JavaScript的正文中添加一个属性(通常只调用一个函数) 页面加载后,我想运行一些JavaScript代码以使用服务器中的数据动态填充页面的某些部分。因为我使用的是JSP片段,所以我无法使用该属性,而JSP片段没有可以添加属性的元素。 还有其他方法可以在加载时调用JavaScript函数吗?我宁愿不使用jQuer

  • 问题内容: 我有一个PHP include,它需要一段时间才能加载,因为PHP必须获取很多数据。我不想放慢整个网页的加载,以等待包含此内容,那么如何使用ajax加载该包含内容呢?我不希望通过单击按钮来触发Ajax,而只是希望它在页面加载时加载包含,因此,如果您查看下面的示例,则会在显示内含代码的同时显示“更多HTML内容”。 php仍在加载中。 问题答案: 如果您使用的是jQuery,则可以使用他

  • 问题内容: 我正在将React与Firebase一起使用来开发一个小型Web应用程序。为了进行身份验证,我使用了上下文API,并且在上下文中添加了登录用户的详细信息。 AuthProvider.tsx AuthConsumer.tsx PrivateRoute.tsx App.tsx 用户已经登录,并且会话持久性设置为本地。问题是,当我尝试本地主机/订阅(这是一条私有路由)时,context.is