JSP实验.docx
- 文档编号:2393277
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:24
- 大小:21.11KB
JSP实验.docx
《JSP实验.docx》由会员分享,可在线阅读,更多相关《JSP实验.docx(24页珍藏版)》请在冰点文库上搜索。
JSP实验
实验二JSP语法
实验步骤:
1、JSP页面结构
说明:
以后代码如无特殊说明均写在
标签中(JSP代码可以写在网页的任何位置)。1.1声明变量与方法
新建一JSP页面,输入以下代码。
(1)声明变量
<%!
inti=0;
%>
<%
out.println("i="+i++);
%>
刷新你写的页面几次,观察到什么结果,从结果中你得到什么启示?
(2)输入以下代码
<%!
publicintmax(inta,intb){
if(a>b){
returna;
}
returnb;
}
%>
<%
out.println("
3和5中较大的是"+max(3,5)+"
");%>
将上面变量和方法的声明,写在out.println();代码段之后,再访问你写的JSP页面,观察结果,你得到什么启示?
1.2JSP表达式
在JSP页面中输入以下代码。
<%=max(3,5)%>
<%=(i+a+c)/3%>
<%=date.toString()%>
<%!
publicintmax(inta,intb){
if(a>b){
returna;
}
returnb;
}
inti=3,a=5,c=4;
Datedate=newDate();
%>
通过上面的代码,你认为JSP表达式可以出现什么Java元素?
1.3JSP代码段
在JSP页面中输入以下代码,从以下代码的书写中,你发现了什么重要提示?
(<%%>中的代码段,无论写在多少个分离的<%%>标签中,都必须完整,即符合Java语法,比如大括号必须匹配等)
<%
intgrade=80;
switch(grade/10){
case10:
;
case9:
%>
你的成绩为优秀!
<%
break;
case8:
;
case7:
%>
你的成绩为良好!
<%
break;
case6:
%>
你的成绩为及格!
<%
break;
default:
%>
你的成绩为不及格!
<%}%>
1.4JSP注释
输入以下代码,访问你的JSP查看页面源文件,你看到了什么?
说明什么问题?
--
<%=newDate().toString()%>
-->
<%--
<%=newDate().toString()%>
--%>
2、JSP指令
2.1include指令
(1)新建Included.jsp页面,在页面中输入以下代码,而且只保留如下代码:
<%inta=5,b=8,c=6;
out.println("
HelloWorld!
");
%>
(2)编写Including.jsp页面,在其中输入以下代码:
<%@includefile="Included.jsp"%>
并在
中输入以下代码:<%=a+b+c%>
(3)启动Tomcat服务器,访问Including.jsp,观察结果。
3、JSP动作
3.1include动作
新建Including2.jsp页面,在其中输入以下代码:
includepage="Included.jsp">
include>
<%=a+b+c%>
观察编辑器有什么提示?
并想一想,include指令和include动作有什么异同?
3.2forward动作
(1)新建ForwardDemo.jsp页面,并输入以下代码:
<%
request.setAttribute("userName","JSPPracticeRefereceBook");
pageContext.setAttribute("userName","JSPPracticeRefereceBook",pageContext.PAGE_SCOPE);
%>
forwardpage="Forwarded.jsp">
forward>
(2)新建Forwarded.jsp,并输入以下代码:
Forwarded.jsp
<%=request.getAttribute("userName")%>
<%=pageContext.getAttribute("userName",pageContext.PAGE_SCOPE)%>
(3)访问ForwardDemo.jsp观察结果,你能得出什么结论?
注意事项
1、认真填写实验报告
2、遵守实验室各项制度,服从实验指导教师的安排
3、按规定的时间完成实验
说明:
1、实验性质:
验证性
2、建议学时:
2学时
实验三、JSP内置对象
1、编写一个页面显示九九乘法表
源码:
<%@pagelanguage="java"contentType="text/html;charset=gb2312"
pageEncoding="gb2312"%>
<%
for(inti=1;i<=9;i++){
for(intj=1;j<=i;j++)
out.print(i+"*"+j+"="+(i*j)+"\t");
out.print("
");
}
%>
2、设计两个JSP页面a.jsp和b.jsp,a.jsp页面使用表单提交数据给b.jsp页面,要求a.jsp通过text方式提交一个字符串给b.jsp,b.jsp页面获取a.jsp提交的字符串,并使用Java表达式显示这个字符串及其长度。
a.jsp:
<%@pagelanguage="java"contentType="text/html;charset=gb2312"
pageEncoding="gb2312"%>
输入字符串:
B.jsp
<%@pagelanguage="java"contentType="text/html;gb2312"
pageEncoding="gb2312"%>
<%
Stringstr=request.getParameter("str");
if(str==null)str="";
out.print("thestringyouenteris:
"+str);
out.print("
length:
"+str.length());
%>
3、请编写JSP页面inputNumber.jsp和getNumber.jsp。
inputNumber.jsp页面使用表单通过text方式提交一个数字给getNumber.jsp页面,getNumber.jsp计算并显示这个数的平方和立方。
inputNumber.jsp
<%@pagelanguage="java"contentType="text/html;charset=gb2312"
pageEncoding="gb2312"%>
输入数字:
getNumber.jsp
<%@pagelanguage="java"contentType="text/html;gb2312"
pageEncoding="gb2312"%>
<%
StringstrNumber=request.getParameter("number");
intnumber=Integer.parseInt(strNumber);
out.print("thenumberyouenteris:
"+number);
out.print("
number*number="+number*number);
out.print("
number*number*number="+number*number*number);
%>
4、设计一个页面来模拟网上考试,利用session对象对参数进行存取,来实现网上测试的基本功能。
在答题完成后,将提交答案与正确答案相比较,最后显示答题结果以及答题所用时间;设计一个页面count.jsp,利用application内置对象实现网站计数。
sessiontest.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<%@pageimport="java.util.Date"%>
<%
DateTime=(Date)session.getAttribute("Time");
if(Time==null)
{
session.setAttribute("Time",newDate());
%>
--第一题-->
1.大熊猫是在哪里发现的?
--第二题-->
2.喜马拉雅山有多高?
--第三题-->
3.2008-2009赛季湖人常规赛名列西部第几名?
--第四题-->
4.2008年奥运会在哪里举行的?
--第五题-->
5.2008年奥运会中国获得了多少金牌?
<%
}
else
{
intRightAns=0;
intaryAns[]={1,2,1,1,1};
for(inti=0;i<=4;i++)
{
Stringconname="rdoQ"+(i+1);
if(request.getParameter(conname)==null)
{
%>
第<%=i+1%>题你未做答
<%
}
else
{
%>
第<%=i+1%>题你答
<%
intAns=Integer.parseInt(request.getParameter(conname));
if(Ans==aryAns[i])
{
RightAns=RightAns+1;
%>
<%
}
else
{
%>
<%
}
}
}
%>
五题中你共答对了
<%=RightAns%>
题,花了
<%=((newDate()).getTime()-Time.getTime())/1000%>秒
<%
}
%>
实验四、JavaBean与表单处理
创建三个文件Info.jsp、showInfo.jsp和show.java,其中Info.jsp让用户输入信息,showInfo.jsp页面则是利用show.java这个JavaBean中的方法将用户输入的信息一一显示。
要求在 setProperty>动作元素下分别使用property=”*”和property=”Property”param=”ParamName”两种方式设置JavaBean中的属性。 ShowIndfo.jsp <%@pagecontentType="text/html;charset=gb2312"language="java"%> <%request.setCharacterEncoding("gb2312");%>
useBeanid="user"scope="session"class="jsp.test.show"/> setPropertyname="user"property="*"/> <%if(request.getParameter("name")==null){%> 姓名: 密码:
性别:
年龄:
兴趣:
看书
足球
旅游
听音乐
看电视
<%}else{%>
姓名:
<%=user.getName()%>
密码:
<%=user.getPassword()%>
性别:
<%=user.getSex()%>
年龄:
<%=user.getAge()%>
爱好:
<%=user.getHobby()%>
<%}%>
Show.java
packagejsp.test;
publicclassshow{
privateStringname,password,sex,age,hobby;
privateString[]habit;
publicStringgetAge(){
returnage;
}
publicvoidsetAge(Stringage){
intage1=Integer.parseInt(age);
switch(age1)
{
case10:
this.age="10~20";
break;
case20:
this.age="21~30";
break;
case30:
this.age="31~40";
break;
case40:
this.age="41~65";
break;
default:
this.age="error";
break;
}
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
if(sex.equals("Male")){
this.sex="男";
}
else{
this.sex="女";
}
}
publicString[]getHabit(){
returnhabit;
}
publicvoidsetHabit(String[]habit){
hobby="";
for(inti=0;i { if(habit[i].equals("Read")) { hobby+="看书"; } if(habit[i].equals("Football")) { hobby+="足球"; } if(habit[i].equals("Travel")) { hobby+="旅游"; } if(habit[i].equals("Music")) { hobby+="听音乐"; } if(habit[i].equals("Tv")) { hobby+="看电视"; } } } publicStringgetHobby(){ returnhobby; } } 实验五数据库 1,登陆功能 input.jsp <%@pagelanguage="java"contentType="text/html;charset=gbk" pageEncoding="gbk"%>
<%%>