JSP
什么是JSP(JSP就是Servlet)
java service page :java服务(动态)网页
JSP就是Java中用来做动态网页的技术
Servlet : JAVA代码(主) + HTML代码
JSP : JAVA代码 + HTML代码(主)
以后我们会慢慢的达到一个目标:servlet里面不要写HTML代码,jsp里面不要写java
JAVA就是Servlet
JSP的语法
注释:
<%-- 我是一个JSP的注释 --%>
HTML的注释用户可以查看到(将注释直接打印在页面)
JSP注释用户看不到(在JSP翻译成Servlet的时候注释就已经没有了)
语法:<%=表达式%>
作用:输出数据到页面上(实际上就是调用输出流打印到页面上) out.print(表达式);
语法: <% 这里面写代码 %>
作用:它会翻译到service方法里面
语法:<%!Java代码 %>
作用:它会把代码翻译到这个Servlet类里面
JSP三大指令(考点)
<%@ 指令名称 key="value" key="value" ... >
Page : 页面指令
Include : 包含指令
-------------------------------
Taglib:标签指令
Page :页面指令
language:语言(这个页面所使用是什么语言)
contentType:设置页面输出的类型(里面还可以把编码写进去)
pageEncoding:页面编码(备胎)
当contentType没有编码的时候,就使用pageEncoding的编码
import :相当于导包
errorPage="/myerror.jsp" :如果当前页面出错,就跳转到对应的页面
isErrorPage="true" :这个页面是否是错误页面(当我们要在页面上直接使用exception的时候就可以加上它)
出错之后跳转到某个页面(这个我们以后会用到):
web.xml中去配置错误信息
Include :包含指令
特点:将整个页面的所有内容全部拷贝到一个文件中
问题:拷贝的内容中是包含有网页的结构
包含的文件中,可以不写结构
动态包含:jsp中的动作
特点:
不会将包含的内容拷贝到一个文件
而且会将包含的内容单独进行编译生成
内省
获取某个对象中存在的方法、属性等信息
introspecter
JavaBean:从GUI编程中来的概念
web开发中不同的技术,JAVABean标准是不一样的
POJO:
1.可序列化
2.公共无参的构造
3.get/set
A类继承了B类继承Object
getBeanInfo(A.class):可以获取到继承的父对象中可以被继承的属性、方法
getBeanInfo(A.class,Object.class)
属性:其实就是类中声明的字段,而且必须有get/set方法
BeanInfo对象中可以获取到方法的信息、属性的信息
getMethodDescriptors,返回一个MethodDescriptors[]
getMethod
getPropertyDescriptors
getReadMethod:获取get方法
getWriteMethod:获取set方法
A类去调用A中的方法
A a=new A()
a.方法();
B类中调用B中的方法:
B b=new B();
b.方法();
反射就可以把步骤抽取出来:
1.获取字节码对象
2.创建对象
3.获取方法对象
4.调用方法
public Object executeMethod(Class
1.获取字节码对象
2.创建对象
3.获取方法对象
4.调用方法
}
get方法有返回值而且是无参
set方法无返回值而且是有参
EL表达式+JSTL标签
EL表达式:<%= %>数据来源主要是从域对象中来
EL语法:
${ 数据名称 }:如果获取pageContext中的数据
问题:不同域对象中存在相同的数据名称
${ 数据名称 }:pageContext>request>session>application【servletContext】
${ 域对象Scope.数据名称 }
问题:数据名称中有.怎么获取?
JSTL标签
第三方开源的标签库
导包 jstl.jar&standar.jar
1.页面先引入jstl的引用
可以在标签之间嵌套,还可以在标签内嵌套
for(int i=0;i<5;i++)
i:当前循环的变量
遍历list:
foreach(类型 变量: list)
JS语法
JS的基本入门语法【按照JAVA语法】
页面内JS