`

jsp学习笔记

    博客分类:
  • JSP
阅读更多

一 JSP基础语法
JSP页面元素构成
指令;表达式;小脚本;声明;注释;静态内容

1 指令元素
page指令
通常位于jsp页面顶端 同一个jsp页面可以包含多个page指令
<%@ page 属性1 = “属性值” 属性2 = “属性值” %>
language
import
contentType
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page language="java" import="java.util.*"%>
include指令
将一个外部文件嵌入到当前jsp文件中,同时解析这个页面的jsp语句
taglib指令
使用标签库定义新的自定义标签,在jsp页面中启动定制行为
2 jsp脚本
在jsp页面中嵌入java代码
<%  %>
3 jsp声明元素
定义变量或者方法
<%! %>
4 表达式
在jsp页面中执行的表达式
<% = %>
var myDate  = "<%=now_str%>";
$("#pc").val("<%=pici_jiange%>");
5 jsp注释
<%-- 注释内容 --%>  jsp注释  被浏览器隐藏
<!-- 注释内容 -->  html的注释 浏览器可见
Java注释:只能出现在Java代码区中,不允许直接出现在页面中
6 静态内容
html标签

jsp的内置对象
(1)out对象
out.println("");
提交方式get与post区别

get快 但不安全 明文方式 提交信息在地址栏可以看到。数据量不能超过2kb,适合搜索 查询功能
post 安全 适合数据量大 安全性交稿的信息 比如 注册 修改 上传
(2)request对象
String getParameter(String name) 返回name指定参数的参数值
Enumeration getParameterNames() 返回可用参数名的枚举
response对象 很少使用
请求转发和请求重定向的区别
请求重定向:客户端行为,respnse.sendRedirect() 从本质上讲等同于两次请求,前一次请求对象不会被保存,地址栏的URL会改变
请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp)是一次请求 转发请求对象会保存,url不会改变
(3) session
表示客户端和服务器的一次会话
在服务器的内存中存着不同用户的session
session对象
在第一个jsp页面被装载的时候自动创建,完成会话期管理
从一个客户打开浏览器并连接到服务器开始,到客户关闭李兰器离开这个服务器结束 被称为一个会话
当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象
session对象时HttpSession类的实例

(4)application对象
application对象实现了用户间数据的共享,可存放全局变量
application开始于服务器的启动,终止于服务器的关闭
(5)page对象
指向当前jsp页面本身,类似java的this
他是java lang object类的实例
(6)pageContext对象
pageContext对象提供了对jsp页面内所有对象及名字空间的访问
可以访问到本页的session 也可以取本页所在application的某一属性值
页面中所有功能的集成者
(7) Exception对象
异常对象,当一个页面在运行过程中产生了异常,就产生这个对象。如果一个jsp要用该对象,就必须把isErrorPage设置为true,否则无法编译


javabean
设计原则:公有类 无参数的公有构造方法 属性私有 getter和setter方法
第一种使用方式 用new关键字 实例化实例,然后用.调用
<%
 Users user = new Users();
 user.setUsername("admin");
 user.setPassword("123456");
 
%>
用户名:<%=user.getUsername()%>

第二种使用方式 使用动作标签
<jsp:useBean id = "标识符" class="java类名" scope="作用范围" />
<jsp:useBean  id="myUsers" class="com.po.Users" scope="page"/>
用户名:<%=myUsers.getUsername()%>

<jsp:setProperty>
作用:给已经实例化的javabean对象的属性赋值 一共四种形式
<jsp:setProperty name = "JavaBean实例名" property="*" />跟表单关联
<jsp:setProperty name = "JavaBean实例名" property="javabean属性名" />跟表单关联
<jsp:setProperty name = "JavaBean实例名" property="javabean属性名" value = "" />手工设置
<jsp:setProperty name = "JavaBean实例名" property="propertyName" param = "request对象中的参数名" /> 跟request参数关联

<jsp:getProperty>
<jsp:getProperty name ="javaBean实例名" property="属性名"/>
用户名:<jsp:getProperty name ="myUsers" property="name"/>


jsp无状态性
无状态是指当浏览器发送给服务器请求时候,服务器相应客户端请求。
但是当同一个浏览器再次发送请求给服务器时候,服务器并不知道是刚才的浏览器。
简单的说就是服务器不会记得你
保存用户状态的两大机制
session
cookie 典型应用判断用户是否已经登录网站 购物车

session        cookie
保存在服务器   保存在客户端
保存的Object类型 保存String类型
随着会话结束销毁  长时间保存客户端
保存重要信息      保存不重要用户信息

include指令
<%@ include file = "URL"%>
include动作
<jsp:include page = "URL" flush="true|false">
include指令和include动作区别
incdude指令                                        jsp:include动作
页面转换期间                                       请求期间
包含内容:实际内容                                 页面的输出
转换成servlet : 主页面和包含页面转换成一个servlert         独立的servlet
编译实际: 较慢                                       较快
执行时间:   稍快                                   较慢 每次资源必须解析
forward动作
<jsp:forward page = "URL">
param动作
<jsp:param name = "参数名"  value = "参数值">
常常与<jsp:forward>一起使用






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics