JSP的简介与基本语法

Jsp简介:

³     JSP---Java Server Pages

³     拥有servlet的特性与优点(本身就是一个servlet)

³     直接在HTML中内嵌JSP代码

³     JSP程序由JSP Engine先将它转换成Servlet代码,接着将它编译成类文件载入执行

³     只有当客户端第一次请求JSP时,才需要将其转换、编译

³     优点:

²     优良的性能
   
优于CGIPHPASP

²     平台无关性
   
操作系统无关,Web服务器无关

²     可扩展性
    tag
的扩展机制,简化页面开发

 

Jsp 基本语法:

³     一、JSP传统语法

²     Declaration

²     Scriptlet

²     Expression

²     Comment

²     Directives

²     Action动作指令

²     内置对象

³     JSTL

³     JSF

 

Declaration

Scriptlet

格式:

<%!  Int I = 0; %>

<% int i= 0;  %>

编译后:

声明后变成类的成员变量,一般不要用,除非在做计算一个有多少个客户端访问过该页面。

也就是说:在此声明的变量式方法都会被保留成唯一的一份,直到Jsp程序停止运行。

①声明后变成类的方法中的局部变量。

②不能声明方法

<% void m(){} %>(因为它编译后是在方法里)。

③可以放入任何Java 代码。

 

 

 

 

 

 

 

 

 

 

客户端与服务器端的代码是否可互相调用:

①、客户端刷新等操作的时候,成员变量的值会有误?

因为tomcat处理客户端请求的时候,以多线的方式来执行的,每个线程都有自己的一个缓存(缓的是Servlet中成员变量的值)。

②、注释:

1、格式: <!­ - -

                     <% System.out.print(“============”) %>;

                     <% out.println(“1111111111111111111111”) %>;

- - >

这是html注释,它是不可以阻止服务器端代码的执行的,虽然不显示,但是会将结果显示在后台或源文件中。

* Jsp页面中,<%       %>是在服务器端执行的,而JS代码执行于客户端

2<% - -

              System.out.println (“2222222222”);

       - - %>

       Java注释,显示在服务器端

3//单行注释

4/*

多行注释

*/

二、表达式:格式:<% = I %>

三、directive(编译指令):相当于在编译期间的命令。

       1、表态指令:格式:<%@ Directive 属性=“值”%>pageincludetaglib

       例:index.jsp

<%page errorPage=”error.jsp” %>

              <%String s=”fjeijf2324”;

                     Int i=Integer.valueOf(s);

              %>//当它执行有误的时候,就跳转到error.jsp页面

              Error.jsp

              <% page isErrorPage=”true” %>

              错误信息:<%=exception.getMessage() %>

 

2、表态包含:格式:<% include file=”title.jsp” %>

       ①在转换成Servlet时(编译之间)就已经包含了(变成同一个页面)。

②这种包含方式不能伟参数。

③包含页面和被包含页面用的是同一个request对象。

④两个页面设置的字符集必须相同。

⑤被包含的页面不能含<html><head>等标签。

3、动态包含:格式:<jsp: include page=”date.jsp? Name=ff” />

       ①包含页面与被包含页面分别产生两个文件(被包含的页面被单独编译)

②虽然被包含页面可以取出包含页面里面参数值,但他们不是同一个对象(被包含页面的request比包含页面的request要多),不过可以把它们当成一个对象。

③可以传参数。

④只有招生以这段代码的时候,才编译,否则不编译。

       <jsp: include page=”dive.jsp”>

              <jsp: param name=”v1” value=”value1”/>

              <jsp: param name=”v2” value=”value2”/>

       </jsp: include>

sendRedirect

Forward

是不同的request

是不同的对象,但是可以取到上个页面内容

response.sendRedirect(“dive.jsp”)后下面的语句还得执行

<jsp:forward >执行后,下面的语句不执行了。

速度慢

速度快

需到客户端往返,可转到任何页面。

服务器内部转换。

地址栏有变化。

地址栏没有变化。

可以伟参数,直接在URL后面。

可以伟参数。

/”表示“http://localhost:8080/

“/”表示“http://localhost:8080/项目名/

 有意者加群:108732902

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值