Java开发之JSP行为
一、Java Bean行文
1.重点说明
Java Bean行为是一组与Java Bean相关的行为,包括useBean行为、setProperty行为、getProperty行为等。Java Bean就是普通的Java类。Java Bean类非常简单,只有私有属性与对应的getter方法和setter方法。(注意:对于boolean类型的属性,习惯上一般把getter方法写成isXxx(),而不是getXxx())
| 属性名 | 取值范围 | 描述 |
| id | 合法的Java变量名 |
指明Java Bean对象的名称。 JSP中可以使用该名称引用该Java Bean对象。 |
| class | Java Bean类的全名 | Java Bean类的全名。 |
| scope |
page, request, session, application |
该Java Bean对象的范围。 当为page时,只在该JSP内有效。 当为request时,只在当前的request中有效。 当为session时,对当前用户有效。 当为application时,当前Web应用程序内有效。默认为page。 |
2.代码实践
scope实现各种计数器
Counter.java
package com.bean;
public class Counter {
private int count; //计数器
public int getCount(){ //每访问一次,计数器自加1
return ++count;
}
public void setCount(int count){
this.count = count;
}
}
Counter.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'Counter.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<!-- 定义一个session范围内的计数器,记录个人访问信息 -->
<jsp:useBean id="personCount" class="com.bean.Counter" scope="session" />
<!-- 定义一个application范围内的计数器,记录所有人的反问信息 -->
<jsp:useBean id="totalCount" class="com.bean.Counter" scope="application" />
<div align="center">
<form action="page/Counter.jsp" method="get">
<fieldset style="width:300">
<legend>计数器</legend>
<table align="center" width="400">
<tr>
<td>您的访问次数:
</td>
<td>
<!-- 获取个人的访问次数 -->
<jsp:getProperty property="count" name="personCount"/>
</td>
</tr>
<tr>
<td>总共的访问次数:
</td>
<td>
<!-- 获取所有人的访问次数 -->
<jsp:getProperty property="count" name="totalCount"/>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="刷新">
</td>
</tr>
</table>
</fieldset>
</form>
</div>
</body>
</html>
3.效果截图

二、<jsp:plugin/>嵌入Applet
1.重点说明
Java Applet是运行在客户端浏览器里的Java小程序。JSP提供了一组plugin行为简化嵌入Applet的操作。plugin行为包括<jsp:plugin/><jsp:params/><jsp:param/><jsp:fallback/>。其中<jsp:plugin/>用于在JSP中定义Java Applet,并声明Applet的宽度和高度等属性;<jsp:params/>用于定义一组一对多的参数;<jsp:param/>用于定义单个的参数;<jsp:fallback/>用于定义不支持Applet时的替代信息。
2.程序实践
Plugin.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'Plugin.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<table align="center" bgcolor="#999999" cellpadding="1">
<tr>
<td bgcolor="#FFFFFF">
<jsp:plugin
code="Graph.class"
codebase="http://java.sun.com/applets/jdk/1.4/demo/applets/GraphLayout/"
type="applet" width="500" height="400">
<jsp:params>
<jsp:param value="joe-food,joe-dog,joe-tea,table-plate/50"
name="edges"/>
</jsp:params>
<jsp:fallback>您的浏览器不支持Java Applet</jsp:fallback>
</jsp:plugin> </td>
</tr>
</table>
</body>
</html>
3.效果截图

