ServletContext的问题

onizuka5211 2004-03-22 03:41:06
我想获得一个文件的路径,于是这样写
public String[] getPar(PageContext context)
{
String path=context.getRequest().getRealPath("test.txt");
}

这样式能够得到文件的路径的,没有问题

但是这样要从jsp页面中传递一个pageContext
如:test.jsp
String[] str=test.getPar(pageContext);


我现在不想从页面里传递pageContext,想在Bean中得到ServletContext
这么写:
ServletContext context=getServletContext();

这样显示null异常,请问这是怎么回事啊!!急





...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
steven_cheng 2004-03-25
  • 打赏
  • 举报
回复
没办法直接用ServletContext.我觉得我写的很清楚了.
onizuka5211 2004-03-25
  • 打赏
  • 举报
回复
怎么在bean中直接用区Context呢?
ddadoris 2004-03-25
  • 打赏
  • 举报
回复
up
seaman0916 2004-03-25
  • 打赏
  • 举报
回复
遇到同样的问题!
steven_cheng 2004-03-23
  • 打赏
  • 举报
回复
package com.abc.servlet;

public class MainServlet extends HttpServlet {


/**
* init system. include init JDBC connection pool,Log4J,MVC Mapping,
* and so on
* @throws ServletException
*/
public void init()
throws ServletException {
super.init();
String path = super.getServletContext().getRealPath("/");
String homepath = path.replace('\\','/');
GlobalNames.HOMEPATH = homepath;


System.out.println("System Start successful!");
}


}

public class GlobalNames{
public static String HOMEPATH;
}

web.xml
<servlet>
<servlet-name>main</servlet-name>
<servlet-class>com.abc.servlet.MainServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

一共3个文件.Servlet在init方法中取得web程序部署的根路径,并且放入 GlobalNames.HOMEPATH中
在web.xml中<load-on-startup>1</load-on-startup>表示web Server启动时载入Servlet,这样,以后你可以调用GlobalNames.HOMEPATH得到这个根路径
onizuka5211 2004-03-23
  • 打赏
  • 举报
回复
虽然我是要一个文件的路径,但是我不想和页面交互,怎么处理啊
steven_cheng 2004-03-22
  • 打赏
  • 举报
回复
ServletContex是Servlet被载入的时候由Servlet Server设置的内容。所以你在Bean里面不可能得到。你不就要一个路径吗,从Servlet取出来放入一个静态变量中不就行了
onizuka5211 2004-03-22
  • 打赏
  • 举报
回复
楼上说的我不太懂。。
JetGeng 2004-03-22
  • 打赏
  • 举报
回复
你把ServletContex当成一个属性存入Bean中,并把这个Bean设成Session或其他更大得范围就可以得到了啊。我想是的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