jsp编译热门博客列表,用jsp实现简易博客

本文目录一览:

如何编译jsp

保存时选文件类型选”所有文件”,

然后文件名要加上”.jsp”,

如果你只有一个jsp文件的话,

放到tomcat的webapps下的root下,

然后启动tomcat,

然后在浏览器运行

开源或免费的JSP博客系统

介绍两个, 都是外国人的作品:

1. Roller Weblogger

2. DLOG4J

1. DLOG4J 3.0是一个多用户博客系统

2. 以个人应用为出发点增加包括相册、音乐、论坛、留言板等功能

3. 增加了好友、黑名单功能

4. 允许设置空间的样式、布局以及关闭和开启某些功能,功能个性化命名等

5. 全面引入标签功能,使包括日记、照片、讨论均可使用标签

6. 支持多种友情链接包括:WEB、WAP、RSS、站内等

7. 全功能WAP支持

8. 允许设置多个超级管理员对各个空间数据进行管理

技术

1. 升级组件Hibernate-3.1.3, Strus-1.2.9, Lucene 2.0.0

2. 采用最新的可视化编辑器FCKEditor,兼容包括IE,FireFox,Netscape等浏览器

3. 支持个人一级域名与空间之间的绑定

4. 采用客户端标识码充分确保表单数据的有效性

5. 大量采用缓存提升系统性能

6. 采用纯div+css结构开发,便于定制页面风格

7. 精心为互联网设计,支持各种集群环境

8. 支持各种操作系统、数据库以及应用服务器

中文支持及演示站点:Java自由人

JSP的三个编译指令

1、JSP的编译指令是同志引擎的消息,它不直接生成输出。编译指令都有默认值,因此开发人员无须为每个指令设置值。常见的编译指令:

     page:该指令是针对当前页面的指令

     include:用于指定包含另一个页面

     taglib:用于定义和访问自定义标签

     使用编译指令语法格式:%@ 编译指令名 属性名=”属性值”…%

2、page指令

     page指令位于JSP页面的顶端,一个JSP页面可以使用多条page指令。page指令属性:

     language:声明当前JSP页面使用的脚本语言的种类,因为页面是JSP页面,所以通常都是java,默认值也是java,所以通常无须设置。

     extends:指定JSP页面编译所产生的Java类所继承的父类,或所实现的接口。

     import:用来导入包。默认导入的包:java.lang.*,javax.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*。

     session:设定这个JSP页面是否需要HTTP Session。

     buffer:指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8KB,可设为none。

     autoFlush:当输出缓冲区即将溢出时,是否需要强制输出缓冲区内容。true时输出,false会在buffer溢出时产生一个异常。

     info:设置该JSP程序的信息,也可以看作其说明,可通过Servlet.getServletInfo()方法获取该值。

     errorPage:指定错误处理页面。

     isErrorPage:设置本JSP页面是否为错误处理程序。

     contentType:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认的MIME类型是text/html,默认的字符集是ISO-8859-1。

     pageEncoding:指定生成网页的编码字符集。

注:因为JSP内建了异常机制支持,所以JSP可以不处理异常,即使是checked异常。

3、include指令:可以将一个外部文件嵌入到JSP文件中,同时解析这个页面的JSP语句。include既可以包含静态的文本,也可以包含动态的JSP页面。语法格式:%@include file=”relativeURLSpec”%

如果嵌入的文件经常改变,建议使用操作指令,因为它是动态的include语句。

需要注意的是,静态包含还会将被包含页面的编译指令也包含进来,如果两个页面的编译指令冲突,那么页面就会报错。

tomcat怎么编译jsp文件

一、jsp执行过程图解

用户访问jsp页面时,jsp的处理过程如下图所示: 

二、预处理阶段

客户第一次请求jsp页面时,jsp引擎会将jsp文件中的脚本代码(HTML)和代码片段(java代码)全部转换为java代码,转换过程非常直观:对于HTML文本只需要用简单的out.println方法包裹,对于java脚本只做保留或简单的处理。

三、编译阶段

预处理阶段把jsp文件解析为java代码,编译阶段jsp引擎把java代码编译成servlet类文件,对于Tomcat,生成的class文件默认情况下存放在Tomcat/work目录下。

四、响应阶段

编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面返回给客户端。 

在执行jsp网页时,通常分为两个时期:转译时期和请求时期。转译时期jsp页面被翻译成Servlet类,然后编译成Class文件;用户请求时期,servlet类被执行,生成HTML响应至客户端。

五、jsp和servlet的执行速度

jsp的转译和请求都在在第一次访问时进行的,所以用户在第一次访问jsp页面时响应时间会比较长。在之后的请求中,这些工作已经完成,时间延长问题不存在了。在处理后续的访问时jsp和servlet的执行速度是一样的。

六、容器、jsp容器、jsp引擎

jsp要转译为servlet,但是servlet没有main()方法,servlet对象的创建、方法的调用由web容器来实现。以Tomcat为例,先看一下Tomcat的总体结构:

