在servlet和普通java类中如何获得HttpServletRequest实例??? 本帖最后由 ergherh 于 2010-07-01 14:40:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 servlet里参数直接有,普通类不行 我是在servlet的init() {}里调用的普通java类。而你说的public void service(ServletRequest request, ServletResponse responise){}在service方法里。请问我如何在init内获得request???然后取出request.getHeader("HOST")再传到普通java类里 首先在你的普通类你导入request和response然后再普通类的方法的第一和第二个参数分别为 request,response;这样,在你的普通类里就可以使用request和response对象了,并可以使用它们的方法。书写方法可参见servlet里的写法。来分啊,呵呵 你就是那个想通过servlet获取路径的人吧。看了你刚刚那个帖子了,你可以把路径作为String传过去啊。 哎,说了我是在init里调用的普通类,我的问题就是问如何才能在servlet的init内获得request对象??? web.xml <servlet> <servlet-name>...</servlet-name> <servlet-class>...</servlet-class> <init-param> <param-name>Url</param-name> <param-value>http://www.domin.com</param-value> </init-param> </servlet>servlet init();String domain_name = this.getServletConfig().getInitParameter("Url");Test test = new Test(domain_name);Test.java private String domain_name = "";public Test(String domain){ this.domain_name = domain;}public conUrl(){String url = this.domain_name + "/xxx/aaa.jsp";URL dU= new URL(url); InputStream in = dU.openStream()} 那我理解错了,Init不可能得到request对象的。 用人家这个吧,Init里面连servletContext都还是Null呢。只能找参数去。 init方法是服务器获得第一个到该servlet请求时候调用的,仅调用一次,你后面每次的请求都不会调用这个方法。请问你怎么获得request... WebContext ct=WebContextFactory.get(); ct.getHttpServletRequest()LZ 试试 WebContext 用这个需要导入什么包 ? 写错地方了,init可以的,我试试。 getContextPath()能得到你的工程名,剩下的自己拼可以么? public void init() throws ServletException { // Put your code here HttpServletRequest request; }不能直接这样写吗、Servlet里不能用HttpServletRequest对象?搞什么? getContextPath()得到的是文件的物理路径,而不是类似于localhost:8888/或http://www.xxx.com/这样的url路径,我是想得到jsp文件的执行结果,而不是文件本身的code内容 不会吧,this.getServletContext().getContextPath() 得到的是工程名吧。 啊,我也发愁如何获得HttpServletRequest ……………………………… 如何实现javaweb开发GIS。 JSP关于Map的一个神奇问题 struts中 出现 HTTP 400 - 错误请求 如何只存HH:mm格式的Date类型? HTTP Status 500错误?请教高手 删除表单记录的问题 急,在线等待 可能与环境有关! 用Javascript关闭窗口,如何能不弹出确认对话框? 学习jsp一头雾水,大伙帮忙理理 求弟求一个方法 HQL,DBC,SQL 对java的strusts一点疑惑
然后取出request.getHeader("HOST")再传到普通java类里
然后再普通类的方法的第一和第二个参数分别为 request,response;这样,在你的普通类里就可以使用request和response对象了,并可以使用它们的方法。
书写方法可参见servlet里的写法。
来分啊,呵呵
<servlet>
<servlet-name>...</servlet-name>
<servlet-class>...</servlet-class>
<init-param>
<param-name>Url</param-name>
<param-value>http://www.domin.com</param-value>
</init-param>
</servlet>servlet init();String domain_name = this.getServletConfig().getInitParameter("Url");
Test test = new Test(domain_name);Test.java private String domain_name = "";
public Test(String domain)
{
this.domain_name = domain;
}
public conUrl()
{
String url = this.domain_name + "/xxx/aaa.jsp";
URL dU= new URL(url);
InputStream in = dU.openStream()
}
那我理解错了,Init不可能得到request对象的。
用人家这个吧,Init里面连servletContext都还是Null呢。只能找参数去。
ct.getHttpServletRequest()
LZ 试试
写错地方了,init可以的,我试试。
// Put your code here
HttpServletRequest request;
}不能直接这样写吗、Servlet里不能用HttpServletRequest对象?搞什么?
不会吧,this.getServletContext().getContextPath() 得到的是工程名吧。