application jsp内置对象

转载 2013年12月06日 11:49:11


 


application是javax.servlet.ServletContext接口的实例,实际上表示的是整个Servlet的上下文。

application对象的常用方法:


 

以上方法是application的特色方法,当然,除了以上的三个方法之外,对于属性的增加、取得和删除也有其应用的,setAttribute()、getAttribute()、removeAttribute()。

我们来一块学习表格中的三个方法。

取得绝对路径

取得一个项目的虚拟目录对应的绝对路径就要使用getRealPath()方法。一个例子看一下这个方法的使用和效果。

  1. application_01.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="utf-8" %> 
  3. <html> 
  4. <head> 
  5. <title>web开发</title> 
  6. </head> 
  7. <body> 
  8. <%   
  9.    String path=application.getRealPath("/");  
  10. %> 
  11. <h3>真实路径:<%=path %></h3> 
  12. </body> 
  13. </html> 

运行一下可以发现真实路径是我们的项目的路径。但是在这个地方需要注意的是,application的这个操作本身是ServletContext接口的实例,但是在jsp中,还有一个很常用的方法的功能可以完全取得这个方法。那就是getServletContext()方法。下面一个程序看一下这个方法的使用。

  1. <%@ page language="java" contentType="text/html" pageEncoding="utf-8" %> 
  2. <html> 
  3. <head> 
  4. <title>web开发</title> 
  5. </head> 
  6. <body> 
  7. <%   
  8.    String path=getServletContext().getRealPath("/");  
  9. %> 
  10. <h3>真实路径:<%=path %></h3> 
  11. </body> 
  12. </html> 

运行一下可以发现,这个方法也能取得真实路径。实际上来说,在jsp中getServletContext()方法是比较常用的,各位都应该知道各个网站都有一个网站计数器吧,可以记录用户每次登陆的次数。那个功能的实现就依靠我们的getServletContext()方法。关于网站计数器的操作我们在近期内会讲到。

注意 关于getServletContext()方法,看代码的时候,可能有点的同学会问了,在正常情况下所有的方法都应该会有一个对象调用,为什么在这个代码中没有对象呢?就是说在应该会有一个对象调用getServletContext()这个方法,但是看以上代码中并没有调用而直接写上了这个方法。实际上如果非要在这个地方加上一个对象的话,那这个对象就可以使用this,this表示的是当前容器。将上面的代码改成如下

  1. <%@ page language="java" contentType="text/html" pageEncoding="utf-8" %> 
  2. <html> 
  3. <head> 
  4. <title>web开发</title> 
  5. </head> 
  6. <body> 
  7. <%   
  8.    String path=this.getServletContext().getRealPath("/");  
  9. %> 
  10. <h3>真实路径:<%=path %></h3> 
  11. </body> 
  12. </html> 

运行一下并没有变化。this是可以省略的。可以说this.getServletContext()方法是个重点应用。

 那么取得绝对路径的用处的是什么呢?这个可有大用处了,能取得绝对路径就意味着在jsp中可以进行文件操作了。有的同学问我文件怎么操作,在这儿一块以一个实例来看一下文件的操作。

如果想进行文件的操作首先一定需要通过File类找到一个指定的路径,这个路径最好是绝对路径

  1. application_02.jsp    
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <html> 
  4. <head> 
  5. <title>web开发</title> 
  6. </head> 
  7. <body> 
  8. <form action="application_03.jsp"> 
  9.     输入文件名称:<input type="text" name="filename"><br> 
  10.     输入文件内容:<textarea name="filecontent" cols="30" rows="3"> 
  11.            </textarea><br> 
  12.   <input type="submit" values="保存"> 
  13.   <input type="reset" values="重置">      
  14. </form> 
  15. </body> 
  16. </html> 
  1. application_03.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="gbk" %> 
  3. <%@ page import="java.io.*" %> 
  4. <%@ page import="java.util.*"%> 
  5. <html> 
  6. <head> 
  7. <title>web开发</title> 
  8. </head> 
  9. <body> 
  10. <%   
  11.      //request.setCharacterEncoding("gbk");  
  12.      String name=new String(request.getParameter("filename").getBytes("ISO-8859-1"));  
  13.      // String name=request.getParameter("filename");  
  14.      String content=new String(request.getParameter("filecontent").getBytes("ISO-8859-1"));  
  15.      // String content=request.getParameter("filecontent");  
  16.      System.out.println(name);  
  17.      //要想操作文件必须有绝对路径,那么这个时候getRealPath();  
  18.      String fileName=this.getServletContext().getRealPath("/")+  
  19.      "note"+File.separator+name; //保存在note文件之中  
  20.      File file=new File(fileName); // 实例化File类对象  
  21.      if(!file.getParentFile().exists()){  
  22.         file.getParentFile().mkdir();//建立一个文件夹   
  23.      }  
  24.      PrintStream ps=null;  
  25.      ps=new PrintStream(new FileOutputStream(file));  
  26.      ps.println(content);  
  27.      ps.close();  
  28. %> 
  29. <%  
  30.    Scanner scan=new Scanner(new FileInputStream(file));  
  31.     scan.useDelimiter("\n");  
  32.    StringBuffer buf=new StringBuffer();  
  33.    while(scan.hasNext()){  
  34.        buf.append(scan.next()).append("<br>");  
  35.    }  
  36.    scan.close();  
  37. %> 
  38. <%=buf%> 
  39. </body> 
  40. </html> 

