JSP

JSP:在静态页面中嵌套Java程序。

JSP页面是一个Servlet

tomcat的控制台可以看到嵌套的Java程序运行情况。

JSP 的工作原理:

1.浏览器发送要请求的jsp页面给服务器,服务器查看有没有jsp页面

2.如果没有,直接返回给浏览器404错误

3.如果有,看是否有这个jspservlet实例,如果有直接返回给浏览器,如果没有,jsp页面转化为servletjava文件,编译为class文件,再执行为一个servlet实例,返回给浏览器。

 

JSP语法:

1.脚本元素

(1)声明:<%! Context %>

(2)表达式:<%=express %>

(3)Java脚本:<% Java 程序 %>

2.编译指令

(1)page

(2)include(静态包含,在客户端发送请求jsp页面转化为java文件的时候就把被包含的文件包含进去了)

(3)taglib: 自定义一些标签。

// 区别:查看源代码和.java文件!!!

3.动作指令

(1)<jsp:include>:(动态包含,在执行到动作指令时才开始转化被包含的jsp页面)

(2)<jsp:forward>:

<jsp:forward page="hello.jsp"></jsp:forward> ---> 服务器内部跳转,地址不改变

 

(1)<jsp:useBean>

组件:javaBean    

1.pojo

2.实现serilizable接口

3.属性

4.与这些属性相对应的getset方法

5.有一个无参的构造函数

6.封装了一些数据

7.处理业务逻辑

(2)<jsp:setProperty>

(3)<jsp:getProperty>

1.注释

(1)html/xml的注释    <!-- comment -->   在服务器端可以显示,在浏览器中也可以显示

(2)隐藏注释    <%-- comment --%>   在客户端和服务器端不显示

(3)脚本注释    // comment  、  /* comment  */    /** comment */  在客户端不显示,在服务器端显示

Post | Get 表单提交方式的区别  ?

ELexpression language 表达式

JSTLjsp standard tag library 标签库

J2ee1.4jsp2.0版本中采用

 

JSP隐含对象:pagerequestsessionapplication

pageScope、 requestScopesessionScopeapplicationScope

 

 

JavaBean的使用

(1)定义一个class,一个或多个属性,获得setget方法,无参构造方法。

(2)jsp页面中使用javaBean

<%--scope:在整个页面起作用

  application:存于服务器端,不会随着浏览器的关闭而消失

  request:相当于一个请求

  session:在客户端,在会话时间结束后会保存于客户端

 --%>

    <jsp:useBean id="countBean" class="com.briup.javaBean.CountBean" scope="page"></jsp:useBean>

    <%--

    com.briup.javaBean.CountBean

    countBean = page.get...();

    if(countBean == null){

    countBean = new com.briup.javaBean.CountBean;

    }

     --%>

    <h2>

    <%--相当于调用CountBean中 的set和get方法 

    name要与useBean中的id名称相同

    value中可以传值或者表达式到set的方法中

    --%>

    <jsp:setProperty property="count" name="countBean" value="20"/> 

    count:<jsp:getProperty property="count" name="countBean"/>

 

(3)jsp页面调用javaBean中的方法:

 

<jsp:useBean id="user" class="com.briup.javaBean.User" scope="request"></jsp:useBean>

    <jsp:setProperty property="*" name="user"/>

    <%

    if(user.register()){

    request.getRequestDispatcher("registerSuccess.jsp").forward(request, response);

    }else{

    %>

    <jsp:forward page="registerFailure.jsp"></jsp:forward>

    <%

    }

     %>

posted @ 2012-07-21 22:18  qin520  阅读(481)  评论(0编辑  收藏  举报