`

jsp----application

阅读更多
 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-2.1.jar

    **标签解析:**"jsp-api" 这个标签明确了主题与JSP API有关,API(Application Programming Interface)是一组预定义的函数、类和接口,供开发者在编写软件时使用,以便与特定的系统或库进行交互。在这里,它特指JSP...

    javax.servlet.jsp-api-2.3.2-b01.jar.zip

    例如,`PageContext`接口是JSP页面的主要上下文对象,它提供了一种访问所有JSP作用域(page, request, session, application)的统一方式,以及对JSP内置对象的访问。 **4. pageContext.setAttribute()方法** `...

    精通JSP-Web开发技术与典型应用

    3. **内置对象**:JSP提供了九个内置对象,如request、response、session、application等,它们是预定义的Java对象,可以直接在JSP页面中使用,简化了Web开发过程。 4. **EL(Expression Language)**:EL是一种...

    精通jsp-web开发技术与典型应用

    2. **JSP内置对象**:如request、response、session、application等,它们提供了对HTTP请求和响应的访问,以及会话管理和应用程序级数据的共享。 3. **JavaBeans**:JSP与JavaBeans的结合使用,是Java Web开发中...

    jsp-api.jar

    - **application**:全局应用程序范围的变量,可供所有用户共享。 - **out**:用于向响应流输出内容。 - **exception**:捕获和处理异常。 3. **标签库**: - JSP标准标签库(JSTL):提供标准的标签来处理常见...

    jsp留言版-application

    【jsp留言版-application】 在Java Web开发中,JSP(JavaServer Pages)是一种用于创建动态网页的技术。在这个“jsp留言版-application”的项目中,开发者利用了JSP的内置对象`application`来实现了一个简单的...

    Jsp-Api英文文档

    JSP提供了九个内置对象,包括`request`、`response`、`session`、`application`、`out`、`config`、`pageContext`、`exception`和`page`。这些对象对应于Servlet API中的类,简化了Web开发。例如,`request`对象用于...

    jsp-api文档

    - `application`: 处理全局应用程序信息。 - `out`: 用于向响应输出流写入内容。 - `pageContext`: 提供对当前页面上下文的访问。 - `page`: 指向当前JSP页面的Servlet实例。 - `exception`: 用于捕获和处理...

    JSP-EL表达式.ppt

    * applicationScope:返回应用范围内的变量,并将变量名映射至相应的值 EL 在 JSP 中的应用 EL 可以在 JSP 中用来访问变量、对象和集合,可以简化静态 HTML 与 Java 代码的耦合。例如: * ${user.name}:访问对象...

    jsp ----挂号系统

    JSP有九个内置对象,包括`request`, `response`, `session`, `application`, `page`, `pageContext`, `out`, `config`和`exception`。这些对象对应于Servlet API中的对象,为开发者提供了处理HTTP请求、响应、会话...

    精通JSP-Web开发技术与典型应用随书光盘

    在这个过程中,JSP提供了一系列内置对象,如request、response、session、application等,方便处理HTTP请求和响应。 3. **EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)**:EL是用于...

    jsp - Wiley - Beginning JavaServer Pages

    - 例如:`pageContext`, `request`, `session`, `application`等。 - 示例: - 获取当前请求的参数: ```jsp ${param.username} ``` #### 四、JSP标签库 JSP标签库提供了一组预定义的标签,用于简化常见的...

    jsp-桌面,jsp做的桌面

    - **多用户支持**:利用session和application作用域,实现用户会话管理和多用户之间的隔离。 - **安全性**:通过HTTPS、身份验证和授权机制,确保桌面应用的安全性。 - **性能优化**:使用缓存技术、最小化HTTP...

    library_application_system.zip_JSP-library_it

    本篇将深入探讨一个名为“library_application_system.zip_JSP-library_it”的项目,这是一个采用JavaServer Pages(JSP)技术构建的在线图书馆应用系统。通过分析其核心组件和功能,我们将揭示其背后的IT知识,以期...

    jsp_api.jar

    3. **PageContext对象**:这是JSP页面中所有对象的上下文,提供了一个全局访问点,可以获取和设置请求、响应、session、application等范围内的属性。 4. **Expression Language(EL)**:EL是一种简洁的表达式语言...

    jsp---mysql开发实例

    1. **JSP基本语法**:包括指令(directives)、脚本元素(scriptlets)、表达式(expressions)和声明(declarations),以及内置对象如request、response、session、application等。 2. **JDBC连接**:使用Java ...

    软件工程1611-JSP-实验一.zip

    - JSP提供了9个内置对象,如request、response、session、application等,它们直接可用,简化了Web开发。例如,request对象用于获取HTTP请求参数,response对象负责构建并发送HTTP响应。 5. EL(Expression ...

    基于BS架构的软件项目实训-JSP-丁旭-ppt

    2. **内置对象**:如request、response、session、application等,简化了Web开发。 3. **页面生命周期**:包括翻译、编译、加载和实例化等阶段,确保了代码的执行顺序。 **丁旭老师的JSP实训内容** 丁旭老师的课程...

    jstl&standard&jsp-api&servlet-api.jar

    这里,我们主要讨论JSTL(JavaServer Pages Standard Tag Library)、Standard Tag Library、JSP API(JavaServer Pages Application Programming Interface)以及Servlet API。 1. **JSTL (JavaServer Pages ...

Global site tag (gtag.js) - Google Analytics