- 浏览: 496430 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
JSP 基础
工作原理
1.JSP引擎会将JSP文件编译成.class文件,就是一个servlet类,里面包含了一部分servlet里需要的对象和变量,还有以MAP参数传入的用户数据。
2.当请求这个JSP文件时就是把相关用户参数作为参数引用这个servlet类里的一个jspservic方法进行返里页面内容。
JSP 语法
1.脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
语法格式:
<% 代码片段 %>
JSP声明(只是定义好,不进行输出)
1.一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:
<%! declaration; [ declaration; ]+ ... %> //多了一个“!”
JSP表达式(结果变成String放到这里来)
1.一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
2.由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
3.表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:
<%= 表达式 %>
JSP注释
<%-- 注释 --%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!-- 注释 --> HTML注释,通过浏览器查看网页源代码时可以看见注释内容
JSP指令(是在生成servlet时进行的)
JSP指令用来设置与整个JSP页面相关的属性。(就是servlet里的有关对象的属性)
JSP指令语法格式:
<%@ directive attribute="value" %>
<%@ page ... %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %> 引入标签库的定义,可以是自定义标签
http://www.runoob.com/jsp/jsp-directives.html
JSP行为(是有请求时进行的)
JSP行为标签使用XML语法结构来控制servlet引擎。
一种语法格式:
<jsp:action_name attribute="value" />
include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。
http://www.runoob.com/jsp/jsp-actions.html
JSP隐含对象
JSP支持九个自动定义的变量,江湖人称隐含对象。(就是servlet里默认包含的对象)
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象
http://www.runoob.com/jsp/jsp-implicit-objects.html
JSP 表单处理
JSP 读取表单数据
getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。
getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型
getParameterNames():该方法可以取得所有变量的名称,该方法返回一个Emumeration。
getInputStream():调用此方法来读取来自客户端的二进制数据流。
<form action="main.jsp" method="POST/GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>
JSP 过滤器(实际就是java的过滤器)
JSP 和 Servlet 中的过滤器都是 Java 类。
过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。
可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。
JSP Cookie 处理
JSP Cookie 处理需要对中文进行编码与解码,方法如下:
String str = java.net.URLEncoder.encode("中文"); //编码
String str = java.net.URLDecoder.decode("编码后的字符串"); // 解码
使用JSP设置Cookie
Cookie cookie = new Cookie("key","value");//cookie名称和值做参数//名称和值中都不能包含空格或者如下的字符:[ ] ( ) = , " / ? @ : ;
cookie.setMaxAge(60*60*24);//设置有效期
response.addCookie(cookie);// 将cookie发送至HTTP响应头中
使用 JSP 读取 Cookie
Cookie cookie = null;
Cookie[] cookies = null;
// 获取cookies的数据,是一个数组
cookies = request.getCookies();
if( cookies != null ){
out.println("<h2> 查找 Cookie 名与值</h2>");
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
out.print("------------------------------------<br>");
}
}
使用JSP删除Cookie
Cookie cookie = null;
Cookie[] cookies = null;
// 获取当前域名下的cookies,是一个数组
cookies = request.getCookies();
if( cookies != null ){
out.println("<h2> 查找 Cookie 名与值</h2>");
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
if((cookie.getName( )).compareTo("name") == 0 ){
cookie.setMaxAge(0);
response.addCookie(cookie);
out.print("删除 Cookie: " +
cookie.getName( ) + "<br/>");
}
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
out.print("------------------------------------<br>");
}
}
JSP Session
if (session.isNew()){
title = "访问菜鸟教程实例";
session.setAttribute(userIDKey, userID);
session.setAttribute(visitCountKey, visitCount);
} else {
visitCount = (Integer)session.getAttribute(visitCountKey);
visitCount += 1;
userID = (String)session.getAttribute(userIDKey);
session.setAttribute(visitCountKey, visitCount);
}
JSP 页面重定向
public void response.sendRedirect(String location)
throws IOException
您也可以使用setStatus()和setHeader()方法来得到同样的效果:
....
String site = "http://www.runoob.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....
JSP 自动刷新
JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。
public void setIntHeader(String header, int headerValue)
<%
// 设置每隔5秒刷新一次
response.setIntHeader("Refresh", 5);
// 获取当前时间
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
out.println("当前时间为: " + CT + "\n");
%>
JSP 发送邮件
JSP 标准标签库(JSTL)(就是用标签的方式替代代码的一个库,方便使用)
工作原理
1.JSP引擎会将JSP文件编译成.class文件,就是一个servlet类,里面包含了一部分servlet里需要的对象和变量,还有以MAP参数传入的用户数据。
2.当请求这个JSP文件时就是把相关用户参数作为参数引用这个servlet类里的一个jspservic方法进行返里页面内容。
JSP 语法
1.脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
语法格式:
<% 代码片段 %>
JSP声明(只是定义好,不进行输出)
1.一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:
<%! declaration; [ declaration; ]+ ... %> //多了一个“!”
JSP表达式(结果变成String放到这里来)
1.一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
2.由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
3.表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:
<%= 表达式 %>
JSP注释
<%-- 注释 --%> JSP注释,注释内容不会被发送至浏览器甚至不会被编译
<!-- 注释 --> HTML注释,通过浏览器查看网页源代码时可以看见注释内容
JSP指令(是在生成servlet时进行的)
JSP指令用来设置与整个JSP页面相关的属性。(就是servlet里的有关对象的属性)
JSP指令语法格式:
<%@ directive attribute="value" %>
<%@ page ... %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include ... %> 包含其他文件
<%@ taglib ... %> 引入标签库的定义,可以是自定义标签
http://www.runoob.com/jsp/jsp-directives.html
JSP行为(是有请求时进行的)
JSP行为标签使用XML语法结构来控制servlet引擎。
一种语法格式:
<jsp:action_name attribute="value" />
include指令,它是在JSP文件被转换成Servlet的时候引入文件,而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。
http://www.runoob.com/jsp/jsp-actions.html
JSP隐含对象
JSP支持九个自动定义的变量,江湖人称隐含对象。(就是servlet里默认包含的对象)
request HttpServletRequest类的实例
response HttpServletResponse类的实例
out PrintWriter类的实例,用于把结果输出至网页上
session HttpSession类的实例
application ServletContext类的实例,与应用上下文有关
config ServletConfig类的实例
pageContext PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
Exception Exception类的对象,代表发生错误的JSP页面中对应的异常对象
http://www.runoob.com/jsp/jsp-implicit-objects.html
JSP 表单处理
JSP 读取表单数据
getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。
getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型
getParameterNames():该方法可以取得所有变量的名称,该方法返回一个Emumeration。
getInputStream():调用此方法来读取来自客户端的二进制数据流。
<form action="main.jsp" method="POST/GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>
JSP 过滤器(实际就是java的过滤器)
JSP 和 Servlet 中的过滤器都是 Java 类。
过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。
可以将一个或多个过滤器附加到一个 Servlet 或一组 Servlet。过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。
JSP Cookie 处理
JSP Cookie 处理需要对中文进行编码与解码,方法如下:
String str = java.net.URLEncoder.encode("中文"); //编码
String str = java.net.URLDecoder.decode("编码后的字符串"); // 解码
使用JSP设置Cookie
Cookie cookie = new Cookie("key","value");//cookie名称和值做参数//名称和值中都不能包含空格或者如下的字符:[ ] ( ) = , " / ? @ : ;
cookie.setMaxAge(60*60*24);//设置有效期
response.addCookie(cookie);// 将cookie发送至HTTP响应头中
使用 JSP 读取 Cookie
Cookie cookie = null;
Cookie[] cookies = null;
// 获取cookies的数据,是一个数组
cookies = request.getCookies();
if( cookies != null ){
out.println("<h2> 查找 Cookie 名与值</h2>");
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
out.print("------------------------------------<br>");
}
}
使用JSP删除Cookie
Cookie cookie = null;
Cookie[] cookies = null;
// 获取当前域名下的cookies,是一个数组
cookies = request.getCookies();
if( cookies != null ){
out.println("<h2> 查找 Cookie 名与值</h2>");
for (int i = 0; i < cookies.length; i++){
cookie = cookies[i];
if((cookie.getName( )).compareTo("name") == 0 ){
cookie.setMaxAge(0);
response.addCookie(cookie);
out.print("删除 Cookie: " +
cookie.getName( ) + "<br/>");
}
out.print("参数名 : " + cookie.getName());
out.print("<br>");
out.print("参数值: " + URLDecoder.decode(cookie.getValue(), "utf-8") +" <br>");
out.print("------------------------------------<br>");
}
}
JSP Session
if (session.isNew()){
title = "访问菜鸟教程实例";
session.setAttribute(userIDKey, userID);
session.setAttribute(visitCountKey, visitCount);
} else {
visitCount = (Integer)session.getAttribute(visitCountKey);
visitCount += 1;
userID = (String)session.getAttribute(userIDKey);
session.setAttribute(visitCountKey, visitCount);
}
JSP 页面重定向
public void response.sendRedirect(String location)
throws IOException
您也可以使用setStatus()和setHeader()方法来得到同样的效果:
....
String site = "http://www.runoob.com" ;
response.setStatus(response.SC_MOVED_TEMPORARILY);
response.setHeader("Location", site);
....
JSP 自动刷新
JSP提供了一种机制来使这种工作变得简单,它能够定时地自动刷新页面。
public void setIntHeader(String header, int headerValue)
<%
// 设置每隔5秒刷新一次
response.setIntHeader("Refresh", 5);
// 获取当前时间
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
out.println("当前时间为: " + CT + "\n");
%>
JSP 发送邮件
JSP 标准标签库(JSTL)(就是用标签的方式替代代码的一个库,方便使用)
相关推荐
**JSP基础练习PPT** 是一套专门为初学者设计的学习资料,旨在帮助用户全面理解Java Server Pages(JSP)的基本概念和技术应用。JSP是一种在服务器端运行的动态网页技术,由Sun Microsystems(现已被Oracle公司收购)...
**JSP基础学习资料概述** JavaServer Pages (JSP) 是一种动态网页技术,由Sun Microsystems(现为Oracle公司)开发,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的动态网页生成。JSP的...
**JSP基础学习课件概述** Java Server Pages(JSP)是SUN公司主导并由多家公司参与开发的一种动态网页技术,自1999年发布以来,它已经成为基于Java Servlet和Java体系的Web开发技术的重要组成部分。JSP的主要特点是...
**JSP基础与HTML概述** **1. JSP与HTML的关系** JSP(JavaServer Pages)是一种动态网页技术,它允许开发人员将Java代码嵌入到HTML页面中,以实现服务器端的逻辑处理。在JSP中,HTML作为静态内容的基础,提供了网页...
**JSP基础** JavaServer Pages(JSP)是Java平台上的动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而实现服务器端的动态内容生成。JSP技术自1999年发布以来,已经成为企业级Web开发的重要工具,...
**JSP基础教程 黑魔方 源码** JSP(Java Server Pages)是一种动态网页技术,由Sun Microsystems开发,现在归Oracle公司所有。它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的动态内容...
【JSP基础教程精讲】 JavaServer Pages(JSP)是一种动态网页技术,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现动态网页的创建。本教程将深入浅出地讲解JSP的基本概念、语法结构以及常见应用。...
**JSP基础与案例开发详解** JSP(JavaServer Pages)是Java技术中用于构建动态网页的一种技术。它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。JSP的基础知识涵盖以下几个核心概念: 1. **JSP...
《JSP基础教程(清华版)》是一本详细介绍JavaServer Pages(JSP)技术的教材,其中包含了丰富的源码示例。源码涵盖了从基本概念到实际应用的多个方面,帮助初学者理解JSP的工作原理和语法。以下是教程中涉及的一些...
【JSP基础思想入门】 Java Server Pages(JSP)是一种基于Java技术的动态网页开发工具,主要用于构建交互式的Web应用程序。它是由Sun Microsystems公司推出的,旨在解决Servlet在开发动态网页时遇到的问题,如代码...
**JSP基础课件(入门教程)** JavaServer Pages(JSP)是Java平台上用于创建动态网页的一种技术,由Sun Microsystems(现已被Oracle公司收购)于1999年推出。JSP允许开发者将静态HTML内容与动态Java代码结合起来,...
### JSP基础语法 1. **JSP页面结构**:一个基本的JSP页面由HTML结构和JSP元素组成,JSP元素包括指令、脚本元素和动作元素。例如: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> ...
**JSP基础教程(清华版)** Java Server Pages(JSP)是Java平台上的一个标准技术,用于开发动态web应用程序。清华大学推出的JSP基础教程,以其权威性和实用性,深受学习者喜爱。本教程旨在帮助初学者理解JSP的核心...
本示例将详细解释如何在JSP基础之上实现`<select>`的选择功能。 首先,我们需要理解JSP的基本结构。JSP是一种服务器端的动态网页技术,它允许我们在HTML页面中嵌入Java代码,以便于处理服务器端的数据和逻辑。在JSP...
总的来说,这份"JAVA/JSP基础教程"涵盖了Java编程语言、JSP技术、HTML基础、Servlet以及Web开发的入门知识。通过深入学习和实践,初学者可以逐步掌握这些技能,为成为专业的Java Web开发者奠定坚实的基础。
在《JSP基础教程》中,你可能会学到以下关键知识点: 1. **JSP基本结构**:一个JSP页面由静态HTML、CSS和JavaScript组成,同时可以嵌入Java代码片段。这些Java代码可以是脚本元素(Scriptlets)、表达式、声明、...
**JSP基础教程源代码200例** 本教程集合了200个JSP(JavaServer Pages)的基础示例,旨在帮助初学者快速掌握JSP的核心概念和技术。JSP是一种动态网页技术,它允许开发者将HTML、XML或者其他标记语言与Java代码相...
以下是对JSP基础的详细解释: 1. 访问JSP页面的URL:在Web服务目录下,如`helloapp/hello.jsp`,要访问该页面,我们需要使用HTTP协议,加上服务器的IP地址或域名以及端口号。因此,正确的URL应该是`...
JSP基础教程.rar JSP基础教程.rar
《JSP基础教程》这本书旨在为初学者提供一个全面而系统的JSP技术入门指导。通过学习本书,读者不仅能够掌握JSP的基本概念和操作方法,还能深入了解JSP的工作原理和技术优势,为进一步深入学习Java Web开发打下坚实的...