cannot find symbol: method getServletContext()

Description

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

Solution

The getServletContext() method is introduced in Servlet 3.0, not 2.3. But if you want to get the ServletContext then an alternative method to get it is:

1 ServletContext context = request.getSession().getServletContext();
2
3 if (username != "" & username != null ) {
4     context.setAttribute("savedUserName", username);
5 }
6 writer.println("Context Parameter : " + (String)context.getAttribute("savedUserName"));

This way you can get the stored Request Parameter Value in different browser....

Reference

时间: 2024-11-05 13:34:41

cannot find symbol: method getServletContext()的相关文章

IDEA找不到程序包 和 request.getServletContext()报错Cannot resolve method 'getServletContext()的解决方法

重新装了idea和down了项目却一直报错,在调用request.getServletContext()的方法时一直报Cannot resolve method 'getServletContext()的错误,网上查了好多方法,大多数都是在说是servlet3.0才可以支持此方法,而servlet3.0只有tomcat7以上版本才可以,我检查了我自己的tomcat发现就是3.0,最终找到原因 对于Maven项目要检查pom文件中的servlet引入的是哪个包,我原来写的是这个 <dependen

捉虫经历:weblogic 下调用 getServletContext() 方法报错

原来在 tomcat 下部署的应用没什么问题,今天部署到 weblogic 下,程序跑不起来了,报错信息如下: the method getServletContext() is undefined ps:我在jsp页面中调用了this.getServletContext() 方法,在 tomcat 下没问题,但部署在 weblogic 下就报错了. 在 google 搜索框中直接输入:weblogic the method getServletContext() is undefined 然后

hadoop-2.2.0编译

由于从官网下载的hadoop中依赖包 native hadoop library是基于32位版本的,在64位机器上安装,会出现以下错误: 2014-05-30 19:47:49,703 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: registered UNIX signal handlers for [TERM, HUP, INT]2014-05-30 19:47:49,887 WARN org.apache.hadoop.hdfs

Nexus 7 Cyanogenmod OS Compile and errors

Nexus 7 Hardware information The Nexus 7 comes with several types, genaration I and II,  sales in 2012 and 2013. The Gen1 and Gen2 have different Processor, one is the NVIDIA Tegra, another with QCT APQ8064.  These two type of devices, have different

方法的重写与重载

Java 重写(Override)与重载(Overload) 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 在面向对象原则里,重写意味着可以重写任何现有方法.实例如下: class Animal{ public void move(){ System.out.println("动物可以移动"); } } c

Java中的重写

以下内容引用自http://wiki.jikexueyuan.com/project/java/overriding.html: 如果一个类从它的父类继承了一个方法,如果这个方法没有被标记为final ,就可以对这个方法进行重写. 重写的好处是:能够定义特定于子类类型的行为,这意味着子类能够基于要求来实现父类的方法. 在面向对象编程中,覆盖方法意味着去重写已经存在的方法. 示例: 来看以下的例子: class Animal{ public void move(){ System.out.prin

Go语言之Doc 文档

对于协作开发或者代码共享来说,文档是一个可以帮助开发者快速了解以及使用这些代码的一个教程,文档越全面.越详细,入门越快,效率也会更高. 在Go语言中,Go为我们提供了快速生成文档以及查看文档的工具,让我们可以很容易地编写查看文档. Go提供了两种查看文档的方式:一种是使用go doc命令在终端查看.这种适用于使用VIM等工具在终端开发的人员,他们不用离开终端,既可以查看想查看的文档,又可以编码. 第二种方式,是使用浏览器查看的方式.通过godoc命令可以在本机启动一个Web服务,我们可以通过打开

Java Override/Overload

重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变.即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 在面向对象原则里,重写意味着可以重写任何现有方法.实例如下: class Animal{ public void move(){ System.out.println("动物可以移动"); } } class Dog extends Animal{ public

[Java] Override和Overload的使用规则和区别

重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写! 返回值和形参都不能改变.即外壳不变,重写内在实现! 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 在面向对象原则里,重写意味着可以重写任何现有方法.实例如下: class Animal{ public void move(){ System.out.println("Animal can move"); } } class Pig extends An