`

Servlet之JSP_01概述

    博客分类:
  • JSP
阅读更多
一、什么是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:
    <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






-
分享到:
评论

相关推荐

    Servlet_Jsp_技术概述

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,用于构建动态Web应用程序。本文将深入探讨这两项技术的基本概念、工作原理以及它们在实际应用中的重要性。 Servlet是Java编程语言中的一种接口,由...

    SERVLET_JSP_PPT

    **Servlet和JSP技术概述** Servlet是Java编程语言中用于扩展服务器功能的接口。它是由Sun Microsystems(现为Oracle)开发的,主要用于处理HTTP请求,是构建动态Web应用程序的基础。Servlet提供了一种标准的方法,...

    Jsp_Servlet_中文API档

    ### JSP与Servlet概述 #### JSP(JavaServer Pages) - **定义**:JSP是一种基于Java技术的服务器端网页开发技术,它允许在HTML或XML文件中嵌入Java代码。 - **特点**: - **动态内容生成**:通过嵌入Java代码来...

    韩顺平servlet与jsp_笔记与心得

    ### 韩顺平servlet与jsp_笔记与心得 #### JavaEE概述 JavaEE(Java Platform, Enterprise Edition)是一个开放式的平台标准,为开发者提供了丰富的API和工具集,以便构建高质量的企业级应用。JavaEE的核心是围绕着...

    Servlet+Jsp+技术概述

    **JSP概述** JSP是一种视图技术,它将HTML代码与Java代码结合在一起,使得网页内容的生成更方便。JSP文件包含静态HTML和嵌入的Java代码,这些代码会被Web容器转换为Servlet并在运行时执行。JSP有多个内置对象,如...

    Servlet Jsp 技术概述

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,它们构成了动态Web应用程序的基础。在本概述中,我们将深入探讨这两个技术的概念、工作原理以及它们如何协同工作。 Servlet是Java编程语言的一个接口...

    Servlet Jsp 技术概述 pdf

    这份名为《Servlet Jsp 技术概述》的PDF文档很可能是对这两种技术的基础介绍和实践指南,包含有相关的代码示例。 Servlet是Java平台上的一个标准接口,允许Java类响应来自Web客户端(如浏览器)的请求。它们是...

    JSP_bbs.rar_bbs jsp_bbs jsp_jsp b_jsp bbs

    在JSP_bbs中,用户信息可能存储在数据库中,JSP页面负责展示表单,处理用户输入,通过Servlet或JavaBean进行验证和数据持久化。 2. 论坛版块:论坛通常会有多个主题分类,JSP_bbs可能会有相应的页面展示不同版块的...

    ACCP 二期JSP_servlet_javabean笔记

    ### ACCP 二期JSP_servlet_javabean笔记 #### 一、Java EE架构概述与组件介绍 根据描述中的信息,“北大青鸟二期的笔记”涵盖了Java EE的基础概念及重要组成部分,包括显示层(示)、业务逻辑层(模)以及持久化层...

    Servlet&Jsp技术概述

    总的来说,Marty Hall的《Servlet&JSP技术概述》是一本全面介绍Servlet和JSP的教材,适合初学者入门和进阶者深化理解。通过阅读和实践书中的示例,读者可以掌握这些技术,进而开发出高效、稳定、可扩展的Java Web...

    JSP_Servlet开发的bbs论坛

    一、JSP与Servlet概述 1. JSP:JSP是一种基于Java的服务器端脚本语言,它允许开发者在HTML页面中嵌入Java代码,以实现动态内容的生成。JSP页面在服务器上被编译为Servlet,然后由Servlet处理请求并返回响应。 2. ...

    servlet-n-JSP.rar_JSP ebook_servlet jsp

    **Servlet与JSP技术概述** Servlet是Java编程语言中用于扩展服务器功能的接口,由Java Servlet API定义。它使得开发者可以编写服务器端程序,这些程序能够处理来自客户端(通常是Web浏览器)的请求,并向客户端发送...

    Servlet和JSP技术简述(英文翻译)

    【Servlet和JSP技术概述】 Servlet和JSP(JavaServer Pages)是Java平台上的两种核心技术,主要用于构建动态Web应用程序。它们在Web开发中的角色至关重要,尤其在处理客户端请求和生成响应方面。以下是对Servlet和...

    Head First Servlet And JSP

    - **Servlet**:指出书籍的重点之一是 Servlet 技术。 - **JSP**:另一个重点是 JSP 技术。 #### 部分内容解读: **第1章:为什么使用 Servlets & JSPs?** - **应用现状**:首先介绍了现代 Web 应用程序的状态,...

    Servlet&Jsp 技术概述

    Servlet和JSP(JavaServer Pages)是Java Web开发中的核心技术,用于构建动态Web应用程序。本文将深入探讨这两项技术的概念、工作原理以及它们在实际应用中的作用。 Servlet是Java编程语言的一个接口,由Sun ...

    jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理

    JSP概述** JSP是Java平台上的一个标准,它基于Java Servlet规范,提供了更简洁的视图层开发方式。JSP文件本质上是一个静态的HTML文件,但在服务器端会被转换成Servlet。当用户请求JSP页面时,服务器会执行相应的...

    jsp_api.jar

    **JSP概述** JavaServer Pages(JSP)是Java平台上的一个标准,由Sun Microsystems(现已被Oracle收购)开发,旨在简化Web应用程序的创建。JSP将网页设计和业务逻辑分离,允许设计师使用HTML、CSS、JavaScript等来...

    road_javaweb_城镇道路养护_servlet_MYSQL_

    【标题】"road_javaweb_城镇道路养护_servlet_MYSQL_" 提供了一个关于城镇道路养护管理系统的项目概述,这个系统是用Java Web技术构建的,并且涉及到Servlet和MYSQL数据库的使用。这个标题暗示了项目的重点在于实现...

Global site tag (gtag.js) - Google Analytics