jsp笔记整理
来源:互联网 发布:淘宝网靠谱么 编辑:程序博客网 时间:2024/05/20 11:21
【1】.jsp简介
java server page,jsp保存在服务器
jsp=java片段+jstl+html+javascript+css
【2】.javaEE13中核心技术
1.jsp
2.servlet
3.JDBC
4.javaMail
5.JTA
6.JTS
7.JAF
8.JMS
9.XML
10.JNDI
11.EJB
12.RMI
13.Java IDL/CORBA
【3】.框架
表示层技术是在JSP页面中用HTML标签、JavaScript脚本、Ajax。
中间层技术主要是JSP、Servlet、JSTL、JavaBean、Struts框架。
数据层技术用的是JDBC、JNDI、Hibernate框架。
【4】.JSP四种作用域
page:当前页面,也就是只要跳到别的页面就失效了
request:一次会话,简单的理解就是一次请求范围内有效
session:浏览器进程,只要当前页面没有被关闭(没有被程序强制清除),不管怎么跳转都是有效的
application:服务器,只要服务器没有重启(没有被程序强制清除),数据就有效
【5】.JSP九大内置对象
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
“exception” 对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,
而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用。
【6】.jstl标签
1.指令元素
page指令:page 指令指明与JSP容器的沟通方式
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"
import="" session="" errorPage="" deferredSyntaxAllowedAsLiteral="" autoFlush="true"
buffer="8kb" isErrorPage="false" info="" extends="" isELIgnored="false" isThreadSafe="true" %>
include指令:静态导入。复用公共页面。
<%@ include file="test.jsp" %>
taglib指令:导入标签库。
2.脚本元素
java片段:合法的Java代码 <% %>
<%
for(int i=0;i<10;i++){
System.out.println(i+1);
}
%>
表达式:计算该表达式的结果,将结果显示出来。 <%= %>
<%=
Current Time Is:<%= new java.util.Date() %>
%>
declaration声明:"声明"用的少,一般是用"表达式"和"脚本"。<%! %> 在jsp中定义变量和方法 如:
<%!
String name = "hello";
public void print(){
System.out.println(name);
}
%>
3.动作元素 JSP的13个内置标签 【参考:http://blog.csdn.net/wdengniz/article/details/8071462】
-------------动态导入,会生成两个jsp->servlet文件。区别于include指令为静态导入。------------
<jsp:include page="test03.jsp" flush="true" />
----------------------向include的页面传递参数。----------------------------------------------
<jsp:include page="test03.jsp" flush="true">
<jsp:param value="hello" name="first_name"/>
<jsp:param value="world" name="last_name"/>
</jsp:include>
-----------------------转发请求的数据到指定页面---------------------------------------------
<jsp:forward page="forwrad.jsp" />
-----------------------创建Bean对象--------------------------------------------------------
<!-- 方式1 使用userBean标签(不建议) -->
<jsp:useBean id="person" class="com.hellojsp.Person" scope="page" />
<jsp:setProperty name="person" property="name" value="张三" />
<jsp:setProperty name="person" property="age" value="18" />
<jsp:getProperty property="name" name="person" />
<jsp:getProperty property="age" name="person" />
<!-- 方式2 使用java片段(推荐)-->
<%
out.println("<br/><hr/>");
com.hellojsp.Person person2 = new com.hellojsp.Person();
person2.setName("李四");
person2.setAge(28);
out.println(person2.toString());
%>
--------------------------------------------------------------------
<jsp:attribute name=""></jsp:attribute>
<jsp:body></jsp:body>
<jsp:element name=""></jsp:element>
<jsp:fallback></jsp:fallback>
<jsp:output></jsp:output>
<jsp:params></jsp:params>
<jsp:plugin code="" codebase="" type="bean"></jsp:plugin>
4.jstl标签库之core标签 【参考:http://www.runoob.com/jsp/jsp-jstl.html】
--------------------------------------------------------------------
<!-- 异常处理 -->
<c:catch var="catchException">
<% int a=5/0; %>
</c:catch>
<c:if test="${catchException != null}">
<p>异常为${catchException}<br/>
发生了异常${catchException.message}</p>
</c:if>
--------------------------------------------------------------------
<!--判断标签 -->
<c:set var="salary" scope="session" value="${2000*2}" />
<p>
你的工资为 :
<c:out value="${salary}" />
</p>
<c:choose>
<c:when test="${salary <= 0}">
<p>太惨了。</p>
</c:when>
<c:when test="${salary > 1000}">
<p>还不错。</p>
</c:when>
<c:otherwise>
<p>hell。</p>
</c:otherwise>
</c:choose>
--------------------------------------------------------------------
<!-- forEach循环 -->
<c:forEach var="num" begin="1" end="5" step="1" varStatus="status">
items1:<c:out value="${num}" /><br/>
</c:forEach>
<!-- forTokens循环 -->
<c:forTokens items="google,alibaba,tencent,baidu,huawei" var="name" delims=",">
items2:<c:out value="${name}" /><br/>
</c:forTokens>
--------------------------------------------------------------------
<!-- if标签 -->
<c:if test="${salary>3000}">
工资为:<c:out value="${salary}"></c:out>
</c:if>
--------------------------------------------------------------------
<!-- url和param传参标签 -->
<c:url var="myURL" value="main.jsp">
<c:param name="name" value="Runoob"/>
<c:param name="url" value="www.runoob.com"/>
</c:url>
<a href="<c:out value="${myURL}"/>">
使用 <c:param> 为指定URL发送两个参数。</a>
--------------------------------------------------------------------
<!-- redirct重定向,作用类似forward -->
<c:redirect url="redirect.jsp" />
--------------------------------------------------------------------
<!-- remove标签 -->
remove前:<c:out value="${salary}" /><br/>
<c:remove var="salary" />
remove后:<c:out value="${salary}" /><br/>
--------------------------------------------------------------------
5.jstl标签之sql标签
<!-- 设置数据库驱动 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/runoob?useUnicode=true&characterEncoding=utf-8"
user="root" password="kevin_hy"/>
<!--插入数据-->
<sql:update datSource="${snapshot}" var="result">
INSERT INTO websites (name,url,alexa,country) VALUES ('菜鸟教程移动站', 'http://m.runoob.com', 5093, 'CN');
</sql:update>
<!--修改数据-->
<sql:update dataSource="${snapshot}" var="count">
DELETE FROM websites WHERE Id = ?
<sql:param value="${11}" />
</sql:update>
<!--删除数据-->
<c:set var="SiteId" value="3"/>
<sql:update dataSource="${snapshot}" var="count">
UPDATE websites SET name = 'RUNOOB' WHERE Id = ?
<sql:param value="${SiteId}" />
</sql:update>
<!--查询数据-->
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<!--遍历结果集-->
<c:forEach items="${result.rows}" var="rs">
<c:out value="${rs.id}"/>
<c:out value="${rs.name}"/>
<c:out value="${rs.url}"/>
<c:out value="${rs.alexa}"/>
<c:out value="${rs.country}"/><br/>
</c:forEach>
--------------------------------------------------------------------
6.jstl标签之xml标签 要导包【xalan.jar xercesImpl.jar xml-apis.jar】
<h1>xml解析</h1>
<c:import var="bookInfo" url="http://localhost:8080/HelloJSP01/books.xml"/>
<x:parse xml="${bookInfo}" var="output"/>
<b>The title of the first book is</b>:
<x:out select="$output/books/book[1]/name" />
<br>
<b>The price of the second book</b>:
<x:out select="$output/books/book[2]/price" />
--------------------------------------------------------------------
7.EL表达式 【参考:http://www.runoob.com/jsp/jsp-expression-language.html】
JSP EL隐含对象
隐含对象 描述
pageScope page 作用域
requestScope request 作用域
sessionScope session 作用域
applicationScope application 作用域
param Request 对象的参数,字符串
paramValues Request对象的参数,字符串集合
header HTTP 信息头,字符串
headerValues HTTP 信息头,字符串集合
initParam 上下文初始化参数
cookie Cookie值
pageContext 当前页面的pageContext
java server page,jsp保存在服务器
jsp=java片段+jstl+html+javascript+css
【2】.javaEE13中核心技术
1.jsp
2.servlet
3.JDBC
4.javaMail
5.JTA
6.JTS
7.JAF
8.JMS
9.XML
10.JNDI
11.EJB
12.RMI
13.Java IDL/CORBA
【3】.框架
表示层技术是在JSP页面中用HTML标签、JavaScript脚本、Ajax。
中间层技术主要是JSP、Servlet、JSTL、JavaBean、Struts框架。
数据层技术用的是JDBC、JNDI、Hibernate框架。
【4】.JSP四种作用域
page:当前页面,也就是只要跳到别的页面就失效了
request:一次会话,简单的理解就是一次请求范围内有效
session:浏览器进程,只要当前页面没有被关闭(没有被程序强制清除),不管怎么跳转都是有效的
application:服务器,只要服务器没有重启(没有被程序强制清除),数据就有效
【5】.JSP九大内置对象
request 请求对象 类型 javax.servlet.ServletRequest 作用域 Request
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
“exception” 对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,
而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用。
【6】.jstl标签
1.指令元素
page指令:page 指令指明与JSP容器的沟通方式
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"
import="" session="" errorPage="" deferredSyntaxAllowedAsLiteral="" autoFlush="true"
buffer="8kb" isErrorPage="false" info="" extends="" isELIgnored="false" isThreadSafe="true" %>
include指令:静态导入。复用公共页面。
<%@ include file="test.jsp" %>
taglib指令:导入标签库。
2.脚本元素
java片段:合法的Java代码 <% %>
<%
for(int i=0;i<10;i++){
System.out.println(i+1);
}
%>
表达式:计算该表达式的结果,将结果显示出来。 <%= %>
<%=
Current Time Is:<%= new java.util.Date() %>
%>
declaration声明:"声明"用的少,一般是用"表达式"和"脚本"。<%! %> 在jsp中定义变量和方法 如:
<%!
String name = "hello";
public void print(){
System.out.println(name);
}
%>
3.动作元素 JSP的13个内置标签 【参考:http://blog.csdn.net/wdengniz/article/details/8071462】
-------------动态导入,会生成两个jsp->servlet文件。区别于include指令为静态导入。------------
<jsp:include page="test03.jsp" flush="true" />
----------------------向include的页面传递参数。----------------------------------------------
<jsp:include page="test03.jsp" flush="true">
<jsp:param value="hello" name="first_name"/>
<jsp:param value="world" name="last_name"/>
</jsp:include>
-----------------------转发请求的数据到指定页面---------------------------------------------
<jsp:forward page="forwrad.jsp" />
-----------------------创建Bean对象--------------------------------------------------------
<!-- 方式1 使用userBean标签(不建议) -->
<jsp:useBean id="person" class="com.hellojsp.Person" scope="page" />
<jsp:setProperty name="person" property="name" value="张三" />
<jsp:setProperty name="person" property="age" value="18" />
<jsp:getProperty property="name" name="person" />
<jsp:getProperty property="age" name="person" />
<!-- 方式2 使用java片段(推荐)-->
<%
out.println("<br/><hr/>");
com.hellojsp.Person person2 = new com.hellojsp.Person();
person2.setName("李四");
person2.setAge(28);
out.println(person2.toString());
%>
--------------------------------------------------------------------
<jsp:attribute name=""></jsp:attribute>
<jsp:body></jsp:body>
<jsp:element name=""></jsp:element>
<jsp:fallback></jsp:fallback>
<jsp:output></jsp:output>
<jsp:params></jsp:params>
<jsp:plugin code="" codebase="" type="bean"></jsp:plugin>
4.jstl标签库之core标签 【参考:http://www.runoob.com/jsp/jsp-jstl.html】
--------------------------------------------------------------------
<!-- 异常处理 -->
<c:catch var="catchException">
<% int a=5/0; %>
</c:catch>
<c:if test="${catchException != null}">
<p>异常为${catchException}<br/>
发生了异常${catchException.message}</p>
</c:if>
--------------------------------------------------------------------
<!--判断标签 -->
<c:set var="salary" scope="session" value="${2000*2}" />
<p>
你的工资为 :
<c:out value="${salary}" />
</p>
<c:choose>
<c:when test="${salary <= 0}">
<p>太惨了。</p>
</c:when>
<c:when test="${salary > 1000}">
<p>还不错。</p>
</c:when>
<c:otherwise>
<p>hell。</p>
</c:otherwise>
</c:choose>
--------------------------------------------------------------------
<!-- forEach循环 -->
<c:forEach var="num" begin="1" end="5" step="1" varStatus="status">
items1:<c:out value="${num}" /><br/>
</c:forEach>
<!-- forTokens循环 -->
<c:forTokens items="google,alibaba,tencent,baidu,huawei" var="name" delims=",">
items2:<c:out value="${name}" /><br/>
</c:forTokens>
--------------------------------------------------------------------
<!-- if标签 -->
<c:if test="${salary>3000}">
工资为:<c:out value="${salary}"></c:out>
</c:if>
--------------------------------------------------------------------
<!-- url和param传参标签 -->
<c:url var="myURL" value="main.jsp">
<c:param name="name" value="Runoob"/>
<c:param name="url" value="www.runoob.com"/>
</c:url>
<a href="<c:out value="${myURL}"/>">
使用 <c:param> 为指定URL发送两个参数。</a>
--------------------------------------------------------------------
<!-- redirct重定向,作用类似forward -->
<c:redirect url="redirect.jsp" />
--------------------------------------------------------------------
<!-- remove标签 -->
remove前:<c:out value="${salary}" /><br/>
<c:remove var="salary" />
remove后:<c:out value="${salary}" /><br/>
--------------------------------------------------------------------
5.jstl标签之sql标签
<!-- 设置数据库驱动 -->
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/runoob?useUnicode=true&characterEncoding=utf-8"
user="root" password="kevin_hy"/>
<!--插入数据-->
<sql:update datSource="${snapshot}" var="result">
INSERT INTO websites (name,url,alexa,country) VALUES ('菜鸟教程移动站', 'http://m.runoob.com', 5093, 'CN');
</sql:update>
<!--修改数据-->
<sql:update dataSource="${snapshot}" var="count">
DELETE FROM websites WHERE Id = ?
<sql:param value="${11}" />
</sql:update>
<!--删除数据-->
<c:set var="SiteId" value="3"/>
<sql:update dataSource="${snapshot}" var="count">
UPDATE websites SET name = 'RUNOOB' WHERE Id = ?
<sql:param value="${SiteId}" />
</sql:update>
<!--查询数据-->
<sql:query dataSource="${snapshot}" var="result">
SELECT * from websites;
</sql:query>
<!--遍历结果集-->
<c:forEach items="${result.rows}" var="rs">
<c:out value="${rs.id}"/>
<c:out value="${rs.name}"/>
<c:out value="${rs.url}"/>
<c:out value="${rs.alexa}"/>
<c:out value="${rs.country}"/><br/>
</c:forEach>
--------------------------------------------------------------------
6.jstl标签之xml标签 要导包【xalan.jar xercesImpl.jar xml-apis.jar】
<h1>xml解析</h1>
<c:import var="bookInfo" url="http://localhost:8080/HelloJSP01/books.xml"/>
<x:parse xml="${bookInfo}" var="output"/>
<b>The title of the first book is</b>:
<x:out select="$output/books/book[1]/name" />
<br>
<b>The price of the second book</b>:
<x:out select="$output/books/book[2]/price" />
--------------------------------------------------------------------
7.EL表达式 【参考:http://www.runoob.com/jsp/jsp-expression-language.html】
JSP EL隐含对象
隐含对象 描述
pageScope page 作用域
requestScope request 作用域
sessionScope session 作用域
applicationScope application 作用域
param Request 对象的参数,字符串
paramValues Request对象的参数,字符串集合
header HTTP 信息头,字符串
headerValues HTTP 信息头,字符串集合
initParam 上下文初始化参数
cookie Cookie值
pageContext 当前页面的pageContext
阅读全文
0 0
- JSP笔记整理
- jsp笔记整理
- JAVA遇见JSP笔记整理
- JSP学习笔记汇总(待整理)
- jsp笔记整理(servlet&jstl&el&jsp标准动作)
- JSP整理
- jsp 整理
- 浅谈JSP基本知识-----自己看书整理的笔记
- jsp状态管理(Cookie Session)学习笔记整理
- JSP中的九大内置对象笔记整理
- [转载+整理]JSP问答...
- jsp刷新页面整理
- Jsp开发整理
- JSP基础整理
- 九月六日JSP整理
- 九月七日JSP整理
- 九月二十日JSP整理
- jsp基础语法整理
- Android 内核驱动——电源管理
- Docker安装(Centos6.5下安装和Windows下安装)
- 如何“彻底”关闭windows的自动更新
- 0基础手把手教您开发坦克大战游戏
- 24. Swap Nodes in Pairs
- jsp笔记整理
- ASC 35
- Android后台的linux一直保持唤醒状态,不进入睡眠
- Kotlin学习(五): 惯用语法和代码风格(Idioms And Coding Conventions)
- 线程池和数据库连接池的原理
- Java面向对象的三大特征
- PowerManagerService电源管理和Wacklock锁申请与释放机制
- D
- 10月8号