从图中可以看出,Tomcat的核心组建是connector和container,container就是容器。容器就是负责管理控制servlet的应用程序。图中的jasper就是解析jsp的jsp引擎。Tomcat既是servlet容器又是web服务器,也是jsp引擎。

怎么编译jsp

有种简单办法,改变tomcat的启动方法:

进入其安装目录,找到bin文件夹,双击tomcat6.exe,一个类似DOS的窗口便打开了。这样tomcat 也可以正常工作。

而且还多了一个好处:当jsp出错时,错误信息还可以在上述窗口中显示出来。

不是非得手工编译jsp文件之后才能访问它;只要直接通过tomcat访问到了某个jsp页面,那个页面就已经被服务器自动编译了。

另外,并不是后缀名改为jsp,那个文件就是jsp文件了,还与那个文件的内容是否符合jsp语法有关。

jsp源代码的编译

任何工具都不能完成对java 文件和Jsp文件的编译,只能由Tomcat服务器利用JVM虚拟机才能完成对文件的编译。

无论你使用的是什么工具JSP的转义和编译都是由Tomcat服务器完成的。

jsp源代码中的关于html的部分最后会转译成Servlet文件,这也是个java文件最后又服务器编译成class 文件。你看一下这个文件夹下的文件就全明白了Tomcat\work\demo\org\apache\jsp

JSP页面上的所有HTML部分都会转换成Java文件存放在这个文件夹下,包括服务器编译完的生成的Class文件。

由Tomcat编译的。每次重起Tomcat服务器都要对服务器中的java文件编译,生成Class文件,存放在WEB-INF文件夹下classes文件下。JSP页面的内容会先转义成相应的Servlet形式文件,这些文件存放在Tomcat\work\demo\org\apache\jsp文件夹下,并且有相应界面的java文件,在第一次对相应的页面请求时服务器会自动对相应JSP页面的java文件进行编译,生成class文件。JSP的编译过程是先转义然后再编译,当第二次请求时就不需要再编译了。

所以JSP是一次编译多次使用。

但是如果你后台的Java类发生了改变,那么你必须重起启动服务器对Java类文件进行编译。

你看下关于JSP的生命周期。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/241942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-12 12:45
下一篇 2024-12-12 12:45

相关推荐

  • Python字符转列表指南

    Python是一个极为流行的脚本语言,在数据处理、数据分析、人工智能等领域广泛应用。在很多场景下需要将字符串转换为列表,以便于操作和处理,本篇文章将从多个方面对Python字符转列…

    编程 2025-04-29
  • Python中不同类型的列表

    Python是一种功能强大的编程语言,其内置数据结构之一为列表。列表可以容纳任意数量的元素,并且可以存储不同类型的数据。 一、列表的基本操作 Python的列表类型支持许多操作,如…

    编程 2025-04-29
  • Python实现简易心形代码

    在这个文章中,我们将会介绍如何用Python语言编写一个非常简单的代码来生成一个心形图案。我们将会从安装Python开始介绍,逐步深入了解如何实现这一任务。 一、安装Python …

    编程 2025-04-29
  • Python为什么输出空列表

    空列表是Python编程中常见的数据类型,在某些情况下,会出现输出空列表的情况。下面我们就从多个方面为大家详细阐述为什么Python会输出空列表。 一、赋值错误 在Python中,…

    编程 2025-04-29
  • Python定义两个列表的多面探索

    Python是一种强大的编程语言,开放源代码,易于学习和使用。通过Python语言,我们可以定义各种数据类型,如列表(list)。在Python中,列表(list)在处理数据方面起…

    编程 2025-04-29
  • Python编程实现列表元素逆序存放

    本文将从以下几个方面对Python编程实现列表元素逆序存放做详细阐述: 一、实现思路 一般来说,使用Python将列表元素逆序存放可以通过以下几个步骤实现: 1. 定义一个列表 2…

    编程 2025-04-29
  • Python列表的读写操作

    本文将针对Python列表的读取与写入操作进行详细的阐述,包括列表的基本操作、列表的增删改查、列表切片、列表排序、列表反转、列表拼接、列表复制等操作。 一、列表的基本操作 列表是P…

    编程 2025-04-29
  • Python字典列表去重

    这篇文章将介绍如何使用Python对字典列表进行去重操作,并且从多个方面进行详细的阐述。 一、基本操作 首先我们需要了解Python字典列表去重的基本操作。Python中提供了一种…

    编程 2025-04-28
  • Python列表套列表用法介绍

    本文将围绕Python中的列表套列表展开详细讲解。 一、基本用法 Python中的列表套列表是一种非常常见和实用的数据结构。常见的用法是在一个大列表中嵌套若干个小列表。可以使用以下…

    编程 2025-04-28
  • 如何在Python中判断列表长度为中心

    在Python中,很多时候我们需要对列表进行操作,而有时候需要根据列表长度来进行一些特定的操作。本文将讨论如何在Python中判断列表长度为中心。 一、使用len()函数判断列表长…

    编程 2025-04-28

发表回复

登录后才能评论