怎样推荐企业建设网站和互联网推广,出口商出口外贸流程,做花茶网站解说,关键词排名查询api一、什么是JSP#xff1f; JSP#xff08;Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术#xff0c;它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag)#xff0…一、什么是JSP JSPJava Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag)从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的既能在Linux下运行也能在其他操作系统上运行。 1)为什么说Servlet是一个动态Web开发技术呢 Servlet是基于服务端的一种动态交互技术 HttpServletRequest表示客户端到服务端的对象 HttpServletResponse表示服务端到客户端的对象 2)JSP是SUN公司开发的一个基于服务端的一种动态WEB开发技术 3)JSP的代码结构/内容HTMLJSP所有元素内容 4)在IDE工具中开发JSP,pageEncoding有二层含义 a)指明当前JSP中的中文采用什么方式编码如果在IDE工具外 b)指明当前JSP页面保存时采用什么方式编码 5)项目中JSP最佳实践模式 Servlet适合控制器 JSP适合显示 JavaBean模型 二、JSP工作原理 1)Web容器根据客户端访问的资源类别Web容器会根据资源的第一行代码确定如果你访问的是JSP资源就交由JSP引擎处理如果你访问的是Servlet资源就交由Servlet引擎处理 2)如果是JSP资源JSP引擎会将其翻译成Servlet资源传入相关的对象如果是静态资源以out.write()形式输出如果是动态资源以out.print()形式输出 3)此时JSP引擎在翻译正确后将其输出给Servlet引擎当作Servlet处理。 4)如果再次访问同一个.jsp文件翻译工作依然进行Servlet引擎工作可以减化所以这是为会么第N次较第1次快的原因 三、JSP基本语法 1)JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架即定义了页面的结构和外观。 模版元素就是HTML中的静态内容即body,table,form等标签。。。 2)JSP脚本表达式 JSP脚本表达式expression用于将程序数据输出到客户端 a)语法%字符串变量或表达式% b)结束无分号 c)默认输出到浏览器 [注意]JSP引擎在翻译脚本表达式时会将程序数据转成字符串然后在相应位置用out.write(…) 将数据输给客户端。 JSP脚本表达式中的变量或表达式后面不能有分号;。 3)JSP脚本片断 a)语法% ...java代码; % b)脚本片断中的注释符号与java代码一致 注意JSP修改后无需重新部署直接刷新Web容器会自动比较新旧二个版本的JSP c)多个JSP脚本片断中定义的变量本质是_jspService()方法中的局部变量可以访问 JSP脚本片断scriptlet用于在JSP页面中编写多行Java代码。语法 % 多行java代码 % 1JSP脚本片断中只能出现java代码不能出现其它模板元素 JSP引擎在翻译JSP页面中会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。JSP脚本片断中的Java代码必须严格遵循Java语法例如每执行语句后面必须用分号;结束。 2在一个JSP页面中可以有多个脚本片断在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。 举例 % int x 10; out.println(x); % p这是JSP页面文本/p % int y 20; out.println(y””x); % 多个脚本片断中的代码可以相互访问犹如将所有的代码放在一对%%之中的情况。如out.println(x); 3单个脚本片断中的Java语句可以是不完整的但是多个脚本片断组合后的结果必须是完整的Java语句例如 % for (int i1; i5; i) { % H1www.itcast.cn/H1 % } % 4)JSP声明 JSP页面中编写的所有代码默认会翻译到servlet的service方法中 而Jsp声明中的java代码被翻译到_jspService方法的外面即实例变量。 a)语法%! ...java代码 % b)JSP声明的变量或方法会成为Servlet的实例变量或实例方法或普通方法 c)JSP脚本片断中不能定义局部方法方法只能定义在JSP声明中 所以JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法 。 多个静态代码块、变量和函数可以定义在一个JSP声明中也可以分别单独定义在多个JSP声明中。 JSP隐式对象的作用范围仅限于Servlet的_jspService方法所以在JSP声明中不能使用这些隐式对象。 例如 %! static { System.out.println(loading Servlet!); } private int globalVar 0; public void jspInit() { System.out.println(initializing jsp!); } % %! public void jspDestroy() { System.out.println(destroying jsp!); } % 5)JSP注释 1)语法%-- 注释的内容 --% 2)对于HTML注释来说JSP引擎会将其翻译成servlet内容对于JSP注释来说JSP引擎不会将其翻译成servlet内容 3)注释不能嵌套使用 6)JSP指令 JSP指令directive是为JSP引擎而设计的它们并不直接产生任何可见输出而只是告诉引擎如何处理JSP页面中的其余部分。在JSP 2.0规范中共定义了三个指令。 1)指令是程序员控制JSP引擎做什么的依据 2)有三类 a)page b)include c)tablib 下篇继续转载于:https://www.cnblogs.com/hacket/archive/2013/03/09/2951855.html