我有2个java类,我想在它们之间传输数据。
我将用户id作为前一个jsp表单中的参数,在java类中,使用setAttribute创建一个名为st_id的属性。
然后在另一个java clas中我想要检索这些数据,但我得到null.pointer异常。
第一个java文件;
public class Signin implements Action {
public String process(HttpServletRequest request, HttpServletResponse response) throws Exception {
Student stu = new StDAO().getUser(request.getParameter("st_id").toString());
request.setAttribute("st_id", request.getParameter("st_id").toString());
...
第二;
public class addCourseStu implements Action{
@Override
public String process(HttpServletRequest request, HttpServletResponse response) throws Exception {
TakeCourseDAO pf = new TakeCourseDAO();
String s= (String) request.getAttribute("st_id");
所以s为空,这不是我的意图。
答案 0 :(得分:0)
目前还不完全清楚你想要做什么,但我认为你想在两个请求之间维持服务器上的某些状态吗?
查看会话和&饼干。
你在这里做的很奇怪,因为你似乎在第一个文件中的传入请求上设置了一个属性。
答案 1 :(得分:0)
从Web浏览器将Web服务器发送到Web服务器直到Web服务器(通过Servlet)发出响应时,存在一个请求。对servlet的每个请求都有自己的accessibilty范围。从servlet中,您可以:
您可以尝试适合您的会话范围或应用范围等替代方案