jsp(Java server pages):
1、在html中嵌入Java脚本的代码
2、在应用服务器中的jsp引擎来编译执行嵌入的Java脚本代码
3、然后将生成的整个页面信息返回给客户端
jsp执行过程:
1、翻译 :".java"文件
2、编译阶段:".class"文件
3、执行阶段
jsp页面的元素包括:
HTML静态文本 静态内容
<%@ %>指令
<%=Java表达式 %>表达式(把内容显示在页面上)
<%java 代码%>小脚本(除了导包、表达式以外就可以写在小脚本里)
<%!方法%>声明
<!-- -->文档注释,前台可以看到<%-- --%>jsp注释,前台看不到
page指令:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
include指令:嵌入页面
<div>
<%@include file="include.jsp"%>
</div>
声明:
<%!
int n=0;
boolean isleapyear(int year){
return (year%4==0&&year%100!=0)||year%400==0;
}
%>
<%
for(int i=2000;i<=2016;i++){
if(isleapyear(i)){
n++;
}
}
%>
表达式:
从2000到2016年期间,共有
<%=n %><br>
个闰年
jsp注释:
html的注释:<!-- html注释-->
jsp注释:<%--jsp注释 --%>
在jsp脚本中注释:
在jsp脚本中注释:
<%//单行注释%>
<%/*多行注释*/%>
什么是jsp内置对象:
1、jsp内置对象是web容器创建的一组对象
2、jsp内置对象的名称是jsp的保留字
3、jsp内置对象是可以直接在jsp页面使用的对象,无需使用“new”获得实例
内置对象:
1、request
2、response
3、session(时效性大约30分钟)
4、application
5、out
6、config
7、page
8、pageContext
9、exception
request对象常用的方法:
String getParameter(String name)//根据页面表单组件名称获取页面数据
String[] getParameterValues(String name)//根据页面表单组件名称获取数据数组
String[] setCharacterEncoding("iso8859-1")//使用于post提交的字符编码
response对象:
response对象用于相应客户请求并向客户端输出信息
response对象常用方法:void sendRedirect():请求重新定位到一个不同URL,即页面重定向
使用转发取代重定向实现页面跳转:
转发的作用:在多个页面交互过程中实现请求数据的共享
转发的实现:
RequestDispatcher对象
RequestDispatcher rd=request.getRequestDispatcher("login.jsp");
rd.forward(request, response);
什么是cookie:
cookie是web服务器保存在客户端的一系列文本信息
cookie的作用:
1、对特定对象的追踪
2、统计网页浏览次数
3、简化登录
安全性能:
容易信息泄露
cookie常用方法:
void setMaxAge(int )设置有效期
void setValue(string value)修改值
String getname()获取名称
String getvalue()获取值
String getMaxAge()获取Cookie的有效时间,以秒为单位
session:用来存储有关用户会话的所有信息
常用方法:
void setAttribute(string key,object value)
object getattribute(string key).通过key获取对象值
int getmaxinactiveinterval()获取sesssion的有效非活动时间,以秒为单位
string getid()获取对象编号
void invalidate()设置session对象时效
Cookie与session的比较:
1、session是在服务器端保存用户信息,cookie是在客户端保存用户信息
2、session中保存的是对象,cookie保存的是字符串
3、session随会话结束而关闭,cookie可以长期保存在客户端
4、cookie通常用于保存不重要的用户信息,重要的信息使用session保存
application:
1、实现服务内数据的共享
2、在服务内只存在一个对象实例
常用方法:
void setAttribute(String key,Object value):以key/value的形式保存对象值
Object getAttribute(String key):通过key获取对象值
String getRealPath(String path):返回相对路径的真实路径
JSP内置对象范围:
page在一个页面有效
request在一个服务器请求范围内有效
session在一次会话内有效
application在一个应用服务器范围