关于Java中的 JSP 详解
目录
- 1、JSP的特点
- 2、JSP的优势
- 3、JSP的缺点
- 4、JSP的用途
前言:
JSP
代表 Jav
a 服务器页面。它是一种在应用服务器端使用的编程工具。JSP
基本上用于支持平台 – 独立和动态的方法来构建 We
b 依赖的应用程序。JSP
页面类似于 ASP 页面,因为它们是在服务器上编译的,而不是在用户的 Web 浏览器上进行编译。
JSP 是由 Sun Microsystems
公司于 1999 年开发的。JSP
的开发使用语言,其中内置的所有功能都是用 Java 编程语言创建的。
1、JSP的特点
- JSP 是
Servlet
技术的扩展版本。 - JSP 技术类似于
Servlet
应用程序接口(API)。 - 它提供了一些附加功能,例如表达式语言和自定义标签等。
- JSP 文件更容易部署,因为 JSP 引擎会自动执行
Java
代码的重新编译。
2、JSP的优势
JSP 有很多优点。
对 Servlet 的扩展:
Servlet
的 JSP 扩展。我们可以在 JSP 中使用 Servlet
的所有功能。我们可以轻松使用 JSP 开发的隐式对象、预定义标签、自定义标签和表达式语言。
易于维护:
它易于管理,因为我们可以轻松地分离我们的业务逻辑,在 Servlet
技术中,我们可以将我们的业务逻辑与 Presentation
逻辑混合。
快速发展:
无需重新编译和重新部署。如果 JSP
页面被修改。我们不需要重新编译和重新部署项目。如果我们想改变应用程序的外观和感觉,则需要重新编译和更新 Servlet
代码。
比 Servlet 更少的代码:
在 JSP
中,我们可以使用很多标签,例如 action
标签、jstt
、Custom
标签等,以减少代码。我们可以使用 EL
和隐式对象。
注:JSP 页面代码在客户端上不可见,只有生成的 HTML 可见。
3、JSP的缺点
- 由于 JSP 页面在编译过程之前首先被转换为
servlet
,因此很难调试或跟踪错误。 - 由于 JSP 页面被转换为
Servlets
并被编译,因此很难跟踪JSP
页面中发生的错误。 - 数据库连接并不容易。
- JSP 页面需要更多的磁盘空间来保存 JSP 页面。
- 第一次访问 JSP 页面时需要更多时间,因为它们要在服务器上编译。
4、JSP的用途
- JSP 有很多优点。首先,动态部分是用 Java 编写的,而不是
Visual Basic
或其他 MS 特定的语言,因此它更强大,更易于使用。 - 它是独立于非
Microsoft Web
服务器和其他操作系统的平台 - JSP 帮助开发人员使用特殊的 JSP 标签在 HTML 页面中插入 Java 代码
- JSP 也可用于访问
JavaBeans
对象。JSP 允许使用请求和响应对象跨页面共享信息。 - 它可以用于将视图层与
Web
应用程序中的业务逻辑分离
到此这篇关于关于Java中的 JSP 详解的文章就介绍到这了,更多相关Java中的 JSP 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
在JSP页面内编写java代码方法总结
JSP脚本元素的类型 脚本元素提供了在jsp中插入java代码的能力.脚本元素有三种类型: 脚本(scriptlet): 是JSP页面中Java代码片段的容器.将页面转换为servlet类时,会将scriptlet内容插入到servlet类的jspService()方法中,同时从JSP生成servlet.语法如下: <% java源代码 %> 表达式(expression): 用于将转换为String的Java表达式的值插入到返回给客户端的响应中.语法如下: <%= 表达式语句 %>
-
简单操作实现Java jsp servlet文件上传过程解析
实现文件上传的方式 1.进入http://commons.apache.org/proper/commons-fileupload/using.html 2.点击用户指南 3.对着用户指南一步步复制粘贴,并把代码撸成自己想要的样子 补充:记得要将commons-io-2.4.jar和commons-fileupload-1.2.2.jar这两个包放到编译器里面 现成的代码 JSP 前端页面 <%-- Created by IntelliJ IDEA. User: Administrator Da
-
Java项目中如何访问WEB-INF下jsp页面
Java小项目中WEB-INF下jsp页面如何访问 一:一般为啥要把jsp页面放在WEB-INF呐? 这样主要是为了网站的安全的角度来说的,WEB-INF是安全目录Tomcat 默认的访问路径是WebRoot下的index.jsp,放在WEB-INF下的页面一般不配置是无法访问的. 你的站点肯定有些页面是需要经过登录验证或其他验证后才能访问的啊,这些页面就放在web-inf里. 如果是能不经过验证就访问的页面,比如主页.登录页.欢迎页这种,就不要放在web-inf里 二: 下面来看如何访问We
-
java-jsp springmvc-controller 传值到页面的方法
借助 org.springframework.ui.Model 对象或 Map 对象将信息传到 springmvc 的页面中 需要:jstl 支持 和 EL 表达式 1.maven 添加依赖: <!-- jstl(jsp 标准标签库) --> ;dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version>
-
java和jsp之间的request传值方法
一:前=>后 上图为jsp前端代码 点击提交按钮后,通过form表单里面action(路劲,Enter)传递给名为Enter的java后端,则后端通过jsp中的表单,取到name为id(随意命名,id)的值 下图为java取值代码 二:后=>前 上图为后端代码,java通过request.setAttribute("命名",值),将"账号或密码错误"这几个字存到request里,在通过第二排代码的跳转页面将这几个字传递回"Enter.jsp&q
-
Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getProperty("user.dir")获取你工程的绝对路径. 另:在Jsp,Servlet,Java中详细获得路径的方法! 1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp
-
javaweb配置jsp路径映射操作
访问放在WEB-INF文件夹下的jsp内容需要映射,例如:WEB-INF/views/GoToCloudstore4Bridge.jsp,在web.xml文件的</web-app之间添加如下代码: <servlet> <servlet-name>GoToCloudstore4Bridge</servlet-name> <jsp-file>/WEB-INF/views/GoToCloudstore4Bridge.jsp</jsp-file>
-
Java动态追踪技术探究之从JSP到Arthas
从JSP说起 对于大多数Java程序员来说,早期的时候,都会接触到一个叫做JSP(Java Server Pages)的技术.虽然这种技术,在前后端代码分离.前后端逻辑分离.前后端组织架构分离的今天来看,已经过时了,但是其中还是有一些有意思的东西,值得拿出来说一说. 当时刚刚处于Java入门时期的我们,大多数精力似乎都放在了JSP的页面展示效果上了: "这个表格显示的行数不对" "原来是for循环写的有问题,改一下,刷新页面再试一遍" "嗯,好了,表格显示
-
关于Java中的 JSP 详解
目录 1.JSP的特点 2.JSP的优势 3.JSP的缺点 4.JSP的用途 前言: JSP 代表 Java 服务器页面.它是一种在应用服务器端使用的编程工具.JSP 基本上用于支持平台 – 独立和动态的方法来构建 Web 依赖的应用程序.JSP 页面类似于 ASP 页面,因为它们是在服务器上编译的,而不是在用户的 Web 浏览器上进行编译. JSP 是由 Sun Microsystems 公司于 1999 年开发的.JSP 的开发使用语言,其中内置的所有功能都是用 Java 编程语言创建的.
-
Java中的静态内部类详解及代码示例
1. 什么是静态内部类 在Java中有静态代码块.静态变量.静态方法,当然也有静态类,但Java中的静态类只能是Java的内部类,也称为静态嵌套类.静态内部类的定义如下: public class OuterClass { static class StaticInnerClass { ... } } 在介绍静态内部类之前,首先要弄清楚静态内部类与Java其它内部类的区别. 2. 内部类 什么是内部类?将一个类的定义放在另一个类的内部,就是内部类.Java的内部类主要分为成员内部类.局部内部类.
-
java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * @author fhd001 */ public class RegexTest { public static void main(String[] args) { /* * 普通字符 */ String str1 = "abc45abc345"; String[]arr1 = str1
-
Java中初始化块详解及实例代码
Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员. 非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量. 非静态初始化块会在构造函数执行时,且在构造函数主体代码执行之前被运行. 括号里的是初始化块,这里面的代码在创建Java对象时执行,而且在构造器之前执行! 其实初始化块就是构造器的补充,初始化块是
-
Java中的HashSet详解和使用示例_动力节点Java学院整理
第1部分 HashSet介绍 HashSet 简介 HashSet 是一个没有重复元素的集合. 它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素. HashSet是非同步的.如果多个线程同时访问一个哈希 set,而其中至少一个线程修改了该 set,那么它必须 保持外部同步.这通常是通过对自然封装该 set 的对象执行同步操作来完成的.如果不存在这样的对象,则应该使用 Collections.synchronizedSet 方法来"包装" set.
-
java 中cookie的详解及简单实例
java 中cookie的详解 Java对cookie的操作比较简单,主要介绍下建立cookie和读取cookie,以及如何设定cookie的生命周期和cookie的路径问题. 建立一个无生命周期的cookie,即随着浏览器的关闭即消失的cookie,代码如下 HttpServletRequest request HttpServletResponse response Cookie cookie = new Cookie("cookiename","cookievalue&
-
Java中final关键字详解
谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. 主要介绍:一.final关键字的基本用法.二.深入理解final关键字 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能
-
Java 中的HashMap详解和使用示例_动力节点Java学院整理
第1部分 HashMap介绍 HashMap简介 HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口. HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的. HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子&quo
-
java 中归并排序算法详解
java 中归并排序算法详解 归并排序算法,顾名思义,是一种先分再合的算法,其算法思想是将要排序的数组分解为单个的元素,每个元素就是一个单个的个体,然后将相邻的两个元素进行从小到大或从大到小的顺序排序组成一个整体,每个整体包含一到两个元素,然后对相邻的整体继续"合"并,因为每个整体都是排过序的,因而可以采用一定的算法对其进行合并,合并之后每个整体包含三到四个元素,继续对相邻的整体进行合并,直到所有的整体都合并为一个整体,最终得到的整体就是将原数组进行排序之后的结果. 对于相邻的整体,其
-
java中参数传递方式详解
java中参数传递方式详解 java新手入门面临的一个经典的话题,本文意在终结这个话题,java中有说法:Java里面参数传递都是按值传递,怎么理解这句话?用文字说明恐怕不容易说明白,说明白恐怕也难以想明白. 前提 先明确一下,按值还是按引用的概念,它是来自c++语言,引用不是汉语词典中的一个词,而是c++的概念--"&"这个符号还记得吧? 为什么有这个话题呢?其一,是对按引用传递理解不透彻:其二,诸多java书籍及讨论论点并没有切中要害. 一句话概括,按值传参还是按引用传参,
随机推荐
- JavaScript String.replace函数参数实例说明
- 用VBS修改IIS Metabase 的代码
- VirtualBox虚拟机安装Ubuntu详细教程(图文)
- CentOS系统通过日志反查是否被入侵
- iOS自定义UIScrollView的滚动条实例代码
- Discuz!nt 源文件变成乱码的解决方法
- 一个简单的PHP&MYSQL留言板源码第1/2页
- Android基于广播事件机制实现简单定时提醒功能代码
- Android App数据格式Json解析方法和常见问题
- JS中捕获console.log()输出的方法
- python支持断点续传的多线程下载示例
- Python中使用SAX解析xml实例
- Android绘制炫酷的引导界面
- js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
- Docker构建ELK Docker集群日志收集系统
- PHP开发中常用的十个代码样例
- 一段好玩的JavaScript代码
- Ghost兼职大容量压缩
- CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解
- servlet3新特性_动力节点Java学院整理