Servlet之JSP_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Servlet之JSP

Servlet之JSP

 2016/9/16 5:31:42  Lixh1986  程序员俱乐部  我要评论(0)
  • 摘要:一、什么是JSPJSP(JavaServerPages)提供一种简便、快速的方式以生成动态的(dynamic)网页内容。JSP运行原理JSP是Servlet的模板文件。JSP最终由Web容器解释并编译成为Servlet类(.class文件),并执行。二、JSTL标签与EL表达式JSTL标签把一些具有特殊功能的方法(比如:打印java对象的值、遍历一个序列、条件判断等),封装成为类库。并在JSP中以标签的的形式使用。这就是JSTL(JSPStandardTagLibrary)
  • 标签:Servlet JS
一、什么是JSP

JSP (Java Server Pages) 提供一种简便、快速的方式以生成动态的(dynamic)网页内容。

JSP运行原理
JSP 是 Servlet 的模板文件。
JSP最终由 Web 容器解释并编译成为 Servlet 类(.class 文件),并执行。

二、JSTL 标签 与 EL 表达式

JSTL 标签
把一些具有特殊功能的方法(比如:打印 java 对象的值、遍历一个序列、条件判断 等),封装成为类库。
并在 JSP 中以标签的的形式使用。这就是 JSTL (JSP Standard Tag Library)。

当Web容器解析JSP时,遇到这些标签,Web容器会调用其对应类库的方法。
这些类库的方法,会根据传递过来的变量,对变量进行处理(或 输出其值,或循环遍历、或条件判断 等等),
最后返回 String 类型的 html 样式的字符串。
—— 这样,JSTL 标签就把输入的 JavaBean 对象,变成了JSP 想要的 HTML 文本。

使JSP呈现动态结果的,正是这些基于服务端的(server-based resources) JavaBean 对象。因为它们的值可以动态的改变。

EL(Expression Language)表达式
EL 表达式,${},最初在 JSTL 标签内部使用(JSTL 1.0 - 2002/06)。
用于向 JSTL 标签输入一个 JavaBean 对象,并调用其 get 方法。

例如:
       <c:out value="${user.name}"></c:out>
       调用 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 中使用 JSTL 标签,按道理上讲不需要导入类库。
因为负责解析 jsp 的是 web 容器,如 Tomcat,所以 web 容器中需要这些类库。
Tomcat 把这些类库都已内置到 lib 文件夹中。

但是貌似 eclipse 也要编译 jsp 进行语法检查等操作,所以需要引入这些包到 eclipse 的 lib 中:

    1. servlet 的类库
        javax.servlet-api-3.1.0.jar
       
    2. 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)
     

使用 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>


五、在 Eclipse 中使用 Tomcat

    1. 在 windows -> show view -> servers 中,可以打开 server 面板。
   
    2. 在 server 面板空白处,右键: new -> server



   
   

引用:

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






-
发表评论
用户名: 匿名