JSP初体验(1)基础知识

JSP是什么?

1.JSP(JavaServer Page) java服务器页面,所以这个是一个类似html页面的文件,但又不是,后缀为index.jsp

可以干啥?

1.首先可以写html静态页面的代码,其次使用标识符可以书写Java代码(很牛逼),还有就是jsp标记,这三部分组成.所以我们猜到这个jsp可以实现动态网页技术,因为内嵌了java代码,所以十分灵活的动态生成html元素,也就可以和后台实现数据绑定显示.

JSP运行机制

1.为什么html页面可以写java代码呢?首先当你编写好一个index.jsp文件时,tomcat服务器内置的jsp编译器会将其编译成.java的java源文件,然后通过javac编译成字节码文件,最后运行到jvm虚拟机上(原来如此)如果你想看这个jsp生产的java文件和字节码文件,可以去tomcat安装目录下的work下寻找.
2.当你看其生成的java代码时,你会发现这个类继承了HttpJspBase这个类,这个类继承了HttpServlet类,所以jsp本质上就是servlet程序,因为都实现了Servlet接口,而且jsp中有_jspService()方法来处理请求和响应,servle中有service(),也有生命周期方法

我们怎么去使用

1.书写Java代码—> 使用<% java代码%>就行了

<h1><% System.out.println("程序逸最帅!!!")%></h1>

2.如果我们想显示值怎么办?
继续贴代码:

<% String s="你今天学java了吗?"%>
<h1><%=s%></h1>

这里使用<%= 有返回值的表达式%>
3.如果想定义方法呢?来吧,继续满足你:

<%! public void m1(){System.out.println("你好,程序逸")}%>

使用<%! 定义的方法%>
如果你去看那生产的java代码,会发现这个声明的方法和变量会被定义成成员方法和变量.

JSP还有三大指令

1.page指令:

指令名称作用
page用来描述当前jsp文件的页面信息属性解析
language=“java”代表Jsp文件内嵌入的脚本语言为java
contentType=“text/html; charset=UTF-8”最终Jsp文件中的内容会在编译后的java类中,通过流的形式响应出去,所以需要指定响应数据的类型及编码格式
pageEncoding=“UTF-8”代表当前页面的编码格式
import用于在Jsp文件内部导入外界的Java类或者接口
errorPage指定跳转的错误页面路径。这个属性的作用很大程度上其实就是为了代码调试!错误页面需要设置isErrorpage=true
session代表当前的jsp页面是否支持会话,默认值为true,如果改为了false,代表不支持会话,那么该页面将无法获取会话中存储的共享数据!

2.include指令:可以实现页面包含,一个jsp页面内可以包含另外一个jsp文件中的内容!如果学过C#的话,类似,模板页和子页
3.taglib指令:导入在Jsp中操作页面需要用到的标签库!

prefix:为标签设置一个前缀别名,来区分标签的

uri:导入的标签库的路径.

JSP中的El表达式

1.使用El表达式让jsp书写更简单
2.使用方法:

${表达式}

3.注意事项:当我们获取域对象时,首先判断其范围:

域对象名称和对应使用的对象作用范围依次变大
pageContext—>(pageScope)1
request—>requestScope2
session—>sessionScope3
application—>applicationScope4

因为当我们要获取多个域对象中设置的相同关键字的值时,没有指定域对象类型,那么会先从小的访问进行查找.

OK,以上就是JSP初体验学习了

:–)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值