JSP application对象

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>
<%
  }
%>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值