在servlet中使用Jsp变量

在servlet中使用Jsp变量,jsp,servlets,Jsp,Servlets,servlet1 request.getSession().setAttribute("user", user.getUid()); request.getRequestDispatcher("home.jsp").forward(request,response); Jsp代码 <h5>Servlet communicated message to JSP: ${user} Please Select an image to upload</h5>

servlet1

request.getSession().setAttribute("user", user.getUid());
request.getRequestDispatcher("home.jsp").forward(request,response);
Jsp代码

<h5>Servlet communicated message to JSP: ${user}
     Please Select an image to upload</h5>   

<form action = "SaveInDBServlet" method = "GET"
         enctype = "multipart/form-data">
         <input type = "file" name = "filepath" size = "50" accept="image/*" />
         <br />
         <input type = "submit" value = "Submit" />

      </form>
Servlet将消息传递给JSP:${user}
请选择要上载的图像

用户值从servlet1发送到JSP 现在我需要将它从JSP传输到Servlet2。 我需要访问servlet 2中用户的值 如何做到这一点

$user是servlet发送的属性。1$user在此网页上打印值
现在为了进一步处理,必须将此变量发送到servlet2

首先让我从重载的
getSession()
方法开始解释。no arg
getSession()
总是返回一个新的
session
对象,该对象类似于
getSession(true)
,但在
getSession(false)
的情况下,它会检查现有会话,如果存在,则返回它,否则返回null

一旦您将属性设置为session,它将对用户可用,直到其会话可用(非空)或未
无效
,因此您的数据
用户
也将在JSP和servlet2中可用。但是,您用于为会话设置属性的方法是易受攻击的,因为
getSession()
还可以返回属性不存在的新会话

因此,安全的方法是将会话对象检索到引用,检查它是否为null,然后获取或设置属性

HttpSession session = request.getSession(false);
if(session != null) {
    //  set/get data whatever you need. Avoids NullPointerException
}
第二种方法是在
JSP
中使用隐藏属性,如下所示

<input type="hidden" name="user" value="<%=request.getAttribute("user") %>"/>
在JSP中执行此操作

<form action = "SaveInDBServlet" method = "GET"
     enctype = "multipart/form-data">
     <input type = "file" name = "filepath" size = "50" accept="image/*" />
     <br />
     <input type = "hidden" name= "user" value="${user}"/>
     <input type = "submit" value = "Submit" />

</form>

您必须通过GET或POST请求将其传递给servlet您可以提供一个代码段吗您提供了您试图从JSPI调用的代码servlet编辑了code@HeenaMittal不鼓励在servlet1中使用Scriptlet添加用户值的代码,而是使用JSTL。
<form action = "SaveInDBServlet" method = "GET"
     enctype = "multipart/form-data">
     <input type = "file" name = "filepath" size = "50" accept="image/*" />
     <br />
     <input type = "hidden" name= "user" value="${user}"/>
     <input type = "submit" value = "Submit" />

</form>
String username = request.getParameter("user");