java的jsp_JavaJsp(一)
发布日期:2021-06-24 12:24:11 浏览次数:2 分类:技术文章

本文共 3204 字,大约阅读时间需要 10 分钟。

JSP语法的学习 要学习JSP,就必须要学习它的语法,JSP的语法分为以下几部份: 1. JSP模版元素 2. JSP脚本表达式 3. JSP脚本片断 4. JSP声明 5. JSP注释 6. JSP指令 7. JSP标签 8. JSP内置对象 最后,我们还要学习如何在JSP页面查找错误。 ------------------------------------------------ 第一、JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本架构,即定义了页面的结构和外观。 ------------------------------------------------ 第二、JSP脚本表达式 JSP表达式(expression)用于将程序数据输出客户端。 语法: 举例:当前时间: ------------------------------------------------ 第三、JSP脚本片断 JSP脚本片断(scriptlet)用于在JSP页面中编写多行java代码。 语法: 例如: JSP脚本片断中只能出现java代码,不能出现其它模版元素,JSP引擎在翻译JSP页面中,会将JSP脚本片断中的java代码原封不动的放到Servlet的_jspService方法中。 JSP脚本片断中的java代码必须严格遵守java语法。 在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。 例如:

这是JSP页面文本

多个脚本片断中的代码可以相互访问,犹如将所有的代码放在一对之中的情况。如:out.println(x); 单个脚本片断中的Java语句可以是不完整的,但是,多个脚本片断组合后的结果必须是完整的Java语句。 例如:

www.itcast.cn

  演示之后看jsp源码。 ------------------------------------------------ 第四、JSP声明 刚才我们学习了“JSP脚本表达式”和“JSP脚本片断”,它们都是放在Servlet的_jspService方法中的。 思考一下,我们能不能使用“JSP脚本表达式”来声明一个方法? 如: 很显然是不行的,但有时候我们需要通过JSP来声明一些属于自已的方法怎么办?这时候我们可以使用“JSP声明”。 JSP声明的语法格式是: JSP声明的代码最终会翻译到_jspService方法的外面,也就是作为Servlet类的成员(变量和方法都可以)。 所以,JSP声明可用于定义JSP页面转换成Servlet程序的静态代码块、成员变量或成员方法。 演示: 多个静态代码块、变量和方法可以定义在一个JSP声明中,也可以分别单独定义在多个JSP声明中。 JSP隐式对象的作用范围仅限于Servlet的_jspService方法中,所以在JSP声明中不能使用这些隐式对象。 ------------------------------------------------ 第五、JSP注释 我们可以为JSP添加注释,格式如下: JSP注释的区域不会在翻译后的Servlet代码里显示,JSP注释专门用来注释java代码的。 思考:jsp和html注释有什么区别? 答:html注释是用户可见的,比如你现在点击右键,查看源代码,源文件什么的,是可以看得到html注释的。 而jsp注释是不可见的,也就是说你查看源代码是没法查看这个jsp注释的。 总得来说,html注释,是(可能是,因为很少人蛋疼地去查看源文件以获得帮助)服务于用户的。而jsp注释是服务于程序员的。 ------------------------------------------------ 第六、JSP指令 如何修改MyEclipse里的JSP模版? JSP引擎是什么?我们写的JSP代码最终会被翻译成Servlet代码,而这个翻译的过程必定是由某个程序来执行的,这个程序就称为“JSP引擎”。 简单把“JSP引擎”想像成是Tomcat就行了。 JSP指令(directive)是为“JSP引擎”而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分。 在JSP 2.0规范中共定义了三个指令: 1. page指令 2. Include指令 3. taglib指令 1. page指令 举例: 如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以分开写。例如:也可以写作: page指令用于定义JSP页面的各种属性,无论page指令出现在JSP页面中的什么地方,它作用的都是整个JSP页面,为了保持程序的可读性和遵循良好的编程习惯,page指令最好是放在整个JSP页面的起始位置。 JSP2.0规范中定义的page指令的完整语法: 上面语句也可以使用多条page指令来写: [ session="true | false" ] 控制JSP页面里的java脚本是否允许直接使用session。 假设设置为true,我们在翻译后的JSP代码可以看到:     HttpSession session = null;         session = pageContext.getSession(); 假设设置为false,那就没有session被创建。 因为在IE6.0后每个用户对应一个session,如果用户多的话session会相应的增多,服务器的压力就会加大,所以JSP提供了session可开可关的设置。 这里要注意一点,如果没有任何配置的情况下,session在关闭浏览器30分钟后才会消失。 [ isThreadSafe="true | false" ] 实现SingleThreadModel接口,这个不推荐配置。 [ errorPage="relative_url" ] errorPage属性用来指定当前JSP页面抛出异常后的跳转的JSP页面位置。 errorPage="/..." 这里的/表示Web工程的根目录。建议养成习惯,写errorPage的时候先写/ 可以在web.xml文件中使用元素为整个web应用程序设置错误处理页面,其中的子元素指定异常类的完全限定名,元素指定以“/”开头的错误处理页面路径。 如果1.jsp 2.jsp 3.jsp...页面里都有异常,那为每个JSP页面都配置errorPage是很麻烦的,现在提供一种方式,在web.xml文件里面配置“全局异常”,这样就不需要在每个JSP页面里都配置了。 web.xml java.lang.Exception/error.jsp [ isErrorPage="true | false" ] 设置此jsp网页是否为错误处理页面。默认值为”false”。当设置为”true”时,jsp页面将可存取隐含的exception对象,并通过该对象取得从发生错误之网页所传出的错误信息。取得错误信息的语法如下: [ contentType ] 设置jsp网页输出时数据时,所使用的字符压缩方式,以及所使用的字符集,当编写中文网页时,设置如下: 此属性的默认值为”text/html;charset=ISO-8859-1”。 [ buffer ] 设置jsp网页的缓冲区大小,默认为”8k”,如果设置为”none”,则表示不使用缓冲,所有的响应输出都将被PrintWriter直接写到ServletResponse中。 下面讲一个重点内容:使用page指令解决JSP中文乱码问题 pageEncoding与contentType属性的设置问题 ------------------------------------------------

转载地址:https://blog.csdn.net/weixin_32688511/article/details/114408805 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:微信下载多媒体文件 java_java微信开发之上传下载多媒体文件_php实例
下一篇:java数组静态初始化_Java数组静态初始化

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月13日 12时40分50秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章