在java web app中找不到对象的实例化(响应,请求,应用程序)

时间:2015-08-17 09:54:24

标签: java eclipse web tomcat7

我必须处理其他人所做的java Web应用程序。由于我是java web开发的新手,我扫描了一些代码,偶然发现了一些实例化的对象,我无法找到它实例化的引用,即在.jsp页面中

    ...some includes
    UserFactory uf=null;

    if (application.getAttribute("userFactory") == null){
    ...
    strUser=request.getParameter("user");
    pw=request.getParameter("pw");
    ...

(注意application, request, response

现在我意识到它本来可以在一些包含中声明,我确实通过了它们但是找不到声明(虽然我可以监督它)。 现在的问题是: 这些对象是否以某种方式由tomcat全局实例化(如果是这样我可以在哪里找到),如果不是这样,那么如何在一个相当大的项目中找到它们(顺便说一句,我正在使用Eclipse JUNO)(即像eclipse的功能,以找到实例化),最好不要手动查看每一个包含。

2 个答案:

答案 0 :(得分:1)

在JSP中,这些变量称为“隐式对象”。在此处查找JSP中可用的所有隐式对象:http://docs.oracle.com/javaee/5/tutorial/doc/bnahq.html#bnaij

  

隐含物品

     

JSP表达式语言定义了一组隐式对象:

     
      
  • pageContext:JSP页面的上下文。提供对各种对象的访问,包括:      
        
    • servletContext:JSP页面的servlet的上下文以及同一应用程序中包含的任何Web组件。请参阅访问Web上下文。
    •   
    • session:客户端的会话对象。请参阅维护客户状态。
    •   
    • request:触发JSP页面执行的请求。请参阅从请求中获取信息。
    •   
    • 响应:JSP页面返回的响应。请参阅构建响应。
    •   
  •   
     

此外,还有几个隐式对象可以轻松访问以下对象:

     
      
  • param:将请求参数名称映射到单个值
  •   
  • paramValues:将请求参数名称映射到值数组
  •   
  • 标头:将请求标头名称映射到单个值
  •   
  • headerValues:将请求标头名称映射到值数组
  •   
  • cookie:将Cookie名称映射到单个Cookie
  •   
  • initParam:将上下文初始化参数名称映射到单个值
  •   
     

最后,有些对象允许访问使用范围对象中描述的各种范围变量。

     
      
  • pageScope:将页面范围的变量名称映射到其值
  •   
  • requestScope:将请求范围的变量名称映射到其值
  •   
  • sessionScope:将会话范围的变量名称映射到其值
  •   
  • applicationScope:将应用程序范围的变量名称映射到其值
  •   

答案 1 :(得分:0)

它们是servlet引擎为所有JSP页面提供的变量。使用servlet,您将HttpServletRequestHttpServletResponse传递给doXXX方法,并且它们在JSP处理期间也可用。