HttpServletRequest获取请求

时间:2016-09-29 19:38:51

标签: java

我真的需要帮助。我有一个login.jsp页面

<html>

<head></head>

<body>
  <form method="post" action="j_security_check">
    <table>
      <tr>
        <td>
          <input type="text" name="j_username" autofocus="autofocus" required="required" />
        </td>
      </tr>
      <tr>
        <td>
          <input type="password" name="j_password" required="required" />
        </td>
      </tr>
      <tr>
        <td>
          <input type="submit" value="Login" />
      </tr>
    </table>
  </form>
</body>

</html>

这是我的web.xml

                      所有页面              / *
                                MY_User                  

<security-role>
    <role-name>MY_User</role-name>
</security-role>

<login-config>
    <auth-method>FORM</auth-method>
     <realm-name>myRealm</realm-name>
    <form-login-config>
        <form-login-page>/login.jsp</form-login-page>
        <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
</login-config>

在我的过滤器中,我得到了校长。但不知怎的,当我进入我的主班。请求消失了!

如何将我的请求传递给另一个Java类?

1 个答案:

答案 0 :(得分:0)

1)根据您在注释中的查询,您可以通过使用HttpServlet类扩展它来将Command.java转换为servlet。然后,您可以访问Command.java类中的请求和响应对象。

2)将请求和响应对象传递给Command.java类的其他方法如下:
假设你有一个servlet MyServlet,你想从那里调用Command.java类的方法

public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    try{
        Command c =new Command();//object creation depends on your project. e.g you can create it using beans of spring
        c.doSomething(request, response);
    }catch(Exception e){
        e.printStackTrace();
    }
}
}

然后,您的Command类方法应具有以下参数:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Command {

    public void doSomething(HttpServletRequest request,HttpServletResponse response) {
        System.out.println("doing something");
    }
}

请记住,Servlet请求和响应只是一个简单java类的对象。它们不依赖于任何api之类的servlet,你可以将这些对象传递给任何java类,它们的属性将保持不变,无论它的servlet还是java类。