JavaEE总结(6)——JSP

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中去配置错误信息

404

/myerror.jsp

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 t,String methodName){

1.获取字节码对象

2.创建对象

3.获取方法对象

4.调用方法

}

 

get方法有返回值而且是无参

set方法无返回值而且是有参

EL表达式+JSTL标签

EL表达式:<%=  %>数据来源主要是从域对象中来

EL语法:

${ 数据名称 }:如果获取pageContext中的数据

问题:不同域对象中存在相同的数据名称

${ 数据名称 }:pageContext>request>session>application【servletContext】

${ 域对象Scope.数据名称 }

问题:数据名称中有.怎么获取?

JSTL标签

第三方开源的标签库

导包 jstl.jar&standar.jar

1.页面先引入jstl的引用

 

相当于后台中if(条件)

可以在标签之间嵌套,还可以在标签内嵌套

 

相当于if-else、switch

遍历,根据属性不一样确定遍历的方式不一样

for(int i=0;i<5;i++)

i:当前循环的变量

相当于<=

 

遍历list:

foreach(类型  变量: list)

items属性中就相当于你的数据源

JS语法

JS的基本入门语法【按照JAVA语法】

      • JS的目的:针对网页中的标签进行一个CRUD的操作
      • JS的三种写法【CSS的三种写法】
        1. 行内JS:写在标签内的JS代码
          1. 前端页面中单引号、双引号都是字符串
          2. javascript:alert(数据)
            1. javascript:伪协议
          3. 特点:行内JS太麻烦,如果有相同效果的JS,不能实现代码覆写

页面内JS

          1. 页面内定义一个

你可能感兴趣的:(JavaEE总结(6)——JSP)