JSP基本语法和用法.docx
《JSP基本语法和用法.docx》由会员分享,可在线阅读,更多相关《JSP基本语法和用法.docx(12页珍藏版)》请在冰点文库上搜索。
JSP基本语法和用法
JSP基本语法
一、本节内容
JSP文件的结构
JSP的脚本元素
JSP指令元素
JSP动作元素
1.1jsp文件结构
在"<%@"和"%>"之间常用的指令有page、taglib
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
分为客户端注释和服务器端注释
1.客户端注释:
--注释内容-->
2.服务器端注释:
<%--注释内容(可以是多行)-->
<%//注释内容(只能是单行)%>
<%/**注释内容(可以是多行)*/%>
1.1.3脚本
脚本在jsp文件有分为三种定义(声明)、输出和普通代码(脚本段)
定义(声明)JSP中脚本的定义格式<%!
定义语句%>
注意:
如果在JSP中要定义函数,必须采用定义。
如果要定义一个全局变量也必须采用定义,否则采用脚本段。
定义的变量是该JSP被转化为的java类的一个成员变量.(字段),也是全局变量。
功能:
可以定义变量,函数(方法)
输出:
格式<%=输出表达式%>切忌输出表达式后无分号,就等于<%out.print(输出表达式);%>
功能:
在网页中输出表达式的值
示例:
在网页中输出变量name的值
<%!
Stringname="里斯";%>定义
<%=name%>
<%out.println(name);%>
普通代码(脚本段)格式<%代码段%>
功能:
普通的java代码,执行相应的运算等
复习扩展
客户端访问服务器我们称之为请求request
服务器将数据返回给客户端我们称之为响应response
请求request是HttpServletRequest接口的一个实例对象它封装了我们请求服务器所携带的所有信息包括你请求的地址端口等
响应response是HttpServletResponse接口的一个实例对象它封装了服务器返回给客户端的所有数据信息
request可以通过request.getParameter("test")获取请求表单中name为test的input对象的value
练习题目:
根据用户输入的数字来打印直角三角形
比如用户输入的数字为4那么打印的图形如下
*
**
***
****
题目分析:
分析一:
如何根据数字打印图形
跟据数据打印图形规律
当用户输入的数字为1时,打印1行,打印一个换行
当用户输入的数字为2时,打印2行,第一行1个第二行2个
当用户输入的数字为3时,打印3行,第一行1个第二行2个第三行3个
......
当用户输入的数字为n时,打印n行,第一行1个,第二行2个,第三行3个......第n行n个
输入n为n行,每一行的行数和该行的“*”的个数相同
解决方法:
采用两层循环,外层循环控制行数,内层循环控制单一行的“*”的个数。
外层循环条件:
从1开始到n结束
内层循环条件:
从1开始到当前行数的数字
分析二:
用户如何输入数字,服务器如何接收数字来响应相应的图形
采用用户使用表单提交数据,服务器根据request获取用户提交的数据
input.jspbody部分
output.jsp导包指令和body部分
<%@pageimport=""%>
<%
//接收用户提交的num
Stringstr=request.getParameter("num");
//定义整型变量num用于保存用户输入的数据
//正则表达式
if(Pattern.matches("^\\d+$",str))//验证str字符串是否由数字组成
{
intnum=Integer.valueOf(str);
//外层循环控制打印的行数从1开始到num结束
for(inti=1;i<=num;i++){
//变量i即为行数
//内层循环控制打印*的个数,从1开始到i结束
for(intj=1;j<=i;j++){
//输出*
out.print("*");
}
//内层循环结束后换行
out.print("
");
}
}else{
out.print("您输入的数据不合法!
");
}
%>
返回重新输入
启动服务后访问input页面
输入不正确
1.2include指令
格式<%@includefile=“URL”%>
功能将URL所指向的文件包含到当前JSP文件中
1.3JSP动作元素
1.3.1useBean/>
useBeanid="now"class="">
useBean>
就等于
now=new;
1.3.2setProperty/>
格式:
setPropertyname="objectname"property="objectnameproperty"value="objectnamepropertyvalue"/>
功能:
为对象objectname的字段属性objectnameproperty设置值为objectnamepropertyvalue
Userlisi=newUser();
lisi.setName("里斯");
lisi.setAge(16);
lisi.setSex("女");
就等于
useBeanid="zhangsan"class="test.User">
useBean>
setPropertyname="zhangsan"property="name"value="张三"/>
setPropertyname="zhangsan"property="age"value="23"/>
setPropertyname="zhangsan"property="sex"value="男"/>
setProperty/>
其中name=变量名property=变量的字段名value=变量的字段的值
1.3.3getProperty/>
格式:
getPropertyname="objectname"property="objectnameproperty"/>
功能:
输出对象objectname的字段属性objectnameproperty的值
zhangsan.name=getPropertyname="zhangsan"property="name"/>zhangsan.sex=getPropertyname="zhangsan"property="sex"/>
zhangsan.age=getPropertyname="zhangsan"property="age"/>
附件
文件
packagetest;
publicclassUser{
privateStringname;
privateStringsex;
privateintage;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
}
2JSP的内置对象
何为内置对象?
内置对象是JSP服务器引擎为我们初始化好的对象实例,我们可以不用new而直接使用的对象
九大内置对象
requset对象
response对象
out对象
pageContext对象
session对象
application对象
page对象
config对象
exception对象
Request对象