java - 如何从 servlet init 方法获取请求参数

标签 java servlets

我正在编写一个检索请求参数的 Servlet,但需要在 init 方法中使用它们。由于 init 方法将在 doGet 方法之前调用,并且 init 方法没有 HttpServletRequest 对象作为参数,我不知道如何获取请求参数。

public class OpenIdServlet extends HttpServlet 
{
    ...
    ...
    private OpenIdManager manager;

    @Override
    public void init() throws ServletException 
    {
        super.init();
        manager = new OpenIdManager();
        manager.setRealm("http://localhost:8080/OpenIDSample"); 
        manager.setReturnTo("http://localhost:8080/OpenIDSample/openid"); //I need to append the value of a request parameter here...
    }
    ...
    ...
}

所以问题是:有什么方法可以在 servlet 的 init() 方法中获取 HttpServletRequest 参数吗?如果没有,还有什么其他更好的方法可以解决这个问题?谢谢。

最佳答案

init 在启动时被调用一次。因此,您必须接受部分 returnTo,并在请求处理 (doGet/doPost) 时使用请求参数完成它。

事实上,管理器似乎依赖于请求,因此应该在请求中创建 - 永远不要作为字段。因为可能会有多个请求。也许作为 session 属性持续存在。

关于java - 如何从 servlet init 方法获取请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21079868/

相关文章:

java - 编译时出现一个或多个错误的NetBeans项目

java - 从 SD 卡中读取 .txt 并插入以编辑文本

android - 如何使用json从android客户端获取字节[]到servlet

java - 如何通过 tomcat 上的多个请求共享 AmazonSQS 连接?

java - 模拟 HTTPSession

java - 将 Quartz 代码迁移到 2.2.x

java - 什么是序列化及其工作原理

java - JPA : Create multiple parent, GAE 上的独生子女关系

java - servlet 实例如何工作?

java - 如何从服务器端代码(JSP 或 Servlet)读取客户端本地磁盘上的文件