application 是javax.servlet.ServletContext接口的对象
在此对象之中提供了大量的方法,但是这些方法中最重要的应用就只有两组:
1。属性的操作
setAttribute(),getAttribute(),removeAttribute()
2。取得虚拟目录对应的真实路径:
<%@page import="java.io.*"%>
<h1><%=application.getRealPath("/")%>
就是得到的以下的docBase内容
<Context path="/demo" docBase="D:\webdemo" /> ----server.xml中
3。getServletContext()方法
一般application表示的是上下文,但是在实际的开发中,往往很少直接使用application,而使用getServletContext()方法来表示application.
范例:
<h1><%=getServletContext().getRealPath()%></h1>
这个方法表示由容器调用,如果非要加上对象的话,直接加上this关键字
既然已经知道了真实路径,那么就可以进行
<%
request.setCharacterEncoding("GBK");
String fileName = this.getServletContext().getRealPath("/")+"Notes"+File.separator+request.getParameter("filename");
String content = request.getParameter("content");
PrintStream ps = new PrimtStream(new FileOutputStream(new File(fileName)));
ps.println(content);
ps.close();
%>
范例:列出一个文件夹下的文件名称
<%
String fileName = this.getServletContext().getRealPath("/")+"note";
File f = new File(fileName);
String files[] = f.list();
for(int i=0;i<files.length;i++){
%>
<h3><%=files[i]%></h3>
<%
}
%>
--------------------------------------------处理换行的问题
<%
request.setCharacterEncoding("GBK");
String fileName = this.getServletContext().getRealPath("/") +"notes"+File.separator + request.getParameter("filename");
String content = request.getParameter("content").replaceAll("\r\n","<br>");
PrintStream ps = new PrintStream(new FileOutputStream(new File(fileName)));
ps.println(content);
ps.close();
%>
或者在读出来后直接 replaceAll("\r\n","<br>");
4.可以使用application完成一个网站的计数器操作
每次当有新的用户来的时候,就要求记录的数字加1,在用户第一次来的时候进行计算
<%
if(session.isNew()){
save(++count,path); //这个方法是把计数器记录到一个文件当中
}
%>
<%
String path = getServletContext().getRealPath("/")+"count.txt";
int count = load(path); //这个方法是从文件中读取记录
%>
<h2>您是第<%=count%>位访问者</h2>
--------------------------------------------------------------
简单的聊天室程序
main.jsp
<frameset rows="80%,20%">
<frame name="top" src="content.jsp" />
<frame name="bottom" src="input.jsp"/>
</frameset>
input.jsp
<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.util.*"%>
<form action="input.jsp" method="post"> ----注意,这是传给自己,也就是传给自己后面的代码,为什么要传给自己,原因是我们不希望点击提交后变成别的页面,所以传给自己,或者使用js哦
请输入内容:<input type="text" name="content"/>
<input type="submit" value="说话" />
</form>
<% //这里所做的事情就是 得到当前说话的内容,然后放入application的list中
request.setCharacterEncoding("GBK");
if(request.getParameter("content") == null)return; //如果没有说话,那么不需更新刷新
List all = null;
all = (List)getServletContext().getAttribute("notes");
if(all == null){
all = new ArrayList();
}
all.add(request.getParameter("content"));
getServletContext().setAttribute("notes",all);
%>
content.jsp //这个页面的任务就是每隔一段时间刷新一次,然后打印所有的留言
<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.util.*"%>
<%
response.setHeader("refresh","2");
request.setCharacterEncoding("GBK");
List all = (List)getServletContext().getAttribute("notes");
if(all == null){
%>
<h2>没有留言</h2>
<%
}else{
for(Iterator it = all.iterator();it.hasNext();){
%>
<h3><%=it.next()%></h3>
<%
}
}
%>
分享到:
相关推荐
**标签解析:**"jsp-api" 这个标签明确了主题与JSP API有关,API(Application Programming Interface)是一组预定义的函数、类和接口,供开发者在编写软件时使用,以便与特定的系统或库进行交互。在这里,它特指JSP...
例如,`PageContext`接口是JSP页面的主要上下文对象,它提供了一种访问所有JSP作用域(page, request, session, application)的统一方式,以及对JSP内置对象的访问。 **4. pageContext.setAttribute()方法** `...
3. **内置对象**:JSP提供了九个内置对象,如request、response、session、application等,它们是预定义的Java对象,可以直接在JSP页面中使用,简化了Web开发过程。 4. **EL(Expression Language)**:EL是一种...
2. **JSP内置对象**:如request、response、session、application等,它们提供了对HTTP请求和响应的访问,以及会话管理和应用程序级数据的共享。 3. **JavaBeans**:JSP与JavaBeans的结合使用,是Java Web开发中...
- **application**:全局应用程序范围的变量,可供所有用户共享。 - **out**:用于向响应流输出内容。 - **exception**:捕获和处理异常。 3. **标签库**: - JSP标准标签库(JSTL):提供标准的标签来处理常见...
【jsp留言版-application】 在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。在这个“jsp留言版-application”的项目中,开发者利用了JSP的内置对象`application`来实现了一个简单的...
JSP提供了九个内置对象,包括`request`、`response`、`session`、`application`、`out`、`config`、`pageContext`、`exception`和`page`。这些对象对应于Servlet API中的类,简化了Web开发。例如,`request`对象用于...
- `application`: 处理全局应用程序信息。 - `out`: 用于向响应输出流写入内容。 - `pageContext`: 提供对当前页面上下文的访问。 - `page`: 指向当前JSP页面的Servlet实例。 - `exception`: 用于捕获和处理...
* applicationScope:返回应用范围内的变量,并将变量名映射至相应的值 EL 在 JSP 中的应用 EL 可以在 JSP 中用来访问变量、对象和集合,可以简化静态 HTML 与 Java 代码的耦合。例如: * ${user.name}:访问对象...
JSP有九个内置对象,包括`request`, `response`, `session`, `application`, `page`, `pageContext`, `out`, `config`和`exception`。这些对象对应于Servlet API中的对象,为开发者提供了处理HTTP请求、响应、会话...
在这个过程中,JSP提供了一系列内置对象,如request、response、session、application等,方便处理HTTP请求和响应。 3. **EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)**:EL是用于...
- 例如:`pageContext`, `request`, `session`, `application`等。 - 示例: - 获取当前请求的参数: ```jsp ${param.username} ``` #### 四、JSP标签库 JSP标签库提供了一组预定义的标签,用于简化常见的...
- **多用户支持**:利用session和application作用域,实现用户会话管理和多用户之间的隔离。 - **安全性**:通过HTTPS、身份验证和授权机制,确保桌面应用的安全性。 - **性能优化**:使用缓存技术、最小化HTTP...
本篇将深入探讨一个名为“library_application_system.zip_JSP-library_it”的项目,这是一个采用JavaServer Pages(JSP)技术构建的在线图书馆应用系统。通过分析其核心组件和功能,我们将揭示其背后的IT知识,以期...
3. **PageContext对象**:这是JSP页面中所有对象的上下文,提供了一个全局访问点,可以获取和设置请求、响应、session、application等范围内的属性。 4. **Expression Language(EL)**:EL是一种简洁的表达式语言...
1. **JSP基本语法**:包括指令(directives)、脚本元素(scriptlets)、表达式(expressions)和声明(declarations),以及内置对象如request、response、session、application等。 2. **JDBC连接**:使用Java ...
- JSP提供了9个内置对象,如request、response、session、application等,它们直接可用,简化了Web开发。例如,request对象用于获取HTTP请求参数,response对象负责构建并发送HTTP响应。 5. EL(Expression ...
2. **内置对象**:如request、response、session、application等,简化了Web开发。 3. **页面生命周期**:包括翻译、编译、加载和实例化等阶段,确保了代码的执行顺序。 **丁旭老师的JSP实训内容** 丁旭老师的课程...
这里,我们主要讨论JSTL(JavaServer Pages Standard Tag Library)、Standard Tag Library、JSP API(JavaServer Pages Application Programming Interface)以及Servlet API。 1. **JSTL (JavaServer Pages ...