JSP 知识小结
页面元素
Cookie
Cookie
是一种浏览器和服务器交互数据的方式。
Cookie
是由服务器端创建,但是不会保存在服务器。
创建好之后,发送给浏览器。浏览器保存在用户本地。
下一次访问网站的时候,就会把该Cookie
发送给服务器。
Session
Session
对应的中文翻译是会话。存储在服务器的缓存中,可通过session.getAttribute("name")
获取session
中的数据,
会话指的是从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。 直到该用户关闭浏览器为止,都属于同一个会话。
作用域
JSP有4
个作用域,分别是
pageContext
:当前页面
requestContext
:一次请求
sessionContext
:当前会话
applicationContext
: 全局,所有用户共享
隐式对象
JSP的隐式对象指的是不需要显示定义,直接就可以使用的对象.
JSP一共有9
个隐式对象,分别是:request
、response
、out
、pageContext
、session
、application
、page
、config
、exception
。
JSTL
JSTL JSP Standard Tag Library 标准标签库
JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能。
JSTL库有core
, i18n
, fmt
, sql
等等。
i18n
和sql
用的很少,core
和fmt
在工作中会用到。
EL表达式
不同版本的tomcat
是否默认开启对EL表达式的支持,是不一定的。
所以为了保证EL
表达式能够正常使用,需要在<%@page
标签里加上isELIgnored="false"
,使用EL
表达式,非常简单。
连接数据库
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
-->
<sql:setDataSource
var="snapshot"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/how2java?useUnicode=true&characterEncoding=utf-8"
user="root"
password=""/>
<sql:query dataSource="${snapshot}" var="result">
SELECT * from hero;
</sql:query>
<h1>JSP 数据库实例</h1>
<table border="1" width="100%">
<tr>
<th>ID</th>
<th>英雄名称</th>
<th>血量</th>
<th>伤害</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.name}"/></td>
<td><c:out value="${row.hp}"/></td>
<td><c:out value="${row.damage}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>