运行一下application_02.jsp,提交内容,看浏览器的效果,显示的是提交的内容,那么文件在哪儿呢?看一下tomcat底下的webappls文件夹,然后找到程序的项目打开,看到有个note的文件夹对吗,打开文件夹,里面就不用我说了,是提交的内容,记得用记事本打开。

 注意:  注意在application_03.jsp中接收参数的乱码处理操作。 注意包类的导入,文件当然用到java.io.*.    文件操作实际上是属性java SE的内容,不熟悉的同学可以再学一下关于文件Io的操作。

 查看属性

 在application中有一个方法可以取得全部的属性。

  1. application_04.jsp  
  2. <%@ page language="java" contentType="text/html" pageEncoding="utf-8" %> 
  3. <%@ page import="java.util.*" %> 
  4. <html> 
  5. <head> 
  6. <title>web开发</title> 
  7. </head> 
  8. <body> 
  9. <%   
  10.   Enumeration enu=this.getServletContext().getAttributeNames();//取得全部的属性  
  11.   while(enu.hasMoreElements()){  
  12.       String name=(String)enu.nextElement();  
  13. %> 
  14. <h4><%=name%> 
  15.   <%=this.getServletContext().getAttribute(name)%> 
  16.  </h4> 
  17. <%      
  18.   }  
  19. %> 
  20. </body> 
  21. </html> 

 看一下运行结果,取得的全部属性到底是个什么东西,如下就是取得的全部属性:

相关文章推荐

jsp内置对象application、exception、pageContext、config方法

pageContext对象 pageContext对象是JSP中很重要的一个内置对象,不过在一般的JSP程序中,很少用到它,所以知道request对象、response对象的人比较多,知道pageC...
  • Dices
  • Dices
  • 2011-04-02 15:11
  • 618

JSP内置对象之------response、session、application

1. 重定向和转发    response.sendRedirect("地址"); a. 页面地址显示最终页面         b. 不可向后传递参数         c....

JSP内置对象---application

application 对象   服务器启动后,就产生了application 对象。当一个客户访问服务器上的一个JSP 页面时,JSP 引擎为该客户分配这个application 对象,  当客户在...

JSP九大内置对象(Request,Response,Out,Session,Application,Cookie,Config,Page,Exception)

1、Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 当Request对象获取客户提交的汉字字符时,会出现乱码问...

JSP——内置对象application out session request response+EL+uplaod+download

JSP——内置对象application out session  request response+EL+uplaod+download JSP内置对象application  out  sess...

08JSP内置对象application

①概要      application对象用于保存所有应用程序中的公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可...

JSP内置对象(包括session,application,page,pageContext,exception)

一、什么是session1、session表示客户端与服务器的一次会话2、Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览网站所花费的时间。 3...

JSP内置对象(2)----out、application

out对象 out对象就是在Web应用开发过程中使用最多的一个对象,其功能就是动态的向JSP页面输出字符流,从而把动态的内容转化成HTML形式来展示,这个对象在任何JSP页面中都可以任意访问。 ...

JSP之 application config……八大内置对象

一、 application该对象代表 Web 应用本身,整个 Web 应用共享同一个 application 对象,该对象主要用于在多个 JSP 页面或 Servlet 之间共享变量。 appl...

JSP内置对象:request, reponse, out, session, application, config, pagecontext, page, exception

jsp九种内置对象: request, reponse, out, session, application, config, pagecontext, page, exception.  ...
  • aerchi
  • aerchi
  • 2012-05-28 18:04
  • 2441
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)