request.getServletPath()

request.getRequestURI()

解决方案 »

  1.   

    我是在后台bean中,根本不存在request.还有没有其他的办法呢?
      

  2.   

    import java.sql.*;
    import java.io.*;
    import java.util.*;
    import javax.servlet.jsp.*;
    import java.io.IOException;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class outc {public outc() {
      }
     public void setout(JspWriter out)
      {
        try {
          out.println("<font size=12>hello</font>");
        }
        catch (IOException ex) {
        }
      }
     public void setOut(PageContext page)
     {
      HttpServletRequest request=(HttpServletRequest)page.getRequest();
      HttpServletResponse response=(HttpServletResponse)page.getResponse();
      JspWriter out=page.getOut();  try {
        out.println("<font size=12>hello</font>");
      }
      catch (IOException ex) {
      } }
     public void show(int ii,HttpServletRequest request, HttpServletResponse response)
     {
     try
     {
     java.io.PrintWriter pw = response.getWriter();
     pw.write(ii*ii);
     pw.close();
     }
     catch(Exception e)
     {
     System.out.println(e);
     }
     }
    }//在BEAN取request
      

  3.   

    To: Xiaoxiong511(小熊) 在bean直接写application.getRealPath();也不好用啊!
      

  4.   

    To: killerdanny(月影-月下轻舞剑 酒里怀过往) 对不起,我没有看懂你的东西,如果使用啊。
      

  5.   

    把bean换做一个tag library,他能读取servletContext的信息
      

  6.   

    可能大家想的复杂了,我的意思是这样:例如:我的web工程目录为d:/webapp,
    然后我在d:/webapp/web-inf目录下,放置了一个test.xml文件,当我运行我的web程序的时候,我要读取这个文件,但是我不能直接写File file = new File("d:\webapp\web-inf\test.xml")啊,我要用一个相对的路径(相对路径是相对于谁的,不同的方式运行程序都是一样的吗 ?)来读他,有什么直接点的办法吗?
      

  7.   

    相对路径是相对于application.getRealPath("")啊,把application对象传到bean里不得了,或者干脆在jsp里取application.get.....的路径传到bean里
      

  8.   

    public class InitialServlet extends HttpServlet {    /** Initializes the servlet.
         */
        public void init(ServletConfig config) throws ServletException{
    super.init(config);
    String syspath = config.getServletContext().getRealPath("/");
    System.out.println("web application 根目录实际路径是"+ syspath);
                    File webinf_folder = new File(sysfolder,"WEB-INF");
                    /*类推,得到你要的目录/文件,然后保存到某个application scope的变量中,或者放到自己的某个class的static变量中,以后随时调用*/
                    
    }}
      

  9.   

    这样的话,你在JSP里用application.getRealPath("")得到路径,传入到BEAN中就可以了
      

  10.   

    不需要传入一些参数(比如HttpServletRequest等),得到运行时类的包,下面的就不用说了吧。
      

  11.   

    getServletContext().getRealPath(""),试试看
      

  12.   

    dkt现給你分少点,你去顶一下我的jbx问题,我再把那个分給你。结贴了,dkt的才是我所需要的。