- 浏览: 153502 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fddjxllren:
session.find()是不支持动态绑定参数的.要使用it ...
Hibernate查询之list/iterator -
xiaofeiyang:
http://svn.apache.org/repos/asf ...
struts,hibernate,spring 版本控制svn的URL地址 -
peterxiemin:
emp在建立的时候,报无效的月份,为什么 ?
oracle的练习表---employee -
java_bigniu:
...
Hibernate查询之list/iterator -
lanhai921:
学习下,谢谢分享。
itext基本用法
1,什么是application?
application对象是javax.servlet.ServletContext接口的实例化对象,单从词义上翻译是:servlet上下文;ServletContext代表了整个容器的操作,常用的方法有:
No | 方法 | 类型 | 描述 |
1 | String getRealPath(String path) | 普通 | 得到虚拟目录对应的绝对路径 |
2 | public Enumeration getAttributeNames() | 普通 | 得到所有属性的名称 |
3 | public String getContextPath() | 普通 | 得到当前的虚拟路径名称 |
2,取得虚拟目录对应的绝对路径?
<%String realpath=application.getRealPath("/"); %> <%= path %>
会输出项目的根目录的路径,在使用中应该尽量使用this.getServletContext()来代替applicatioin;
实例:在一个文本输入一些数据,然后让其在项目的根目录下生存文件:
input.jsp:
<form action="inputContent.jsp" method="post"> 输入文件名称:<input type="text" name="fileName"><br /> 输入文件内容:<textarea rows="3" cols="14" name="filecontent"></textarea><br /> <input type="submit" value="提交"> <input type="reset" value="重写"> </form>
执行并显示的页面content.jsp:
<body> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("fileName"); String content = request.getParameter("filecontent"); //拼凑文件名称 String fileName = this.getServletContext().getRealPath("/")+"note"+File.separator+name; //实例化File类对象 File file = new File(fileName); //判断父文件夹是否存在 if(!file.getParentFile().exists()){ //创建文件夹 file.getParentFile().mkdir(); } //定义打印流对象 PrintStream ps = null; //准备向文件中的保存 ps = new PrintStream(new FileOutputStream(file)); //输出内容 ps.println(content); //关闭输出流 ps.close(); %> <% //使用scanner读取文件 Scanner scan = new Scanner(new FileInputStream(file)); //设置读取分隔符 scan.useDelimiter("\n"); //将所有内容都读取进来 StringBuffer buf = new StringBuffer(); //取出所有数据 while(scan.hasNext()){ //读取内容,保存在StringBuffer类中 buf.append(scan.next()).append("<br>"); } //关闭输出流 scan.close(); %> <%=buf %> </body>
大家可以在tomcat的webapps下的工程下生成一个文件;
实例:网站计数器:
必须注意以下3点:
- 来访人数会很多,必须用大整数类---BigInteger完成;
- 用户每次在第一次访问时才需要进行计数的操作,在执行计算之前必须使用isNew()判断;
- 在进行更改,保存时需要进行同步操作;
<body> <%!BigInteger count = null;%> <%!//直接在方法中处理异常,实际应用中应该交给调用处处理 //读取计数文件 public BigInteger load(File file) { //接收读取的数据 BigInteger count = null; try { //如果文件存在,则读取 if (file.exists()) { //定义scanner对象 Scanner scan = null; //从文件中读取 scan = new Scanner(new FileInputStream(file)); //存在内容 if (scan.hasNext()) { //将内容放到BigInteger类中 count = new BigInteger(scan.next()); } //关闭输入流 scan.close(); } else { //第一次访问 count = new BigInteger("0"); //调用save()方法,保存新文件 save(file, count); } } catch (Exception e) { e.printStackTrace(); } //返回读取后的数据 return count; } //保存技术文件 public void save(File file, BigInteger count) { try { //定义输出流对象 PrintStream ps = null; //打印输出流 ps = new PrintStream(new FileOutputStream(file)); //保存属数据 ps.println(count); //关闭 ps.close(); } catch (Exception e) { e.printStackTrace(); } }%> <% //文件路径 String fileName = this.getServletContext().getRealPath("/")+"count.txt"; //定义File类对象 File file = new File(fileName); //如果是新的session表示允许进行操作 if(session.isNew()){ //必须进行线程同步 synchronized(this){ count = load(file); //自动操作 count = count.add(new BigInteger("1")); save(file,count); } } %> <h2>您是第<%=count == null?0:count %>位访客</h2> </body>
查看application范围的属性:
页面必须引入:
<%@page import="java.util.*" %>
<% Enumeration enu = this.getServletContext().getAttributeNames(); while(enu.hasMoreElements()){ String name = (String)enu.nextElement(); %> <h2><%=name %>---><%=this.getServletContext().getAttribute(name) %></h2> <%} %>
发表评论
-
JSTL标签之XML标签库,函数标签库
2011-01-20 13:14 0在JSTL中可提供了用于XML解析的操作,这样可以减少 ... -
JSTL常用标签之大聚集---下
2011-01-20 10:17 1390JSTL国际化标签库: 其主要标签如下: NO ... -
JSTL常用标签之大聚集---中
2011-01-20 08:52 991<c:forEach>标签: 主要 ... -
JSTL常用标签之大聚集---上
2011-01-17 22:53 1096JSTL已经被继承到了javaEE ... -
jsp标签编程『续』---简单开发
2011-01-17 16:03 1387在jsp1.2之前如果想要对标签库进行开发,要么继承Ta ... -
jsp标签编程『下』---开发迭代标签
2011-01-17 10:48 1290开发一个迭代标签,此标签只可以对list进行迭代(学习)。 ... -
jsp标签编程『下』---TagSupport类
2011-01-17 10:11 2839掌握基本的标签定义后,可以发现定义标签时都需要继承TagSup ... -
jsp标签编程『中』---定义有属性的标签
2011-01-17 09:13 999定义一个日期标签,则用户就必须指定格式化日期的格式; Dat ... -
jsp标签编程『上』---编写标签
2011-01-16 21:30 10701,什么是JSP标签库? JSP标签库(自定义标签 ... -
javaWeb之表达式语言---初始EL
2011-01-16 08:55 10011,何为表达式语言(Expression Language,E ... -
监听器实例之---在线人员统计
2011-01-15 17:30 0当用户成功登录后,会在列表中增加此用户名称,这样就可 ... -
jsp/servlet之监听器
2011-01-15 16:05 16091,什么是监听器? 其主要的功能就是监听Web ... -
jsp/servlet之过滤器
2011-01-15 14:03 10971,什么是过滤器(filter)? 它是以一种 ... -
MVC之实例操作---MVC设计模式应用
2011-01-15 09:18 3979MVC的第一个实例-----一个登陆: 首先我们需要一个VO ... -
javaWeb之MVC模式
2011-01-13 23:11 1405javaWeb引入了servlet概念 ... -
javaWeb之Servlet跳转
2011-01-13 22:53 1853servlet跳转分为:客户端跳转和服务器端跳转; 客户端 ... -
javaWeb之Servlet
2011-01-13 22:22 1509使用jsp可以完成动态的web开发,但是在开发时发现大量的代码 ... -
javaBean实例之注册验证
2011-01-13 14:29 3123首先定义Bean: package com.keith.be ... -
javaWeb之JavaBean
2011-01-13 13:47 12531,什么是JavaBean? ... -
jsp之阶段性总结
2011-01-13 08:53 9001,web安全性! 在web目录中必须存在一个&q ...
相关推荐
【JSP_jsp_application实例】是一个关于Java Server Pages (JSP) 技术的应用实践案例。JSP是一种在服务器端运行的动态网页技术,它允许开发者使用HTML、XML或者其他标记语言来创建动态网页,同时结合Java代码实现...
每当有新的留言,开发者可以调用`application.setAttribute()`方法将留言内容作为键值对存储,键通常是变量名,值则是用户输入的数据。这样,所有的留言都会被持久化,即使用户刷新页面或者关闭浏览器,这些信息也...
**JSP内置对象:Application对象** 在Java Server Pages (JSP) 技术中,内置对象是预定义的对象,可以直接在JSP页面中使用,无需显式声明或实例化。这些对象提供了对服务器功能和环境的便捷访问。其中,`...
这可以通过JSP内置对象application实现,具体方法是利用application对象的属性进行共享数据存储,以此来统计所有用户访问的次数。下面,我们详细说明这一方法的关键知识点。 首先,JSP中的application对象是代表...
本文将详细阐述如何利用JSP中的`application`对象来实现在线人数的统计。 `application`对象在JSP中代表的是整个Web应用程序的范围,它的生命周期从Web应用启动到Web应用停止,所有用户都可以访问`application`对象...
本文主要探讨的是JSP内建对象之一——`application`对象。 `application`对象代表了Servlet的`javax.servlet.ServletContext`接口,它提供了对整个Web应用程序的访问。这个对象在整个Web应用的生命周期中只存在一个...
这个实验展示了如何利用JSP的`session`和`application`对象来实现用户状态管理和跨用户数据共享。`session`对象提供了用户特定的持久性,而`application`对象则实现了全局的数据存储。了解和熟练使用这两个对象对于...
案例中的`applicationdemo1.jsp`文件用于设置属性值。第9行至第10行,使用`application.setAttribute()`方法设置两个属性,即`user`和`pass`,它们分别被赋值为"liuzc"和"liuzc518"。这个方法接受两个参数,第一个...
4. jsp:setProperty和jsp:getProperty:用于设置和获取JavaBean的属性值。 七、MVC模式与JSP 在Web开发中,JSP通常作为View层,与Controller(Servlet或Action)和Model(JavaBean或业务逻辑组件)配合实现MVC架构...
- **表达式**(Expressions):`<%=...%>`用于输出变量的值到HTML页面。 - **声明**(Declarations):`!...%>`用来声明变量或方法。 - **JSP标签**(Tags):自定义或标准的JSP标签,如`<c:forEach>`,用于循环遍历...
5. **JSP内置对象**:包括request、response、session、application、out、pageContext、page、config等,它们提供了对HTTP请求、响应、会话和应用程序范围内的数据操作的直接访问。 6. **EL(Expression Language...
JSP提供了九个内置对象,如请求对象(request)、响应对象(response)、会话对象(session)、应用对象(application)等,它们简化了开发过程,无需手动创建。 **4. JSP标签** JSP标准标签库(JSTL)提供了一系列...
在JSP页面中,我们通常使用page、request、session和application这四个作用域来存储数据,其中session是最常用的,因为它能够跨越多个请求保持数据状态,非常适合存储用户相关的数据。 在JSP页面中使用session来...
- **application**:全局应用程序对象,跨所有用户共享数据。 - **out**:输出流对象,用于将内容写入HTTP响应。 - **pageContext**:页面上下文对象,提供对当前页面所有对象的访问。 4. **EL(Expression ...
JSP的使用通常涉及以下几个关键知识点: 1. **JSP指令和脚本元素** - `<% %>`:这是JSP的脚本元素,用于在页面中直接插入Java代码。这些代码会被转换为Servlet的方法,然后在服务器上执行,其结果直接输出到浏览器...
**JSP内置对象及JSP复用** 在JavaServer Pages(JSP)技术中,内置对象是预定义的、可以直接在页面中使用的对象,无需通过`<jsp:useBean>`标签或者`new`关键字来创建。这些内置对象极大地简化了JSP页面的编程,提供...
- `application`:全局应用范围内的对象,可供所有用户共享。 - `out`:用于向客户端输出数据。 - `pageContext`:提供对页面上下文的访问,包含其他对象。 - `exception`:捕获页面抛出的异常。 7. **EL...
JSP提供了九个内置对象,包括请求(request)、响应(response)、会话(session)、应用程序(application)、页面上下文(pageContext)、页面(page)、例外(exception)、输出流(out)和配置(config),它们...
例如,applicationScope中的变量可以被所有用户共用,如果用户甲的操作修改了application中的变量,用户乙访问时得到的是修改后的值。 jsp的四个作用域是mastering jsp技术的基础,正确地选择和使用这些作用域是...