1.什么是JSP?
(0)全称:Java Server Pages java服务端页面。
(1)JSP是一种web的动态页面技术(数据可以随时更新--通过java技术)
(2)JSP页面作用:可以编写HTML代码+Java代码
(3)jsp页面其本质就是一个简化的servlet程序。(serlvet就是一个java文件。)
b站---搜索所有的java教程---讲解javaweb技术---先从servlet开始讲--jsp
体系:先将jsp,再涉及到servlet 目的很简单---学习更容易。
(4)在JSP页面要编写Java代码 需要有一个特殊的区域容器包裹。
2.为什么要学习JSP?
(1)简单,实现动态技术交互(java+HTML数据交互)
(2)jsp页面要比servlet简单,容易入门。
3.web应用程序的工作原理
web服务器作用:中转站 接收用户请求,将请求进行解析---》给到数据库数据匹配--最终响应给客户端
客户端(浏览器被打开)---访问一个资源----相当于想服务器发送了一个请求
--服务器接收该请求---服务器将接收的请求进行解析获取---将数据发送到数据库服务器中---进行匹配
---不管匹配成功与否---都会返回一个数据出来给服务器---服务器拿到这个结果---反馈给客户端。
4.JSP的工作原理?
(1)客户端(浏览器打开访问指定资源(访问一个指定的资源里面的一个JSP页面))
---向指定的web服务器发送了一个请求
(2)服务器要接收用户发送的请求,服务器此时需要做一件事情:拿着这个用户的请求进行解析,看当前服务器中是否存在这个页面
(3)请求的页面在web服务器存在,但是识别不了,必须将jsp页面文件转换一个servlet文件去编译(java)
(4)将java文件编译成.class字节码文件才能识别
(5)识别后,能够将所有请求信息进行解决,最后将结果响应(反馈)给当前客户端。
注意事项:只要web程序中的某个资源页面第一次被访问时,JSP会立刻生成一个java文件
D:\Zking\workspace\t281_web\ 根据各自的电脑而定 工作区间
路径:D:\Zking\workspace\t281_web\.metadata\.plugins\
org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\
web_02\org\apache\jsp
在不改变JSP页面内容的情况下,不停的刷新JSP页面,生成的java文件不会发生改变
一旦涉及到JSP页面内容的改变,java文件会自动更新。
5.JSP页面的组成
6个模块:静态内容(HTML+CSS),指令,注释,脚本,声明,表达式
5.1 JSP指令
作用:可以设置JSP页面的编码以及导入外类Java文件类引入外部HTML网页JSP文件导入第三方JSTL库。
整个JSP体系中指令:3个 简称三大指令
(1)page指令(2)include指令(3)taglib指令
今日讲解指令:page指令 另外两个 后续再将。
------------------------------------------------------
page指令:
作用:可以设置JSP页面的编码以及导入外类Java文件类
在JSP页面的存放位置:必须放于最顶端。
<%--
//这行代码自动生成 所以不需要死机
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
language="java" 该页面可以支持的语言
contentType="text/html; charset=utf-8" 页面的内容类型 支持HTML 编码utf-8
pageEncoding="utf-8" jsp页面的编码 utf-8
导入Scanner
<%@ page import = "java.util.Scanner"%>
--%>
5.2 注释
整个JSP页面中,需要编写的代码:HTML+CSS+JS+jQUery+Bootstrap+easyui+Java代码
每种技术中所标记的注释格式是不一样的。 快捷方式也不一样
HTML注释 <!-- -- > 作用:在页面上不会显示,查看源代码可以显示
CSS注释 /* */ 作用:在页面上不会显示,查看源代码可以显示
JavaScript|jQuery注释 //单行注释 /*多行注释*/ 作用:在页面上不会显示,查看源代码可以显示
Java代码注释 //单行注释 /*多行注释*/ 作用:在页面上不会显示,查看源代码不可以显示
JSP脚本注释 <%-- --%> 作用:在页面上不会显示,查看源代码不会显示
5.3 脚本
所谓脚本就是能够编写java代码。 < % % >
5.4 声明模块
语法: < % ! % >
作用:定义变量,定义方法
5.5表达式
语法: < % = % >
作用:输出功能,并且每个表达式后面严禁+; 否则报错
2.关于HTML语言中的form表单提交的方式
(1)所有的表单元素如果要进行页面提交需要使用form标签包裹。
(2)关于form标签上的属性作用
action 提交的地址 发送当前页面的数据到另外的页面去。
method 请求的方式
get请求 特点:参数会暴露在地址栏上,数据大小有限制,不安全,做一些查询的工作
post请求 特点:与get请求正好相反
如果不想通过form表单进行提交数据
js---location拼接
6.request对象
概念:浏览器客户端发送一个请求给服务器,服务器肯定要接收这个请求。
此时,请求中的数据全部会封装到JSP的request请求对象中。
在服务器中 如果要获取请求中的信息 你需要通过request对象调用指定的方法来获取。
而且获取前必须给form表单中的所有输入项设置name属性才能获取
因为request对象调用的方法是通过name属性去获取的。
注意事项:
服务器中的中转页面接收请求是,如果请求中的数据含有中文。
在获取前需要设置request请求对象中数据编码格式 否则会出现乱码。
request对象中的方法:20个左右
目前:掌握3个就OK
setCharacterEncoding() 设置请求的编码格式
getParameter 获取请求参数 获取一个值
getParameterValues 获取一个key对应的多个参数 获取一组值
浏览器发送的请求给服务器,服务器不能直接接收请求,
需要通过一个页面来接收,接收后与数据库进行交互在将数据响应给浏览器。
案例:用户登录
1.登录页面:输入用户和密码 进行登录
2.中转站页面:接收登录页面提交的数据 进行数据库交互
只要有页面提交的概念,都必须创建中转站页面。
中转站页面的所有命名规则: 以do开头+当前页面的名称。
中转站页面作用:只用来做获取数据及数据库交互,并没有实现页面显示
所以,该页面中所有的HTML标记都可以去掉。
3.成功的页面
与数据库进行交互后,如果满足要求--进入主页面的
如果不满足要求---重新进入登录页面进行登录验证。