Jsp入门
一、JSP基础语法
1.JSP指令:
page inlcude taglib
2.JSP注释:
a.html注释: <!-- abcdefghijklmn -->
b.jsp注释: <%-- abcdefghijklmn --%>
c.jsp脚本内: //abcdefghijk /*abcdefghijk*/
3.jsp脚本:
<% java代码 %>
4.jsp声明:
<%! java代码 %>
5.jsp表达式:
<%= 表达式 %>
二、JSP内置对象:
0.补充
(1)Web的请求---响应模式:
Client(request)<------->Server(response)
(2)表单提交方式:
(3)中文乱码:
a.jsp中设置contentType的charset为UTF-8
b.request对象setCharacterEncoding设为utf-8
c.URL传参配置tomcat的server.xml, connector中添加URIEncoding=utf-8
(4)请求重定向与请求转发:
a.重定向:客户端行为,两次请求,不保存前次请求内容,URL地址改变
//response.sendRedirect("page");
b.转发:服务器端行为,一次请求,保存请求内容,URL不变
//request.getRequestDispatcher("page").forward(request,response);
1.out对象
(1)简介:
a.JspWriter类的实例
(2)主要方法:
a.println();
b.clear();
c.flush();
d.getBufferSize();
e.getRemaining();
f.isAutoFlush();
g.close();
2.request对象
(1)简介:
a.HttpServeletRequest类的实例
(2)主要方法:
a.getParameter("_name");
b.getParameterValues("_name");
c.set/getCharacterEncoding("utf-8");
d.setAttribute("attr_name","attr_value"); getAttribute("attr_name");
e.getContentType();
f.getProtocol();
g.getServerName(); getServerPort();
h.getContentLength();
i.getRemoteAddr();
j.getRealPath();
k.getContextPath();
3.response对象
(1)简介:
a.HttpServeletResponse类的实例
b.具有页面作用域
(2)主要方法:
a.getCharacterEncoding();
b.setContentType("type");
c.getWriter();//打印时提前于out内置对象
d.sendRedirect(java.lang.String location)
4.session对象--会话
(1)简介:
a.保存在服务器内存中
b.不同用户对应不同session
(2)常用方法:
a.getCreateTime();
b.getId();
c.setAttribute ("attr_name","attr_value");
d.getAttribute("attr_name");
e.getValueNames();
f.setMaxInactiveInterval();
(3)生命周期:
a.创建: 生成一个SessionId,在当前生存周期内对所有页面均一致
b.活动:页面跳转啊什么的
c.销毁: session.invalidate()方法/web.xml中配置、 超时、 服务器重启
5.application对象
(1)简介:
a.实现数据共享
b.类似const/final
c.ServerletContext类的对象
(2)常用方法:
a.setAttribute("attr_name",attr_value);
b.getAttribute("attr_name");
c.getAttributeNames();
d.getServerInfo();
6.Page对象
a.Object类的实例
b.似this指针
c.方法同JAVA中的Object
7.pageContext对象
(1)主要方法:
8.config对象
a.getServletContext();
b.getInitParameter("name");
c.getInitParameterNames();
9.Exception对象
(1)简介:
a.java.lang.Throwable的对象
b.须设置isErrorPage="true"
c.Page指令中配置errorPage属性
(2)方法:
a.getMessage();
b.toString();
c.printStackTrace();
d.FillInStackTrace();
三、Javabeans:
一种特殊的java类
1.设计原则:
(1)类公有
(2)成员私有
(3)公有无参构造方法
(4)getter/setter方法
2.jsp动作元素:
一个XML标签
(1)与存取javabean有关的:
<jsp:useBean> <jsp:setProperty> <jsp:getProperty>
(2)基本元素:
JSP1.2开始有的6个
(3)与JSP Document相关的:
(4)动态生成XML元素标签:
(5)Tag File中的:
3.Javabeans使用:
(1)新建类的方式:
a.跟使用普通JAVA类一样
b.遵循Javabeans设计原则就行
c.jsp页面中用Page指令import进来就行
(2)使用jsp的动作标签:
a.usebean:
<jsp:useBean id="_id" class="class_name" scope="page" />;
b.setProperty:
<jsp:setProperty name="javabean_name" property="*" />(跟表单关联,自动匹配);
<jsp:setProperty name="javabean_name" property="javabean_attrName" />(跟表单关联,部分匹配);
<jsp:setProperty name="javabean_name" property="javabean_attrName" value="beanVlaue"/>(手工设置);
<jsp:setProperty name="javabean_name" property="propertyName" param="request传参"/>(与request对象关联);
c.getProperty:
<jsp:getProperty name="javabean_name" property="prop_name" />;
4.javabeans作用域范围
scope属性的取值:
(1)page
(2)session
(3)request
(4)applocation
四、Jsp状态管理
1.http状态:
无状态性:服务器并不认识请求的来源
2.Jsp保存用户状态的机制:
(1)Session:服务器端 内存 Object 短时销毁
(2)Cookie: 客户端 文本 String 长期保存
3.Cookie:
(1)作用:
a.追踪
b.保存记录
c.简化登录
(2)创建与使用:
a.创建:new Cookie(String key, Object value);
b.写入:response.addCookie(cookie_Object);
c.读取:request.getCookies();//返回一个Cookie数组
(3)常用方法:
a.setMaxAge(int time);//单位是秒
b.setValue(String value);
c.getName();
d.getValue();
e.getMaxAge();
五、Jsp指令与动作
1.include:
(1)指令:
<%@include file="url"%>;
(2)动作:
<jsp:inlcude page="url" flush="true|false"/>;
(3)比较:
2.forward:
<jsp:forward page="url" />;
<%request.getRequestDispatcher("url").forward(request,response)%>;
3.param:
<jsp:param value="" name="" />;
Jsp入门学习笔记的更多相关文章
-
Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
-
Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
-
Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
-
PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
-
PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
-
Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
-
Scala入门学习笔记三--数组使用
前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...
-
OpenCV入门学习笔记
OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...
-
stylus入门学习笔记
title: stylus入门学习笔记 date: 2018-09-06 17:35:28 tags: [stylus] description: 学习到 vue, 有人推荐使用 stylus 这个 ...
随机推荐
-
在CentOS 7.2下升级gcc编译器的版本
默认情况下,CentOS 7.2预装的gcc版本是4.8.x,通过执行命令 gcc -v 可以看到,一般情况下这个版本的编译器已经满足需要了,但是某些特殊的时候为了支持C++更高的特性,需要对gcc编 ...
-
我与ADO.NET二三事(2)
继上篇开始,这里主要再次精简.因为大家已经熟悉了主要思想以及它的工作方式.那么这里提供的案例改动会很大.上篇的DatabaseCommand***均是为了大家能够轻松的理解所临时编写的.这次提供的接口 ...
-
JavaScript的DOM操作(一)
DOM:文档对象模型 --树模型文档:标签文档,对象:文档中每个元素对象,模型:抽象化的东西 一:window: 属性(值或者子对象):opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器 ...
-
iOS之多线程开发NSThread、NSOperation、GCD
原文出处: 容芳志的博客 欢迎分享原创到伯乐头条 简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Centr ...
-
Spring MVC 使用介绍(十五)数据验证 (二)依赖注入与方法级别验证
一.概述 JSR-349 (Bean Validation 1.1)对数据验证进一步进行的规范,主要内容如下: 1.依赖注入验证 2.方法级别验证 二.依赖注入验证 spring提供BeanValid ...
-
Google搜索
https://www.google.com/intl/br/insidesearch/tipstricks/all.html 如何用好谷歌等搜索引擎?
-
delphi button 实现下拉列表
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
-
python QMainWindow QWidget
from PyQt5 import QtWidgetsfrom untitled import Ui_MainWindowfrom PyQt5.QtWidgets import QFileDialog ...
-
MFC中用户自定义类响应自定义消息
这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理.方式和路径的文章在网上和书本中随处可见.网上众多的讨论都是关于如何响应并进行用户自定义消息映射的:网上还有一些文章介绍如何在自定义 ...
-
bzoj 1787: [Ahoi2008]Meet 紧急集合
1787: [Ahoi2008]Meet 紧急集合 Description Input Output Sample Input 6 4 1 2 2 3 2 4 4 5 5 6 4 5 6 6 3 1 ...