一、JSP与Java Servlet的关系
Servlet就是在服务器端创建对象的Java类,JSP是Servlet的一种特殊表现形式,本质还是Servlet。
Servlet的最大缺点是不能有效地管理页面的逻辑部分(java代码)和页面的输出部分(普通的静态html代码),普通的静态html代码(无法响应和处理用户的请求)和java代码(核心业务逻辑代码)是合在一起的,导致Servlet的代码非常混乱,非常不便于调试,单独用Servlet来管理网站编程一个很困难的事情。为了克服这个缺点才推出了JSP。
以前讲的html页面,里面放的就是静态的html,静态的html无法响应/处理用户的请求。JSP使得,可以在普通的html中加入一部分java代码。所有的显示功能,比如表格、标题等还是要由html来处理。具体的核心业务逻辑怎么办呢?可以在普通的html中加入一部分java代码,加入的这些java代码就来处理这些核心的业务逻辑,它不关心显示的问题,显示就交给html了,只关心用java代码来实现具体的业务逻辑处理。
因此,JSP的工作原理比较简单,就是在普通的html中,加了一部分java代码而已。
JSP应运而生,当用户请求一个JSP页面时,Tomcat服务器自动生成一个Java文件、编译Java文件,并用编译得到的字节码文件在服务器端创建一个servlet。
JSP技术屏蔽了servlet创建的过程,使得Web程序设计这只需要关心JSP页面本身的结构、设计好各种标记,比如使用HTML标记设计页面的视图,使用Javabean标记有效地分离页面的视图和数据存储等。
不管是JSP还是Servlet,虽然都可以用于开发动态web资源。根据这两个技术的特点,让他们各司其职,servlet值负责响应请求产生数据,并把数据通过转发技术带给JSP,数据的显示交给JSP来做。
二、JSP页面
1、JSP的基础部分是html,所以有html的基本元素。简单来说,一个JSP页面可以有普通的HTML标记和JSP规定的JSP标记
2、通过标记符号"<%和%>"加入的Java程序片。
通过标记符号"<% !和%>"加入java类成员、类方法
通过标记符号"<%= sum %>"访问sum的值