一、JSP的基础知识

来源:互联网 发布:社区论坛系统源码 编辑:程序博客网 时间:2024/05/13 11:23

    • JSP的基础知识
      • JSP脚本
      • JSP的声明
      • JSP表达式
      • JSP注释客户端不可见
      • JSP指令
      • JSP生命周期
      • get和post区别
      • JSP行为
      • JSP隐含对象
      • 控制流语句

JSP的基础知识


1.JSP脚本:

<% 代码片段  %>

2.JSP的声明

 一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。

格式:<%! 声明 %>
如:<%! int i = 0; %>

3.JSP表达式

  JSP 中的表达式可以将数据转换成一个字符串直接在网页上输出 , 或者生成动态链接地址 , 或动态指定 From 表单处理页面

格式:<%= %>

4.JSP注释(客户端不可见)

<%--      --%><%// 单行注释 %><%/* 多行注释 */%><%/** 文档注释 */%>

5.JSP指令

JSP指令用来设置与整个JSP页面相关的属性。
<%@ page %>:定义页面的依赖属性,比如脚本语言
<%@include %>:包含其他文件
<%@taglib %>:引入标签库的定义,可以是自定义标签

6.JSP生命周期

JspService()方法被调用来处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可以大大降低对系统的资源需求,提高系统的并发量及响应时间。但也要注意多线程编程带来的同步问题,由于该Servlet始终驻于内存,所以响应非常快。(只要更新JSP页面的内容生命周期就更新)

7.get和post区别

表单提交数据:
(1)get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数据最多不超过2KB。安全性较低但效率比post方式高。适合提交数据量不大,安全性不高的数据。比如:搜索、查询功能
(2)post:将用户提交的信息封装在html header 内。适合提交数据量大,安全性高的用户信息。比如:注册、修改、上传功能

8.JSP行为

JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。

行为标签基本上是一些预先就定义好的函数,下表罗列出了一些可用的JSP行为标签

(1)jsp:include:用于在当前页面中包含静态或动态资源
(2)jsp:useBean:寻找和初始化一个JavaBean组件
(3)jsp:setProperty:设置 JavaBean组件的值
(4)jsp:getProperty:将 JavaBean组件的值插入到 output中
(5)jsp:forward:从一个JSP文件向另一个文件传递一个包含用户请求的request对象
(6)jsp:plugin:用于在生成的HTML页面中包含Applet和JavaBean对象
(7)jsp:element:动态创建一个XML元素
(8)jsp:attribute:定义动态创建的XML元素的属性
(9)jsp:body:定义动态创建的XML元素的主体jsp:text用于封装模板数据

9.JSP隐含对象

JSP支持九个自动定义的变量,江湖人称隐含对象。这九个隐含对象的简介见下表:

(1)request:HttpServletRequest类的实例
(2)response:HttpServletResponse类的实例
(3)out:PrintWriter类的实例,用于把结果输出至网页上(4)session:HttpSession类的实例
(5)application:ServletContext类的实例,与应用上下文有关
(6)config:ServletConfig类的实例
(7)pageContext:PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
(8)page:类似于Java类中的this关键字
(9)Exception:Exception类的对象,代表发生错误的JSP页面中对应的异常对象

10.控制流语句

(1)if else

<body>   <%! int day=2; %>   <%if(day==6|day==7){ %>             周末   <%}    else{%>    <p>不是周末</p>   <%} %></body>

(2)switch

<body>    <%!int day=3; %>    <%     switch(day){     case 1:out.println("周一");break;     case 2:out.println("周二");break;     case 3:out.println("周三");break;     case 4:out.println("周四");break;     case 5:out.println("周五");break;     case 6:out.println("周六");break;     case 7:out.println("周日");break;     }     %></body>

(3)for

<body>    <%for(int i=5;i<=10;i++){ %>    <font color="red" size="<%=i %>">陈新贵</font><br>     <%} %></body>

(4)while

<body>  <%!int i=1; %>    <%while (i<=8){%>    <font color="red"  size="<%=i %>">wo</font>    <br>    <%i++; %>    <%} %></body>
原创粉丝点击