码迷,mamicode.com
首页 > 编程语言 > 详细

java学习笔记—JSP 1(32)

时间:2015-04-15 12:47:54      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

Servlet做为一个动态网页开发技术太不靠谱。尤其是需要编写一个页面的时候,需要指定页面的模板标签、还要处理很多的业务逻辑。因此比较繁琐。

思考:Servlet为什么写一个页面那么吃力?

主要的原因在于Servlet实在java中写标签。

 鉴于以上的原因那么SUN提供了动态网页开发技术之JSP。

JSP即Java Server Page。可见JSP本身是页面,那么在页面那种编写HTML标签应该非常轻松。

一  JSP体验

<body>
   system date: <%=new java.util.Date() %>
</body>

总结:

  1. servlet就是在java中写html比较烦,servlet是做获取参数并请求转发。
  2. jsp就是html中写java比较烦,jsp主要是显示数据。

JSP运行原理

JSP本质是一个Servlet只不过这个Servlet更加善于编写页面。

技术分享

JSP语法

学习JSP应该从以下几个方面学习:

1  JSP模板元素

JSP是在HTML中写java代码,那么JSP中最基本的是HTML元素。我们将这些元素称之为JSP的模板元素。

2  JSP输出表达式

JSP表达式主要用于输出变量以及输出表达式。

语法:

<%= 表达式 %>
表达式后面不能有分号。

举例1:输出一个表达式。

2>1 = <%= 2>1 %>  <br/>
<%=page %>  <br/>

运行结果

2>1 = true 
org.apache.jsp.index_jsp@1135cd9

总结:所有的JSP页面中的输出表达式会被翻译在java类中的_jspService()并使用out.write()方法进行了封装。

该输出表达式还可以输出变量,但是当前需要先定义一个变量。

3  JSP脚本

JSP脚本主要用于定义局部变量和编写JAVA业务代码。

语法:
<%  JAVA代码 %>
举例1:使用JSP脚本定义变量。 <% int sum = 0; %> sum = <%= sum %><br/>

总结: JSP脚本被翻译在_jspService()中,使用该语法定义的变量全部是局部变量。因此不能添加任何的变量修饰符。

举例2:使用JSP脚本实现页面的倒三角输出。

<% 
    for(int i = 0; i<6; i++){
       for(int j = i; j<6; j++){
%>
       *
    <%      
       }
    %>
    <br/>
    <%   
    }
    %>

举例3:使用JSP脚本输出H1~H6的各级标题。

<% 
     for(int i = 1; i < 7; i++){
%>
      <h<%=i %>>www.itcast.cn</h<%=i %>> 
    <% 
     }
    %>

总结:

使用JSP脚本是否可以定义方法和类?  方法中不能继续写方法,但是可以定义局部内部类。

举例4:定义局部内部类。

<% 
    class Inner{
       public int age = 30;
       public int getSum(){
          return 90;
       }
    }
%>
    <%= new Inner().age %><br/>
    <%= new Inner().getSum() %><br/>

4 JSP声明

JSP声明主要是声明类的成员变量和方法。

语法:

<%! 声明成员 %>

举例1:声明一个成员属性。
···<% int x = 20; // _jspService() %> <%! private int x = 10; // index_jsp.java %> <%= x %> // 20
如果必须要访问访问到10,那么可以使用以下的语句
<%= this.x %>
举例2:定义一个成员方法。
<%! public String sayHello(String name){ return "hello : "+name; } %> <%= this.sayHello("jnb") %><br/>
举例3:实现JSP生命周期方法的重写。
<%! static { // 类加载的时候执行 System.out.println("loading Servlet!"); } private int globalVar = 0; public void jspInit() { // 初始化方法 System.out.println("initializing jsp!"); } %> <%! public void jspDestroy() { // 销毁方法 System.out.println("destroying jsp!"); } %>

 

java学习笔记—JSP 1(32)

标签:

原文地址:http://www.cnblogs.com/zhenghongxin/p/4427983.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!