
JSP全名为Java Server Pages,java服务器页面。JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在!
JSP是为了简化Servlet的工作出现的替代品,Servlet输出HTML非常困难,JSP就是替代Servlet输出HTML的。
在idea下生成一个JSP,我们来看一下JSP长什么样子
看起来就像一个HTML页面,前面也说了:JSP的特点就是HTML和Java代码共同存在
我们向浏览器输出一句HelloWorld,至于<%%>这个东西,我先不解释!

在Tomcat博客中我提到过:Tomcat访问任何的资源都是在访问Servlet!,当然了,JSP也不例外!JSP本身就是一种Servlet。为什么我说JSP本身就是一种Servlet呢?其实JSP在第一次被访问的时候会被编译为HttpJspPage类(该类是HttpServlet的一个子类)
刚才我简单使用了一下JSP,它被编译成了这么一个Servlet:
编译过程是这样子的:浏览器第一次请求1.jsp时,Tomcat会将1.jsp转化成1_jsp.java这么一个类,并将该文件编译成class文件。编译完毕后再运行class文件来响应浏览器的请求。
以后访问1.jsp就不再重新编译jsp文件了,直接调用class文件来响应浏览器。当然了,如果Tomcat检测到JSP页面改动了的话,会重新编译的。
既然JSP是一个Servlet,那JSP页面中的HTML排版标签是怎么样被发送到浏览器的?我们来看下上面1_jsp.java的源码就知道了。原来就是用write()出去的罢了。说到底,JSP就是封装了Servlet的java程序罢了。
有人可能也会问:JSP页面的代码服务器是怎么执行的?再看回1_jsp.java文件,java代码就直接在类中的service()中。
JSP比Servlet更方便更简单的一个重要原因就是:内置了9个对象!内置对象有:out、session、response、request、config、page、application、pageContext、exception,这几个内置对象不在这里讲。现在先知道一下即可!
JSP也是Servlet,运行时只有一个实例,JSP初始化和销毁时也会调用Servlet的init()和destroy()方法。另外,JSP还有自己初始化和销毁的方法
JSP代码可以分为两部分:
模板数据:就是HTML代码
元素:JSP页面中的java代码、JSP指令、JSP标签
JSP的脚本就是JSP页面中的java代码,也叫做scriptlet。JSP的脚本必须使用<%%>括起来,不然会被当成是模板数据的!
JSP脚本有三种方式:
<%%>【定义局部变量,编写语句】
<%!%>【定义类或方法,但是没人这样用!】
<%=%>(也称之为表达式输出)【输出各种类型的变量,int、double、String、Object等】
如果过多地使用<%%>会导致代码混乱,JSP还提供了一种scriptlet标签,使用此标签和<%%>有相同的功能,只不过它更美观了一些
<%--这是JSP注释--%>
<%--%>
//这是java的当行注释
//
/*这是java的多行注释*/
/**/
JSP指令用来声明JSP页面的相关属性,例如编码方式、文档类型等等
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-69423-1.html
没人愿意写
再个地方政府保护当地企业也很正常