我已导入以下内容 import javax.servlet.http。*;
我想获得首选语言浏览器
HttpServletRequest request = ServletActionContext.getRequest();
Locale userPreferredLocale = request.getLocale();
我收到错误HttpServletRequest无法解析。
如果可能的话,有人可以帮助我并给我一步一步的指导。我不是一个java开发人员,而是一个.net,只是修复了一个bug。
非常感谢
答案 0 :(得分:9)
javax.servlet.http包是servlet API的一部分。相关的jar可以在Java EE容器(例如Sun的Glassfish)或独立的servlet容器(例如Apache的Tomcat)中找到。基本上,这些是Java Web服务器。
为了编译依赖于它的代码,您必须将servlet库添加到依赖项中。具体如何完成取决于您使用的工具。
您是否正在构建Web应用程序? (预期输出是.war还是.ear文件?)源是否捆绑了build.xml
(可能是Ant版本),任何pom.xml
个文件(可能是{{3} })或任何.project/.classpath
文件(可能是Maven项目)?
情景就是这样。 Asp.net 1.1在调用webservice的页面上有一个javaapplet。 Javaapplet应该在.net中检测用户首选语言你做HttpContext.Current.Request.UserLanguages [0]所以我问,显然在java中等价的是request.getLocale();
好的,不理我上面所说的。要在Applet中获取Eclipse,我想您只需使用:
Locale userLocale = Locale.getDefault();
在Java Web服务器上,您将使用request.getLocale()
从HTTP请求中获取用户的区域设置。小程序在客户端上运行。
答案 1 :(得分:1)
看起来你正在使用Struts2。有两种方法可以访问HttpServletRequest对象
鉴于(1)是首选方法,我建议您尝试这样做,更多细节here。
<强>更新强> 根据您添加的评论,您似乎并未实际使用Struts。您在服务器端使用.Net,在客户端使用Java Applet。如果是这种情况,尝试使用Servlet或Struts2 API是没有意义的,因为它们只是服务器端
鉴于你已经知道如何在.Net服务器端获得用户的首选语言,我不明白为什么你不这样做呢?
答案 2 :(得分:1)
您可以执行以下操作:在您的类中导入jar文件:
import javax.servlet.http.HttpServletResponse
添加Apache Tomcat库如下:
项目&gt;属性&gt; Java构建路径&gt;图书馆&gt;从库选项卡添加库&gt;选择服务器运行时&gt;下一个&gt;选择Apache Tomcat v 6.0&gt;完成&gt;确定
同样首先,确保Servlet jar包含在eclipse中的类路径中,PermGenError
表示。
答案 3 :(得分:0)
编译源代码时,需要将包含servlet类的jar添加到类路径中。一种方法是使用-cp标志:
javac -classpath lib/servlet.jar MyClass.java
答案 4 :(得分:0)
要在Applet中获取Locale,请使用继承的getLocale()方法。
示例:
public class MyApplet extends Applet {
public void doStuff() {
Locale locale = getLocale();
// Now you can work with that.
}
}
答案 5 :(得分:0)
javax.servlet.http和所有类相关的servlet上下文和servlet编程只与您的Servlet容器相关。因此,请停止对其他任何事情的担心,并检查Tomcat库是否包含在您的WEB-APP类路径中。
如果没有添加它们,一切都会好的。
右键单击您的项目&gt;属性&gt;添加库&gt;服务器运行时
并选择与您的应用程序关联的服务器。
你完成了,这将包括你的项目的Servlet容器库和HttpServletRequest&amp; HttpServletResponse类将被解析。
希望它有所帮助,可以找到有关Servlet架构和上下文的更多信息Here.
答案 6 :(得分:0)
我收到此消息“导入javax.servlet.http.HttpSession无法解析” 将我的Web应用程序部署到Glassfish 4.0 Server时(在Eclipse IDE上)。 然后我尝试了这些步骤:
工作正常..