jsp和html5之间如何转换?

html-css014

jsp和html5之间如何转换?,第1张

jsp和html5之间的转换,只需要把jsp中的服务端元素去掉即可。

html5转jsp会遇到以下问题:

html5在html文件格式下转为jsp时,部分css出现错乱,但所有css与js与html格式下引用一致

导致原因!DOCTYPE 声明

jsp默认声明:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

但html5 中值需要:<!DOCTYPE HTML>

原因:

<!DOCTYPE>声明必须位于 HTML5 文档中的第一行,也就是位于 <html>标签之前。该标签告知浏览器文档所使用的 HTML 规范。

doctype 声明不属于 HTML 标签;tag它是一条指令,告诉浏览器编写页面所用的标记的版本。

在所有 HTML 文档中规定 doctype 是非常重要的,这样浏览器就能了解预期的文档类型。

HTML 4.01 中的 doctype 需要对 DTD 进行引用,因为 HTML 4.01 基于 SGML。而 HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为(让浏览器按照它们应该的方式来运行。)。

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]  是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

html5是html标准,属于w3c,是html标准的延伸,所有浏览器展示页面基本都是html的。

而jsp是属于java Web的技术,他其实是在servlet里面输出了html文本,在前端显示。就是说,你在后台写的jsp页面,其实在编译的时候变成了servlet,前端显示的页面是servlet输出的html页面,你看到的jsp其实根本还是html页面。

所以,jsp输出的页面是html5还是html4是可以自由选择的,jsp应该算是转化后台数据至前台页面的中间件,不能算是完全的前端技术。

不能。html5是一个页面显示的语言,他是html4标准的延伸,本质上,他就是为了显示页面。html5其实就是增加了许多动态显示的标签,本质上是为了页面显示更美观,可以显示更多的功能。虽然html5增加了本地数据库支持,但是并不能取代服务端数据库,除非这不是一个网络应用。html5或者说html是一个前台展示语言。

jsp是javaWeb的一个规范,他的本质是servlet。jsp其实就是把servlet和html结合在一起了。当jsp被编译的时候,会被编译成一个servlet的class,而里面的显示页面的html语句会被out出来。简单来说jsp是为了接收后端数据,输出到前端的一个技术。除了jsp,java还可以使用velocity、Freemaker模版等技术结合html来显示页面。

就是说jsp技术和html是不可分割的,使用jsp来显示一个页面时,必须使用html技术,当然也可以是html5。只不过html被整合在jsp里面或者说jsp其实就是servlet和html的结合体,并且html和servlet是版本无关的,就是说你只要使用html就可以,至于是哪个版本无所谓。