目录
jsp的简介
1.jsp的介绍:
(1)jsp全称:java server pages java服务端页面 如何HTML页面一样,能够通过浏览器去显示对应的效果
(2)jsp页面:与HTML页面不一样的是,jsp页面能写java代码也能编写HTML代码
(3)jsp页面其本质就是一个servlet,servlet就是一个java文件。
(4)项目部署到tomcat服务器后,如果通过浏览器访问它,这个页面会立刻通过"jsp引擎"转换成一个java文件(servlet)
(5)jsp页面能够编写java代码,必须要满足的格式<%-- <% %> --%>
(6)jsp页面:后缀名 .jsp 而不是.html。
2.学习jsp的原因:
(1)jsp页面能写java也能写html。
(2)如果我们直接将页面的标签编写到servlet中,是一个很尴尬的过程,能实现,但是很复杂。
3.jsp的工作原理:
(1)通过浏览器输入url访问地址后,向服务器发送一个请求
(2)服务器接收到这个请求后会找到这个页面去生成一个.java的源文件
(3)由于java源文件识别不了,需要通过jdk编译成.class字节码文件
(4)达到运行状态重新会生成一个jsp文件响应给客户端看到指定的效果
4.jsp的组成:
一个成型的jsp页面的组成如下:
静态内容:(HTML+css)(注释)
动态内容:
jsp指令
jsp声明
jsp脚本
jsp表达式
5.jsp的注释问题:
在jsp页面中的注释:HTML注释,js脚本注释,jsp脚本(java)注释
(1)HTML注释 <!-- -- > 不会在页面上显示,可以通过查看源代码显示
(2)js脚本注释 //单行注释 /*多行注释*/ 不会在页面上显示,可以通过查看源代码显示
(3)jsp脚本(java)注释 <%-- 注释 --%> 不会在页面上显示,也不会在源代码内显示
6.jsp的指令作用:
整个jsp体系中,指令:三大指令
作用:可以设置编码可以引入其它页面可以引入第三方插件标签
a.page指令:指定jsp文件的编码以及html标签的编码也可以引入java中的系统类,该指令必须位于jsp页面的顶部。
格式: <%@ page import %>
作用:指定该文件可以识别java语言,内容基于html,编码utf-8 整个jsp页面的编码是utf-8
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
作用:在jsp页面中引入系统类导包
<%@page import="java.util.Scanner"%>
b. include指令:引入其它页面
c.taglib指令:引入JSTL第三方库(if选择标签,for循环标签)
7.jsp的脚本详解:
语法格式:
<%--
<% jsp脚本的格式 %>
--%>
作用:能编写java代码
8.jsp的声明详解:
语法格式:
<%--
<%! %>
--%>
作用:可以定义变量 可以定义方法
9.jsp的表达式详解
语法:
<%--
<%= %>
--%>
作用:类似out.println();做一个输出语句作用
注意事项:jsp的表达式后面不能接分号.
jsp之表单提交方式
jsp的form表单的提交方式
action = "路径" 表单的提交地址
method = "" 提交页面的请求的方式
get请求 表单元素上设置name属性,name在提交数据时,数据会暴露在地址栏上,安全性低,效率高一点。
而且数据的大小有限制。
post请求
正好与get相反。 会将数据封装到html中的head部中。
jsp的内置对象
1.何为内置对象?
在jsp体系中已经定义好,无需自己创建,这些内置对象不需要实例化直接用即可。
2.内置对象:
out对象
request对象
response对象
session对象
application对象
config对象
exception对象
page对象
pageContext对象
3.request对象:
request的意思:请求
客户端浏览器向服务器发送一个请求,会将客户端的信息封装到request这个对象中
,后续在服务器中得到客户端的消息需要通过request对象的某些方法去获取到,将这些信息
送往数据库中去匹配。
web应用的原理:
客户端-------- >服务器 ------- >数据库
|
客户端<----------服务器
request对象使用:
作用:获取表单提交的数据 可以通过request对象直接获取到
但是,使用request获取数据时,必须在form表单上的每个输入项中标记name属性
request中的方法是通过name属性来获取值的。
getParameter方法:获取单个数据 返回类型 String
getParameterValues 获取一个key对应的多个参数
案例:
//1.获取账号
String username = request.getParameter("username");
out.println("表单输入的值为: "+username);
//2.获取密码
String password = request.getParameter("password");
out.println("<br/>表单输入的值为: "+password);
//getParameterValues 获取一个key对应的多个参数
//获取多个值 复选框可以选中多个值
String[] hobbys = request.getParameterValues("hobby");
out.println("<br/>您选择的爱好如下: ");
if(hobbys!=null){
for(String hb:hobbys){
out.println(hb);
}
}else{
out.println("没有选中爱好");
}
思维导图总结