使用request.setParameter,request.getParameter传递数据btw类

时间:2014-08-26 13:54:47

标签: java servlets

我有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为空,这不是我的意图。

2 个答案:

答案 0 :(得分:0)

目前还不完全清楚你想要做什么,但我认为你想在两个请求之间维持服务器上的某些状态吗?

查看会话和&饼干。

你在这里做的很奇怪,因为你似乎在第一个文件中的传入请求上设置了一个属性。

答案 1 :(得分:0)

从Web浏览器将Web服务器发送到Web服务器直到Web服务器(通过Servlet)发出响应时,存在一个请求。对servlet的每个请求都有自己的accessibilty范围。从servlet中,您可以:

  1. 将新属性添加到请求的范围
  2. 从请求的范围中获取现有属性
  3. 从请求的范围中删除现有属性 当您获得null时,很明显在范围内不访问该属性。
  4. 您可以尝试适合您的会话范围或应用范围等替代方案