JSP application对象

来源:互联网 发布:教育软件开发 编辑:程序博客网 时间:2024/05/23 13:06

application对象

application对象是javax.servlet.ServletContext接口的实例化对象,从单词上翻译表示的是整个Servlet的上下文,ServletContext代表了整个容器的操作


方法

类型

描述

1

String getRealPath(String path)

普通

得到虚拟目录对应的绝对路径

2

public Enumeration getAttributeNames()

普通

得到所有属性的名称

3

public String getContextPath()

普通

取得当前的虚拟路径名称


获取虚拟目录对应的绝对路径

<%@ page language="java" contentType="text/html;charset=utf8" pageEncoding="utf8"%>real path=<% application.getRealPath("/") %>


对于application对象而言,在WEB中也可以使用getServletContext()方法进行替代。

<%@ page language="java" contentType="text/html;charset=utf8" pageEncoding="utf8" %>real path<%=this.getServletContext().getRealPath("/")%>

文件操作:输入表单

<!doctype html><html><head></head><body></body><form method="post" action="inputFile.jsp"><input name="fileName" type="text"><br><input name="fileContent" type="text"><br><button type="submit">submit</button><br><button type="reset">reset</button></form></html>
文件操作:保存内容

<%@ page language="java" contentType="text/html; charset=utf8"  pageEncoding="utf8"%><%@ page import="java.util.*" %><%@ page import="java.io.*" %><% request.setCharacterEncoding("utf8");String name=request.getParameter("fileName");String fileContent=request.getParameter("fileContent");String fileName=application.getRealPath("/")+"note"+File.separator+name;File file=new File(fileName);if(!file.getParentFile().exists()){file.getParentFile().mkdirs();}PrintWriter printWriter=new PrintWriter(new FileOutputStream(file));printWriter.println(fileContent);printWriter.close();%><% Scanner scanner=new Scanner(new FileInputStream(file));scanner.useDelimiter("\n");StringBuffer stringBuffer=new StringBuffer();while(scanner.hasNext()){stringBuffer.append(scanner.next()).append("<br>");}scanner.close();out.print(stringBuffer.toString());%>

网站计数器

要点:

  1. 网站的来访人数可能会有很多,有可能超过20位整数,所以必须使用大整数类 —— BigInteger完成;
  2. 用户每次在第一次访问的时候才需要进行计数的操作,在执行计算之前必须使用isNew()判断;
  3. 在进行更改、保存的时候需要进行同步操作
查看application范围里的属性
<%@ page contentType="text/html" pageEncoding="GBK"%><%@pageimport="java.util.*"%>  <%  // 得到全部的属性名称  Enumeration enu = this.getServletContext().getAttributeNames() ;  while(enu.hasMoreElements()){  // 循环输出  String name = (String)enu.nextElement() ;  // 得到属性名称%>  <h4><%=name%> --> <%=this.getServletContext().getAttribute(name)%></h4><%  }%>






0 0