资讯专栏INFORMATION COLUMN

Servlet&JSP学习笔记(二)

YJNldm / 1339人阅读

摘要:一基本语法声明声明语句成员变量或方法声明语句声明局部变量注意区分二者区别。局部变量在每次调用方法时都会重新初始化。注意此时代码是被原封不动地导入,所以变量的作用域仍然在这个中。动作,运行期间的命令广义的拥有私有变量,和等方法的工具类。

JSP(JAVA Server Pages):一种特殊的Servlet,直接在HTML中内嵌JSP代码,由JSP Engine自动转为Servlet代码,再编译成Class文件载入执行。
注意:只有当客户端第一次请求JSP时,才需要将其转换、编译以及初始化。

一、基本语法 1.Declaration声明

<%! 声明语句 %> 成员变量方法
<% 声明语句 %>声明doGet/Post局部变量
★注意区分二者区别。局部变量在每次调用doGet方法时都会重新初始化。

2.Directives编译指令 编译期间的指令

<%@Directive 属性=“属性值”%> 常见Directive有:page include taglib
(1)page


d.png](/img/bV0XWI)

指明与JSP Container的的沟通方式,其中主要使用
import 导包
errorPage="url" 出错后跳转的页面
isErrorPage 在errorPage指定的页面中,该页面需要设置isErrorPage="true"
contentType 指定资源类型,一般是text/html;charset=gb2312

(2)include
include file="fileURL"直接将jsp或html文件原封不动包含进来,常用于非动态代码,可以在url后面传参数。注意此时代码是被原封不动地导入,所以变量的作用域仍然在这个page中。

3.Action动作,运行期间的命令 (1)jsp:useBean

广义的Bean:拥有私有变量,getter和setter等方法的工具类。
a.原则:
原则一:不要使用裸体类,要把类放在包里,包放在WEB-INF的classes目录下
原则二:Bean必须要有一个空构造函数,不能有公共的实例变量,通过getter和setter获取值

b.用法
创建对象:

例如:
相当于CounterBean cd = new CounterBean();
注意:cope表明有效范围,page仅涵盖使用Bean的页面 request仅限于使用Bean的请求 session仅限于用户的整个连接阶段(会话阶段均有效) application对整个webapp、网站均有效
type表示可以把New出来的这个对象当什么来用(即引用的类型),常用于实现多态

调用setter设置属性:
相当于 对象.setter(value)

调用getter获取属性:
相当于 对象.getter()

(2)jsp:include

用于包含jsp程序或html文件,除非被执行到,否则不会被编译,什么时候执行到什么时候跳出去编译执行并返回结果。
常用于动态代码,可以传参数,但是不能通过url直接传参数
用法:

或者


   

通过jsp:param传参数

(3)jsp:forward

将一个jsp内容送到page指定的JSP或Servlet中处理,即页面跳转,但url地址不会改变,可以通过url直接传参数。注意forward后的代码将不会执行
用法:

或者


    

通过jsp:param 传参数

和resonse.sendRedirect的区别
使用的是同一个request(服务器内转发),而resonse.sendRedirect使用不同的request即服务器受到客户端请求后,先给客户端回复(resonse),客户端收到后重新访问另一个页面

4.Scrpitlet小程序段

<% java程序代码 %>会被转换到doGet方法中编译

5.Expression表达式

变成字符串输出 <%=....%> =后面的值必须是String或能转为string的表达式,该语句只有一行,不能换行

6.Comment注释

(1)<%--..注释..--%>
(2)<%//.单行注释 %>
(3)<%/*...段注释.*/%>客户端无法通过浏览器的显示源码查看到该种注释。
而html的注释 在源码中是可以看见的。即客户端可见

7.内置对象

二、jsp和servlet之间的通信


JSP→Servlet


    

Servlet→JSP
doGet/Post方法中

  this.getServletContext().setAttribute("data","serlvet数据转发");//在ServletContext中设置Attribute
  RequestDispatcher rd = this.getServletContext().getRequestDispatcher("jspURL");//通过RequestDispatcher的forward方法进行转发
  rd.forward(request, response);
  

关于ServletConfig与ServletContext对象,参考https://segmentfault.com/a/11...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68065.html

相关文章

  • Servlet&amp;JSP学习笔记(一)

    摘要:首先我们需要了解下的文件结构。的安装目录里,所有的都放在下。假设某个的名字叫。那么会有在目录下会有一个文件夹。如何让使用这个文件呢这时候就要修改文件了。中的写错了类名,导致错误地址栏中写的错误应当与中配置的相同导致错误 首先我们需要了解Tomcat下的文件结构。tomcat的安装目录里,所有的web application都放在webapps下。假设某个webapp的名字叫test。那...

    cucumber 评论0 收藏0
  • java&amp;javaweb学习笔记(汇总)

    摘要:我的学习笔记汇总标签笔记分为两大部分和笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解基础语法,想进一步深入学习的人如果觉得不错,请给,这也是对我的鼓励,有什么意见欢迎留言反馈目录基础巩固笔记反射基础巩固笔记泛型基础巩 我的java&javaweb学习笔记(汇总) 标签: java [TOC] 笔记分为两大部分:javase和javaweb javase javawe...

    yagami 评论0 收藏0
  • JavaWeb开发

    摘要:在页面中执行的表达式语法表达式注意表达式不以分号结束示例张学友声明一个字符串变量声明一个返回整型值的函数单行注释多行注释这里是脚本代码测试哈哈你好四页面生命周期问答题当用户第一次请求一个页面时,首先被执行的方法是构造方法答案选。 java web开发学习笔记。 一、jsp简介 JSP与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。 JSP(全称Java Server...

    soasme 评论0 收藏0
  • Java笔记-反射机制(三)-小demo

    摘要:经过前面几次反射机制的学习,这次用反射的知识写一个类似于框架处理机制的小。和在引入反射知识前,先简单介绍下框架和。再次使用反射获取的最新值,组成返回,同时根据方法的返回值,去中获取对应的。最后根据的返回值和的名称组成最终展示的视图。 经过前面几次反射机制的学习,这次用反射的知识写一个类似于Struts框架处理机制的小demo。 Servlet 和 Sturts 在引入反射知识前,先简单...

    zhangwang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<