- 浏览: 1090699 次
文章分类
- 全部博客 (379)
- S2SH (16)
- stuts2 (0)
- java语言 (81)
- JSP (17)
- <html>元素 (11)
- javaweb (4)
- web容器 (3)
- ext (23)
- javaScript (48)
- ant (1)
- liferay (1)
- sql (9)
- css (42)
- 浏览器设置 (3)
- office_world (1)
- eclipse (4)
- 其它 (28)
- 操作系统 (5)
- android (6)
- Struts2 (11)
- RegEx (3)
- mysql (5)
- BigDATA (1)
- Node.js (1)
- Algorithm (10)
- Apache Spark (1)
- 数据库 (5)
- linux (2)
- git (1)
- Adobe (3)
- java语言,WebSocket (1)
- Maven (3)
- SHELL (1)
- XML (2)
- 数学 (2)
- Python (2)
- Java_mysql (1)
- ReactJS (6)
- 养生 (4)
- Docker (1)
- Protocols (3)
- java8 (2)
- 书籍 (1)
- Gradle (2)
- AngularJS (5)
- SpringMVC (2)
- SOAP (1)
- BootstrapCSS (1)
- HTTP协议 (1)
- OAuth2 (1)
最新评论
-
Lixh1986:
Java并发编程:自己动手写一把可重入锁https://blo ...
Java之多线程之Lock与Condition -
Lixh1986:
http://win.51apps.com.cn/https: ...
temp -
ztwsl:
不错,支持很好
HttpServletRequest和ServletRequest的区别 -
guodongkai:
谢谢您能将知识精华汇编总结,让初学者们从原理中学会和提高。
javaScript之function定义 -
kangwen23:
谢谢了,顶顶
struts2中的ValueStack学习
一、什么是JSP
JSP (Java Server Pages) 提供一种简便、快速的方式以生成动态的(dynamic)网页内容。
JSP运行原理
JSP 是 Servlet 的模板文件。
JSP最终由 Web 容器解析生成 Servlet 类( .java 文件),并编译成为 .class 文件,最后执行。
植入 JAVA 代码
可以告诉解析器,JSP 模板中的哪一部分是原生的 JAVA 代码,不需要解析。
在JSP中使用 <% %> 嵌入 JAVA 代码。
被 web 容器基于 JSP 文件而解析生成的 Servlet 类,具有特定的格式。在这个类中放入了几个可以直接方便使用的 java 内置对象。可以在 <% %> 中直接使用。这需要了解 jsp ,这种特定的 servlet 的生命周期与构成。详细的请参阅[1]
二、JSTL 标签 与 EL 表达式
JSTL 标签
把一些具有特殊功能的方法(比如:打印 java 对象的值、遍历一个序列、条件判断 等),封装成为类库。
并在 JSP 中以标签的的形式使用。这就是 JSTL (JSP Standard Tag Library)。
当Web容器解析JSP时,遇到 JSTL 标签,Web容器会将 JSTL 标签转换为 调用其对应类库的方法的 java 代码。这些类库的方法,会根据传递过来的变量,对变量进行处理(或 输出其值,或循环遍历、或条件判断 等等),最后返回 String 类型的 html 样式的字符串。
—— 这样,JSTL 标签就把输入的 JavaBean 对象,变成了JSP 想要的 HTML 文本。
—— JSTL 标签是代替 <% %> 而简写的 function 。
使JSP呈现动态结果的,正是这些基于服务端的(server-based resources) JavaBean 对象。因为它们的值可以动态的改变。
EL(Expression Language)表达式
EL 表达式,${},最初在 JSTL 标签内部使用(JSTL 1.0 - 2002/06)。
用于向 JSTL 标签输入一个 JavaBean 对象,并调用其 get 方法。
例如:
<c:out value="${user.name}"/>
调用 user 对象的 getName() 方法,并将返回值赋值给 c:out 标签的 value 属性。
后来 EL 表达式脱离 JSTL,被移动到 javax.servlet.jsp.el 包下,可以在 .jsp 文件中单独使用(JSP 2.0/JSTL 1.1 - 2003/11)。
三、使用 JSP 需要用到哪些类库?
JSP 最终被解析为 servlet 类,所以当然需要 servlet 的类库。
如果在 JSP 中使用 JSTL 标签库,也需要导入相应的 JSTL 类库。
需要的类库:
1. servlet 的类库
2. jstl 标签类库
四、在 eclipse 中配置类库
● 在eclipse中使用jsp,不需要导入任何包。
因为负责解析 jsp 的是 web 容器。
如 Tomcat 已把 jsp-api.jar 和 servlet-api.jar 内置到 lib 文件夹中。
● 在 jsp 中使用 JSTL 标签,需要导入的包:
1. jstl 标签库
jstl 1.0, 1.1: ( servlet-api 2.0 及以前版本)
standard.jar (JSTL API)
jstl.jar (JSTL Implementation)
jstl 1.2:( servlet-api 2.5/3.0)
jstl-1.2.jar (JSTL API & JSTL Implementation)
通常我们还要自己写很多的 Servlet 类,也需要导入 servlet-api:
1. servlet 的类库
javax.servlet-api-3.1.0.jar
使用 maven:
web.xml
五、在 Eclipse 中使用 Tomcat
1. 在 windows -> show view -> servers 中,可以打开 servers 视图。
2. 在 server 视图空白处,单击鼠标右键,选择: new -> server
3. 添加好后,Tomcat 就会出现在 servers 视图中。
4. 双击添加好的 Tomcat,可以打开 Tomcat 配置面板,对其进行参数设置。
六、部署运行
上面只是在 eclipse 开发环境下配置好了类库的路径。
当web容器运行时,如何去引用那些类库?
原来有这么一项规定[2]:运行时所需要的类库都需要放在 WEB-INF/lib 下面。
其实 eclipse 已经为我们设置好了(运行时自动部署):
右键点击工程名称 -> Properties -> Deployment Assembly 进行查看。
-
引用:
[1]
JSP Architecture:
https://www.tutorialspoint.com/jsp/jsp_architecture.htm
JSP Implicit Objects:
https://www.tutorialspoint.com/jsp/jsp_implicit_objects.htm
[2]
Web Application Directory Structure - DefaultWebApp/WEB-INF/lib:
https://docs.oracle.com/cd/E17904_01/web.1111/e13712/configurewebapp.htm#WBAPP162
jsp -
http://www.oracle.com/technetwork/java/javaee/jsp/index.html
jstl & EL -
http://stackoverflow.com/questions/15848251/exact-difference-and-relation-between-jstl-and-expression-language
http://stackoverflow.com/questions/4812755/difference-between-jsp-el-jsf-el-and-unified-el
jstl -
https://jstl.java.net
-
转载请注明
原文出处:http://lixh1986.iteye.com/blog/2324557
-
JSP (Java Server Pages) 提供一种简便、快速的方式以生成动态的(dynamic)网页内容。
JSP运行原理
JSP 是 Servlet 的模板文件。
JSP最终由 Web 容器解析生成 Servlet 类( .java 文件),并编译成为 .class 文件,最后执行。
植入 JAVA 代码
可以告诉解析器,JSP 模板中的哪一部分是原生的 JAVA 代码,不需要解析。
在JSP中使用 <% %> 嵌入 JAVA 代码。
被 web 容器基于 JSP 文件而解析生成的 Servlet 类,具有特定的格式。在这个类中放入了几个可以直接方便使用的 java 内置对象。可以在 <% %> 中直接使用。这需要了解 jsp ,这种特定的 servlet 的生命周期与构成。详细的请参阅[1]
二、JSTL 标签 与 EL 表达式
JSTL 标签
把一些具有特殊功能的方法(比如:打印 java 对象的值、遍历一个序列、条件判断 等),封装成为类库。
并在 JSP 中以标签的的形式使用。这就是 JSTL (JSP Standard Tag Library)。
当Web容器解析JSP时,遇到 JSTL 标签,Web容器会将 JSTL 标签转换为 调用其对应类库的方法的 java 代码。这些类库的方法,会根据传递过来的变量,对变量进行处理(或 输出其值,或循环遍历、或条件判断 等等),最后返回 String 类型的 html 样式的字符串。
—— 这样,JSTL 标签就把输入的 JavaBean 对象,变成了JSP 想要的 HTML 文本。
—— JSTL 标签是代替 <% %> 而简写的 function 。
使JSP呈现动态结果的,正是这些基于服务端的(server-based resources) JavaBean 对象。因为它们的值可以动态的改变。
EL(Expression Language)表达式
EL 表达式,${},最初在 JSTL 标签内部使用(JSTL 1.0 - 2002/06)。
用于向 JSTL 标签输入一个 JavaBean 对象,并调用其 get 方法。
例如:
<c:out value="${user.name}"/>
调用 user 对象的 getName() 方法,并将返回值赋值给 c:out 标签的 value 属性。
后来 EL 表达式脱离 JSTL,被移动到 javax.servlet.jsp.el 包下,可以在 .jsp 文件中单独使用(JSP 2.0/JSTL 1.1 - 2003/11)。
三、使用 JSP 需要用到哪些类库?
JSP 最终被解析为 servlet 类,所以当然需要 servlet 的类库。
如果在 JSP 中使用 JSTL 标签库,也需要导入相应的 JSTL 类库。
需要的类库:
1. servlet 的类库
2. jstl 标签类库
四、在 eclipse 中配置类库
● 在eclipse中使用jsp,不需要导入任何包。
因为负责解析 jsp 的是 web 容器。
如 Tomcat 已把 jsp-api.jar 和 servlet-api.jar 内置到 lib 文件夹中。
● 在 jsp 中使用 JSTL 标签,需要导入的包:
1. jstl 标签库
jstl 1.0, 1.1: ( servlet-api 2.0 及以前版本)
standard.jar (JSTL API)
jstl.jar (JSTL Implementation)
jstl 1.2:( servlet-api 2.5/3.0)
jstl-1.2.jar (JSTL API & JSTL Implementation)
通常我们还要自己写很多的 Servlet 类,也需要导入 servlet-api:
1. servlet 的类库
javax.servlet-api-3.1.0.jar
使用 maven:
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
web.xml
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>Archetype Created Web Application</display-name> </web-app>
五、在 Eclipse 中使用 Tomcat
1. 在 windows -> show view -> servers 中,可以打开 servers 视图。
2. 在 server 视图空白处,单击鼠标右键,选择: new -> server
3. 添加好后,Tomcat 就会出现在 servers 视图中。
4. 双击添加好的 Tomcat,可以打开 Tomcat 配置面板,对其进行参数设置。
六、部署运行
上面只是在 eclipse 开发环境下配置好了类库的路径。
当web容器运行时,如何去引用那些类库?
原来有这么一项规定[2]:运行时所需要的类库都需要放在 WEB-INF/lib 下面。
其实 eclipse 已经为我们设置好了(运行时自动部署):
右键点击工程名称 -> Properties -> Deployment Assembly 进行查看。
-
引用:
[1]
JSP Architecture:
https://www.tutorialspoint.com/jsp/jsp_architecture.htm
JSP Implicit Objects:
https://www.tutorialspoint.com/jsp/jsp_implicit_objects.htm
[2]
Web Application Directory Structure - DefaultWebApp/WEB-INF/lib:
https://docs.oracle.com/cd/E17904_01/web.1111/e13712/configurewebapp.htm#WBAPP162
jsp -
http://www.oracle.com/technetwork/java/javaee/jsp/index.html
jstl & EL -
http://stackoverflow.com/questions/15848251/exact-difference-and-relation-between-jstl-and-expression-language
http://stackoverflow.com/questions/4812755/difference-between-jsp-el-jsf-el-and-unified-el
jstl -
https://jstl.java.net
-
转载请注明
原文出处:http://lixh1986.iteye.com/blog/2324557
-
发表评论
-
javaWeb session失效时间设置
2018-04-25 14:19 1906session失效时间设置 session失效时间设 ... -
JSP 表达式 VS EL 表达式 用法比较
2017-06-21 06:03 1007应用场景: 根据访问路径URL,判断当前用户选择使用的语言。转 ... -
JSP之 @include VS jsp:include
2017-06-17 01:39 1372第一篇 对于可以重复使用的一段代码, 1、使用 <%@ ... -
JavaEE之(Servlet+Filter)环境搭建
2017-04-01 14:15 966初学 Java Web 开发,请远 ... -
Servlet之单例与线程安全
2017-02-06 13:04 4376一、Servlet 是单例吗 不 ... -
Servlet之 destroy
2016-11-29 22:04 733只听说过 Servlet 何时 init(),何时 servi ... -
Servlet之JSP_03 JSTL/EL 表达式
2016-09-16 16:13 2273准备工作:在JSP 中启用 EL 表达式 <%@ ... -
Servlet之JSP_02初探
2016-09-15 22:37 803一、被编译后的JSP 1、写一个JSP文件:index.js ... -
Servlet之Servlet API
2016-09-13 19:10 1579一、在哪里 Java Servlet ... -
Servlet 的生命周期图
2014-12-31 03:18 917A servlet life cycle can be def ... -
在一个JSP页面中,操作数据库
2013-03-11 19:02 2754下面的代码是在一个jsp页面中实现数据库的操作。 也是为了加深 ... -
Servlet之Filter及FilterChain的使用详解
2013-01-07 20:06 2098在 JavaEE 中没有 Interceptor(拦截器)的概 ... -
out.print和out.write
2012-12-30 11:42 19380问题: 这是一个JSP页面: <%@ page l ... -
等幂操作——get方法与post方法
2012-12-23 20:13 1710幂等操作: 指的是对于同一数据,不论对其进行任何次幂操作,总 ... -
如何将jsp中<input>设为只读
2012-12-13 10:49 23264将一个input变为只读,可以使用 readonly 属性 和 ... -
Request的 getAttribute 和 getParameter
2012-12-03 19:57 1234getParameter 返回的是String, 用于 ...
相关推荐
NULL 博文链接:https://rinoa1023.iteye.com/blog/706643
Servlet+Jsp+技术概述Servlet+Jsp+技术概述
Servlet Jsp 技术概述 是一套完整的Servlet/Jsp 技术学习资料,附示例代码 个人感觉很不错
《Servlet Jsp 技术概述》 pdf 包含代码
完整版Java JSP web开发教程 01_web概述(共18页).ppt 完整版Java JSP web开发教程 02_Servlet使用入门(共23页).ppt 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_...
jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理
1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...
Servlet&jsp概述1.rar,有时间的看看啊
1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...
Servlet&jsp概述1.rar
Servlet Jsp 技术概述下载 Servlet Jsp 技术概述下载
JSP实验报告,完整,详尽。1. 系统概述 图书馆管理系统,具有登录、注册、图书的添加、修改、删除,个人信息查询、修改,退出等功能。
这本书的作者是 Marty Hall.想必大家都早已听说过他的大名。这本是是我接触过讲的最好,实例很有针对性的一本非常难得的好书。大家可以参考!
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
写的很不错` 很适合刚刚入门了解Servlet的朋友` 有详细讲解`也有源码
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。. 本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...
jsp 与servlet基础 1:jsp概述 2:jsp基础 3:jsp隐含对象 4:jsp中使用数据库 5:jsp与javabean ...
完整版Java JSP web开发教程 01_web概述(共18页).ppt 完整版Java JSP web开发教程 02_Servlet使用入门(共23页).ppt 完整版Java JSP web开发教程 03_会话跟踪简介(共22页).ppt 完整版Java JSP web开发教程 04_...
1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...