gpt4 book ai didi

java - 找不到 request.getServletContext(),即使使用新的 JAR

转载 作者:太空狗 更新时间:2023-10-29 22:48:58 25 4
gpt4 key购买 nike

我的编译器无法找到 HttpServletRequest getServletContext() 方法。

我没有做任何太复杂的事情:

public static void setMySortedSet(HttpServletRequest request, SortedSet<String> set) 
{
setMySortedSet(request.getServletContext(), set);
}

我尝试过的一些故障排除:

  • 发现该方法是在 2.3 中创建的,所以我包含了一个反射(reflect)该方法的 JAR(并将其放在我的 Eclipse 构建路径中)
  • 我将 JAR 包含在我的 build.xml 类路径中。

当我使用 Eclipse 时,找到了方法,但是当我尝试构建类时,我看到了这个:

compile:
[javac] Compiling 1 source files to C:\...\workspace\proj\build\WEB-INF\classes
[javac] C:\...\workspace\proj\src\main\Helper.java:26: cannot find symbol
[javac] symbol : method getServletContext()
[javac] location: interface javax.servlet.http.HttpServletRequest
[javac] return getURISet(request.getServletContext());
[javac] ^
[javac] Note: C:\...\workspace\proj\src\main\Helper.java uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 error

关于我可能遗漏的任何想法?感谢您的回复。

最佳答案

getServletContext() 方法是在 Servlet 3.0 而不是 2.3 中引入的。但是如果你想获取 ServletContext 那么另一种获取它的方法是:

ServletContext context = request.getSession().getServletContext();

if (username != "" & username != null ) {
context.setAttribute("savedUserName", username);
}
writer.println("Context Parameter : " + (String)context.getAttribute("savedUserName"));

这样就可以在不同的浏览器中获取存储的请求参数值....

关于java - 找不到 request.getServletContext(),即使使用新的 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com