JSP随笔记(三)

1. session

session对象主要完成的是用户的登录和注销,每一个seesion对象都表示不同的访问用户。session是javax.servlet.http.httpSession对象的实例,所以session只能应用在http协议中。

session用到了cookie的处理机制,即在客户端的cookie 中保存着每一个session的sessionId,液氧用户灭此向服务器端发送请求,同时将sessionId附带着发送过去,服务器根据sessionid区分每一个客户端。

2. javaBean

是java开发的可以重用的组件,可以减少代码的重复,节省开发时间并且使jsp更加整洁。在jsp中要使用jsp提供的javaBean的标签来操作简单类,那么这个类有以下的条件。

a.所有的类放在同一个包中,在web中,没有报的类不存在。

b.所有的类必须声明为public class,这样才能呗外部访问

c. 类中所有的属性必须被封装,即使用private

d.必须有setter,gettter方法

f.一个javaBean中至少存在有个无参构造方法

3. 导入javaBean  <%@page%>,例如<%@ page import="org.ly.domain.*"%>

4. 使用<jsp:userBean>指令

<jsp:useBean id="实例化对象的名称" scope="保存范围" class="包.类名称">

例如:

<jsp:useBean id="lin" scope="request" class="org.ly.linTest">
<html>
<head>
</head>
<body>

<%
   lin.setName("linxiaoyang");
   lin.setAge("23");
%>

<h3>姓名:<%=lin.getName()%></h3>
<h3>年龄:<%=lin.getAge()%></h3>
</body>
</html>

  

5. 神奇的<jsp:setProperty>

javaBean最方便的应该是和表单的交互,前台表单传递到后台,一般情况下,我们会一个个的getParameter()取出值来,然后在赋值,这样如果值太多的话太复杂。使用<jsp:setProperty>就好很多。

例如:

<jsp:useBean id="simple" scope="request" class="org.ly.Simple" >
<jsp:setProperty name="simple" property="*">

<body>
姓名:<%=simple.getName()%>
年龄:<%=simple.getAge()%>

</body>

  name对应着,useBean中的id property为*表示操作的属性自动匹配。

时间: 2024-11-08 20:58:39

JSP随笔记(三)的相关文章

Servlet和JSP读书笔记(三)之Cookie

一. 浏览器和服务器之间通信的简单介绍引出Cookie和Session(只是简单的简介,不包含协议方面的知识) 1.当我们在浏览器中输入一个地址后,回车后就可以看到浏览器给我们展示的漂亮页面.在这个过程中浏览器和服务器都做了什么呢?下面的解释只是浏览器与服务器之间 通信的最简单的形式,也称之为一次会话. ① 首先我们在地址栏上输入我们想要打开的网址,按下回车.这样一个请求就由浏览器发往服务器. ② 服务器的网络设备接收到数据后,在传向服务器软件.   ③ 服务软件得到请求后,进行一系列逻辑处理,

Ajax学习笔记(三)

三.jQuery库详解 1.使用jQuery之后,javascript操作的不再是HTML元素对应的DOM对象,而是包装DOM对象的jQuery对象.js通过调用jQuery对象的方法来改变它所包装的DOM对象的属性,从而实现动态更新HTML页面. 由此可见,使用jQuery动态更新HTML页面只需以下两个步骤: (1)获取jQuery对象.jQuery对象通常是DOM对象的包装 (2)调用jQuery对象的方法来改变自身.当jQuery对象被改变时,jQuery包装的DOM对象随之改变,HTM

Grails笔记三:完整的文件上传实例

文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 1.在gsp页面中使用Grails标签uploadForm <g:uploadForm name="myUpload" action="saveFile"> <input type="file" name="myFile" /> <

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle&lt;T&gt;

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle<T> 今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇用它们做一个多语言的demo 这两个是事件的订阅和广播,很强大,但用的时候要小心发生不必要的冲突. 先看一下它的实现思想 在Caliburn.Micro里EventAggregator要以单例的形式出现这样可以

构建之法阅读笔记三—结对编程

构建之法阅读笔记三——结对编程 何谓结对编程,结对编程就是程序员肩并肩,平等的,互补的进行开发工作,他们使用同一台电脑,编写同样的程序,一起分析,一起设计,一块交流想法. 然而我以前却并不是这样做的,我以前喜欢在没人打扰的环境下写代码,我觉得有人在我身边看着,会影响我的思路,还有我个人自尊心比较强,不太喜欢被人指指点点,所以每次都是,我写完代码之后,自己先找自己的bug,每当自己实在找不到之后,才会请教大神,但是有时候可能由于自己的能力不足,往往一个很简单的问题,我自己发现就会花费很久的时间,让

3. 蛤蟆的计算机组成原理笔记三系统总线

3. 蛤蟆的计算机组成原理笔记三系统总线 本篇名言:"公正,一定会打倒那些说假话和假作证的人. --赫拉克利特" 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47988545 1.  总线 总线是连接各个部件的信息传输线,是 各个部件共享的传输介质. 1.1             面向CPU 的双总线结构框图 1.2             单总线结构框图 1.3             以存储器为中心的双总线

OpenCV for Python 学习笔记 三

给源图像增加边界 cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) src:源图像 top,bottem,left,right: 分别表示四个方向上边界的长度 borderType: 边界的类型 有以下几种: BORDER_REFLICATE # 直接用边界的颜色填充, aaaaaa | abcdefg | gggg BORDER_REFLECT # 倒映,abcdefg | gfedcbamn | nmabcd

JSP常见的三个编译指令

JSP常见的三个编译指令 1.page指令   是针对当前页面的指令 2.include指令    用于指定包含另一个页面 3.taglib指令    用于定义和访问自定义标签

NFC学习笔记——三(在windows操作系统上安装libnfc)

本篇翻译文章: 这篇文章主要是说明如何在windows操作系统上安装.配置和使用libnfc. 一.基本信息 1.操作系统: Windows Vista Home Premium SP 2 2.硬件信息: System: Dell Inspiron 1720 Processor: Intel Core 2 Duo CPU T9300 @ 2.5GHz 2.5GHz System type: 32-bit Operating System 3.所需软件: 在windows操作系统上安装软件需要下列

swift学习笔记(三)关于拷贝和引用

在swift提供的基本数据类型中,包括Int ,Float,Double,String,Enumeration,Structure,Dictionary都属于值拷贝类型. 闭包和函数同属引用类型 捕获则为拷贝.捕获即定义这些常量和变量的原作用域已不存在,闭包仍然可以在闭包函数体内引用和修改这些值 class属于引用类型. Array的情况稍微复杂一些,下面主要对集合类型进行分析: 一.关于Dictionary:无论何时将一个字典实例赋给一个常量,或者传递给一个函数方法时,在赋值或调用发生时,都会