JavaWeb基础学习笔记

JavaWeb基础学习笔记

什么是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种
  • out
  • request
  • response
  • session
  • application
内置对象——out

这里写图片描述

内置对象——request

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

内置对象——response

这里写图片描述

内置对象——session

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

生命周期:

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

内置对象——application

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

其他4类非常用内置对象
  • page
  • pageContext
  • exception
  • config

内置对象——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>一起使用,作为其子标签。
这里写图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值