首页 > 编程 > JSP > 正文

java学习笔记—JSP 1(32)

2019-11-14 23:48:26
字体:
来源:转载
供稿:网友
java学习笔记—jsp 1(32)

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!");        }        %>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表