这里不知道怎么被阻止了。
三、<jsp:directive/>行为
<jsp:directice/>行为相当于JSP指令。<jsp:directive.page/>行为相当于<%@ page%>指令,<jsp:directive.include/>行为相当于<%@ include%>指令,<jsp:directive.taglib/>行为相当于<%@ taglib%>指令。
注意:现在的Java Web开发平台更倾向于使用directive行为而不使用JSP指令。这是因为<jsp:directive/>行为比JSP指令更整洁,可读性更好。
Java开发之JSP行为的更多相关文章
- Java开发之JSP指令
一.page指令 page指令是最常用的指令,用来说明JSP页面的属性等.JSP指令的多个属性可以写在一个page指令里,也可以写在多个指令里.但需要注意的是,无论在哪个page指令里的属性,任何pa ...
- Java开发之Servlet之间的跳转
一.转向(Forward) 1.要点说明 转向是通过RequestDispatcher对象的forward()方法来实现的.RequestDispatcher可以通过HttpServletReques ...
- JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解
Servlet的缺点 开发人员要十分熟悉JAVA 不利于页面调试和维护(修改,重新编译) 很难利用网页设计工具进行页面设计(HTML内容导入到servlet中,用PrintWriter的对象进行输出) ...
- javaweb开发之jsp
一.WEB应用的目录结构 通常我们是在IDE中创建web应用程序,IDE自动为我们实现了WEB的目录结构,下面来看如何徒手创建一个WEB程序. 首先来看一下Tomcat自带的一个web应用的目录结构 ...
- Java开发之javaEE(java2EE)的介绍,java软件工程师初步阶段知识
1. 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序 ...
- Java开发之abstract 和 interface的区别
Java开发abstract 和 interface的区别 java开发里面经常会用到虚函数和接口,这两者的区别是什么呢? abstract: 子类里面只能继承一个父类 interface: 子类可以 ...
- Java开发之@PostConstruct和@PreConstruct注解
从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct.这两个注解被用来修饰一个非静态的 ...
- Java开发之Servlet生命周期
Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器结束的时候结束生命周期.无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servle ...
- JAVA开发之Eclipse常用的快捷键
Eclipse是我们常用的java开发编辑器,它支持很多有用但又不太为人所知的快捷键组合.通过这些组合快捷键我们可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升.甚至有一次笔者去参加一个IT ...
随机推荐
- 使用three.js创建3D机房模型-分享一
序:前段时间公司一次研讨会上,一市场部同事展现了同行业其他公司的3D机房,我司领导觉得这个可以研究研究,为了节约成本,我们在网上大量检索,最后找到一位前辈的博文[TWaver的技术博客],在那篇博文的 ...
- swift学习笔记之-高级运算符
//高级运算符 import UIKit /*高级运算符(Advanced Operators):位运算符.溢出运算符.优先级和结合性.运算符函数.自定义运算符 位运算符: 1.位运算符可以操作数据结 ...
- jQuery实例集合
一.返回顶部 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Flex Viewer (二)——体系结构
一.概述 在上一篇文章<深入浅出Flex Viewer (一)——概述>中,笔者对Flex Viewer用于构建以地图为中心的富客户端(RIA)应用的原型的功能和价值做了简要地介绍.在本文 ...
- SAP打印机配置
SAP打印机配置 一.SAP打印原理 SAP的打印过程分两个步骤: 1.创建假脱机请求: 2.创建输出请求: 在点击打印按钮后,系统会提示创建假脱机请求后,你可以选择直接生成输出请求,或者手动生成输出 ...
- 用(*.frm *.MYD *.MYI)文件恢复MySql数据库
保存下来以防以后遇到 今天还原mysql数据库时,看到那个data文件夹下好几个文件,还没有.sql文件,没有见过,总结下.Data文件夹里面包括:数据库名文件夹,文件夹里包括,*.frm,*.MYI ...
- 优化MySchool数据库(一)
<优化MyShcool数据库>:能够的独立的分析|设计|创建|运营|你的独立的数据库系统 设计--->实现--->TSQL--->查询优化---->性能优化技术-- ...
- iOS 学习 - 13.微信分享链接、QQ 分享图片
准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...
- 谈谈vertical-align的text-bottom和text-top - 韦奕
学习资料 : http://www.tuicool.com/articles/uuYvMv 友情链接 行高 替换元素,非替换元素,内联元素,块元素
- DOM属性操作
HTML attribute --> DOM property 每个html属性都对应一个DOM对象属性,举个栗子: <div> <label for="userN ...