首页 > 网站 > WEB开发 > 正文

JavaWeb基础学习笔记

2024-04-27 15:12:36
字体:
来源:转载
供稿:网友

javaWeb基础学习笔记

JavaWeb基础学习笔记什么是jspJSP的基础语法JSP页面的构成元素JSP页面的生命周期脚本声明表达式注释JSP内置对象什么是内置对象九种JSP内置对象常用的内置对象共有5种内置对象out内置对象request内置对象response内置对象session生命周期内置对象application其他4类非常用内置对象内置对象的作用域分为四类JavaBean什么是JavaBeanJavaBean的设计原则JavaBean与Jsp动作标签什么是Jsp动作标签使用Jsp动作标签调用JavaBeanJSP的状态管理SessionCookieSession和Cookie的对比JSP指令与动作元素include指令include动作include指令include动作的区别jspforward 动作jspparam 动作

什么是JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似asp技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入 Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在linux下运行,也能在其他操作系统上运行。



JSP的基础语法

JSP页面的构成元素

JSP页面的构成元素


JSP页面的生命周期

JSP页面的生命周期


脚本

格式:<% 代码片段 %> 代码片段中可写任意java代码,可定义变量、方法、表达式。 例:

out.PRintln("Your IP address is " + request.getRemoteAddr());

声明

格式:<%! 声明 %> 代码片段中可写任意的java声明:声明变量、方法。 例:

<%! int i = 0;%><%! int a, b, c;%><%! Cicle a = new Circle(2,0);%>

表达式

格式:<%=表达式%> 表达式中的值会被转化成String,然后在插入HTML中。 例:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>Test</title></head><body><p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%></p></body> </html> 今天的日期是: 2017-1-30 12:03:07

注释

Jsp中有三种注释方法: 第一种:

<!-- -->

这是HTML的注释,注释的内容可以在浏览器中查看

第二种:

<%-- 代码片段 --%>

这是jsp注释,注释的内容无法在浏览器中查看

第三种:

<% //String s = new String(); /*for(int i = 0; i < 10; i++){ out.println("这是第"+i+"行"); }*/%>

这是java代码注释。



JSP内置对象

什么是内置对象

jsp内置对象是Web容器创建的一组对象,不能使用new关键字,就能直接使用的对象。

<% int [] value = {60, 70, 80}; for(int i: value){ out.println(i);//out是常用的内置对象之一 }%>

九种JSP内置对象

这里写图片描述

常用的内置对象共有5种

outrequestresponsesessionapplication
内置对象——out

这里写图片描述

内置对象——request

这里写图片描述 这里写图片描述

内置对象——response

这里写图片描述

内置对象——session

这里写图片描述 这里写图片描述

生命周期:

这里写图片描述这里写图片描述这里写图片描述 Session生命周期的设置方法: 这里写图片描述

内置对象——application

这里写图片描述 这里写图片描述

其他4类非常用内置对象

pagepageContextexceptionconfig

内置对象——page 这里写图片描述

内置对象——pageContext 这里写图片描述 这里写图片描述

内置对象——config 这里写图片描述

内置对象——exception 这里写图片描述

Tip: 处理错误的页面中的page指令中必须表明该页面是错误处理页面,即:page中必须有属性:isErrorPage=”ture”。出现错误的页面中的page指令中必须有errorPage=”xxx.jsp”表示:当前页面出现异常之后,交给哪个页面处理异常。 如下图: 这里写图片描述 这里写图片描述

内置对象的作用域分为四类:

名称 作用域
page 仅在当前页面有效
request 仅在当前请求有效
session 仅在当前会话有效
application 在所有web程序(服务器)中有效
内置对象 名称 Java 类 作用域
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page


JavaBean

什么是JavaBean

这里写图片描述


JavaBean的设计原则

这里写图片描述


JavaBean与Jsp动作标签

什么是Jsp动作标签

这里写图片描述

使用Jsp动作标签调用JavaBean

这里写图片描述

useBean

这里写图片描述 这里写图片描述 - 在作用范围内,如果之后使用的usebean的id已在作用范围内存在,则表示直接使用之前建立的对象。 - 除了使用jsp:useBean再次调用范围内已存在的javabean,还可以使用内置对象如application.getAttribute(“Javabean id”),获取javabean对象(不过需要类型转换)。 - 点击一次超链接相当于一次重定向,request会新建,上一个request范围的对象就无法调用了。 - setProperty

这里写图片描述 - 第一个:property = “*”:与提交过来的表单相对应,对应的input name写入数据到javabean,例如:input name=“username”,则javabean中的私有属性username就会等于input中的数据。(全部匹配)。 - 第二个:property = “javabean属性”:与表单中的部分属性匹配。 - 第三个:给javabean属性value的值。 - 第四个:param中的属性名除了是表单还可以是URL传参。 - getProperty

这里写图片描述



JSP的状态管理

保存用户状态的两大机制: 1. Session:将用户数据保存在服务器。 2. Cookie:将用户数据保存在本地Cookie,用于不重要或非隐私的数据。 - 两者都是时间限制,即有效期


Session

服务器为不同的客户端在内存中创建了用于保存数据的Session对象,并将用于标识该对象的唯一Id发回给与该对象对应的客户端。当浏览器再次发送请求时,SessionId也会被发送过来,服务器凭借这个唯一Id找到与之对应的Session对象。在服务器端维护的这些用于保存与不同客户端交互时的数据的对象叫做Session。


Cookie:中文名称为“小甜点”,是web服务器保存在客户端的一系列文本信息。 作用: 1. 对特定对象的追踪; 2. 保存用户网页浏览记录与习惯; 3. 简化登录; 安全风险:容易泄露用户信息;

典型应用一:判断注册用户是否已登录网站。 典型应用二:“购物车”的处理。

jsp中创建与使用Cookie: 1. 创建Cookie对象: Cookie cookie=new Cookie(String key,Object value); 2. 写入Cookie: response.addCookie(cookie); 3. 读取Cookie: Cookie[] cookies=request.getCookies(); 这里写图片描述 Note:在cookie中保存中文字符串 1. 使用request.setCharacterEncoding(“utf-8”); 2. 需要使用 URLencoder 工具类中的encode(String, 编码名)方法编码。 3. 使用URLencoder类中的decode(String, 编码名)方法解码。 4. 这里写图片描述

Session和Cookie的对比

这里写图片描述


JSP指令与动作元素

include指令

语法: <%@ include file = "URL" %>


include动作

语法:

<jsp:include page="URL" flush ="true| false" />

include指令include动作的区别

这里写图片描述

指令:两个页面的源代码一起放置到一起,因此只有一个servlet动作:包含页面将被包含页面输出打印到自己页面上,因此有两个servlet。

jsp:forward 动作

语法:

<jsp:forward page = "URL"/>等同于:request.getRequestDispatcher("/URL").forward(request,response);

jsp:param 动作

<jsp:param name = "参数名" value = "参数值">

Tip:常常与<jsp:forward>一起使用,作为其子标签。 这里写图片描述


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表