JSP实验二 JSP基本语法
- 格式:doc
- 大小:406.00 KB
- 文档页数:9
Java web应用编程基础实验报告实验2:JSP基本语法实验姓名:___ ____班级:______学号:____ _成绩:_____一、实验目的:●熟悉HTML语法,理解和掌握JSP基本语法。
●初步掌握JavaScript的使用●初步掌握利用指令、脚本元素和动作元素,进行简单的JSP和HTML混合编程的方法和技术。
二、实验要求:●理解Web Server,正确使用Apache的Tomcat建立JSP Server。
●编写程序完成以下实验内容,通过手工和MyEclipse两种方式分别完成JSP文件的布署。
●上交实验报告电子文档(文档包含源程序,以班级、学号、姓名依次出现组成的字符串标识文档,以班级为单位上交).三、实验内容:1、采用声明实现访问计数器count.jsp,并在页面中显示:“当前访问本网站的用户数为:**人/次。
"程序:〈%@ page language=”java" import="java.util.*" pageEncoding="GB2312”%〉〈html〉<head〉<title〉网页访问计数〈/title></head>〈body><%if (application。
getAttribute(”count")== null) {application。
setAttribute("count”, new Integer(0));}Integer count=(Integer)application.getAttribute("count");application。
setAttribute("count”, new Integer(count.intValue()+ 1));count=(Integer)application.getAttribute("count");%>〈center>你是第<%=count。
Jsp基本语法Jsp语法分为3类:脚本元素、指令元素、动作元素。
jsp的脚本元素有以下4个:1. 隐藏注释:<%--这是客户端不可见的隐藏注释--%>2. 声明(declarations):<%!这是声明%>3. 脚本段(scriptlets):<%这是脚本段%>4. 表达式(expression):<%=这是表达式%>jsp的指令元素有以下3个:指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。
一、page指令功能:设定整个JSP网页的属性和相关功能。
语法:<%@ page attribute1="value1" attribute2="value2" %>标签元素:<jsp:directive.page attribute1="value1" attribute2="value2" />page指令元素的属性language="language" 指定JSP Container要用什么语言来编译JSP网页。
目前只可以使用Java语言,不过不排除增加其它语言。
默认值为Java。
extends="className" 定义此JSP页面产生的Servlet是继承自哪个父类。
必须为实现HttpJspPage接口的类。
JSP规范对不完全理解其隐意的情况下使用此属性提出警告。
import="importList" 定义此JSP页面可以使用哪些Java API。
用逗号分隔列出一个或多个全质类名。
此列表用于在生成的java servlet中创建相应的导入语句。
以下包是自动包含的,不必被指出:ng.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.*session="true|false" 指明JSP页面是否需要一个HTTP会话,如果为true,那么产生的servlet 将包含创建一个HTTP会话(或访问一个HTTP会话)的代码,缺省为true。
JSP脚本JSP通用语法规则JSP通用语法规则包括:JSP的标记规则、JSP元素中的相对路径规则、JSP元素中的转义规则。
JSP的标记规则每一个JSP元素都有一个起始标记和一个结束标记。
起始标记为“<%”或“<jsp:”,结束标记为“%>”或“/>”。
比如:<jsp:include page=”/index.jsp”/><%if(sum>0) sum=sum+42;%>注起始标记和结束标记一定要在同一个JSP页面中,且成对出现JSP元素中的相对路径规则在JSP中可以使用相对路径,相对路径是以字符“/“开头的。
比如:/test/testChinese.jsp——说的实际路径是“C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\test\testChinese.jsp “JSP元素中的转义规则我们已经知道,“<%”和“%>”是JSP中的标记字符,那么如果我们想在程序中用到这两个字符,该怎么区分呢?这就要用到转移规则了。
这里的转义规则包括:“’”被转义为“\’”“””被转义为“\””“\”被转义为“\\”“<%”被转义为“<\%”“%>”被转义为“%\>”下面我们通过一个小例子来看看。
其显示结果如图2-2所示。
图2-2 JSP转义规则示例上面显示结果,可以看到,本来是JSP标记语言的字符,也都显示出来了,实现这样功能的程序代码是怎么样的呢?02-02.jsp文件源代码:<html><head><title>JSP转义规则的例子</title></head><%@page contentType="text/html;charset=gb2312" %><body><p><%out.print("测试要避免冲突的字符串1:\'");%><p><%out.print("测试要避免冲突的字符串2:\"");%><p><%out.print("测试要避免冲突的字符串3:\\");%><p><%out.print("测试要避免冲突的字符串4:%\>");%></p></body></html>JSP脚本元素语法讲了语法规则以后,我们来看看脚本元素,JSP中的脚本元素有四种:注释、声明、表达式和程序段。
jsp课程实验报告《JSP课程实验报告》一、实验目的本次实验的主要目的是通过实际操作,掌握JSP(Java Server Pages)的基本语法和应用,了解JSP在Web开发中的重要性和作用。
二、实验内容1. JSP基本语法:学习JSP的基本语法,包括JSP指令、JSP注释、JSP表达式等。
2. JSP页面的设计与开发:通过实际案例,设计并开发一个简单的JSP页面,包括页面布局、动态数据展示等。
3. JSP与Servlet的结合:了解JSP与Servlet的关系,学习如何在JSP页面中调用Servlet,实现页面与后台逻辑的交互。
三、实验过程1. 学习JSP基本语法:通过阅读相关教材和在线资料,了解JSP的基本语法规则,并进行实际的代码编写练习。
2. JSP页面的设计与开发:根据实验要求,设计并开发一个简单的JSP页面,包括页面布局、动态数据展示等,通过实际操作加深对JSP的理解。
3. JSP与Servlet的结合:学习如何在JSP页面中调用Servlet,实现页面与后台逻辑的交互,并进行相关实验操作。
四、实验结果通过本次实验,我深入了解了JSP的基本语法和应用,掌握了JSP页面的设计与开发技巧,同时也了解了JSP与Servlet的结合使用,实现了页面与后台逻辑的交互。
通过实际操作,我对JSP有了更深入的认识,为以后的Web开发工作打下了坚实的基础。
五、实验总结本次实验让我深入了解了JSP的重要性和作用,掌握了JSP的基本语法和应用技巧,同时也提高了我在Web开发中的实际操作能力。
通过不断地实践和学习,我相信我将能够更好地运用JSP技术,提高自己的开发水平,为未来的工作打下更加坚实的基础。
希望今后能够继续深入学习JSP相关知识,不断提升自己的技术能力。
Java web应用编程基础实验报告实验2:JSP基本语法实验姓名:___ ____班级:______学号:____ _成绩:_____一、实验目的:●熟悉HTML语法,理解和掌握JSP基本语法。
●初步掌握JavaScript的使用●初步掌握利用指令、脚本元素和动作元素,进行简单的JSP和HTML混合编程的方法和技术。
二、实验要求:●理解Web Server,正确使用Apache的Tomcat建立JSP Server。
●编写程序完成以下实验内容,通过手工和MyEclipse两种方式分别完成JSP文件的布署。
●上交实验报告电子文档(文档包含源程序,以班级、学号、姓名依次出现组成的字符串标识文档,以班级为单位上交)。
三、实验内容:1、采用声明实现访问计数器count.jsp,并在页面中显示:“当前访问本网站的用户数为:**人/次。
”程序:<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%><html><head><title>网页访问计数</title></head><body><%if (application.getAttribute("count") == null) {application.setAttribute("count", new Integer(0));}Integer count=(Integer)application.getAttribute("count");application.setAttribute("count", new Integer(count.intValue() + 1));count=(Integer)application.getAttribute("count");%><center>你是第<%=count.intValue()%>个访问者</center></body></html>访问记数结果:2、编写一个JSP程序,计算整数的阶乘,并显示出结果。
要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果。
(要求:通过表单提交一个正整数,然后计算它的阶乘。
其中要对提交的是否为整数作判断,是整数则进行阶乘计算,不是整数则要求重新提交。
)程序:<%@page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><font size=5 color=red><html><title>一个整数的阶乘运算</title><%! //核心算法long Factorial(int n){if(n==0){return 0;}else{int sum=1;for(int i=1;i<=n;i++){sum=sum*i;}return sum;}}%><% //检测输入的数据是否为整数int num=0;String str=request.getParameter("num");try{if(str!=null){num=Integer.parseInt(str);}else{}}catch(Exception e){out.println("只能输入整数");}%><body><p>请输入一个整数:</p> //主界面<form action="#"method="post"name="form"><input type="text"name="num"><input type="submit"name="submit"value="开始计算"> </form><p><%=num%>的阶乘是:<%=Factorial(num)%></p> </body></html></font>输入一个整数6:得出计算结果:输入小数8.1:提示只能输入整数:3、在JSP页面中静态包含文件。
要求程序包含两个文件,主文件静态包含一个能够计算数据的算术平方根的页面。
程序:(quest3-1.jsp)<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><html><title>静态包含页面及计算数的平方根</title><body bgcolor=#FFFFFF> //设置背景色为白色<font size="3"><center><p>请输入一个正数</p><%@include file="quest3-2.jsp"%> //包含页面quest3-2.jsp</center></font></body></html>(quest3-2.jsp)<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><font size=5 color=black><html><title>计算一个数的算术平方根</title><% //输入数据并检测是否为数字double num=0;String str=request.getParameter("num");try{if(str!=null){num=Double.parseDouble(str);}else{}}catch(Exception e){out.println("只能输入数字");}%><body><p>请输入一个数字:</p><form action="#"method="post"name="form"><input type="text"name="num"><input type="submit"name="submit"value="开始计算"></form><p><%=num%>的平方根是:<%=Math.sqrt(num)%></p> //计算算术平方根</body></html></font>输入正数9.0:计算得出结果:4、动态包含页面并传递数据。
要求程序包含两个文件,主文件加载次文件,并将随机产生的0 ~ 1之间的数据传递给它,并且在页面上显示出来。
之后,再把动态包含改为跳转,比较两者之间的区别。
程序:(quest4-1.jsp)<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%@page import="java.util.Random"%><% //随机函数Random rand=new Random();int type=rand.nextInt(2);%><jsp:include page="quest4-2.jsp" flush="true"> //包含页面quest4-2.jsp<jsp:param name="type" value="<%=type%>"/></jsp:include>(quest4-2.jsp)<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%if(request.getParameter("type")!=null){String str=request.getParameter("type");int num=Integer.parseInt(str);%><%=num%><br><%}else{}%><p>message from quest4-2.jsp</p>随机数1:随机数0:四、实验过程中遇到的问题及解决手段:在第二个阶乘运算的实验中,出现了点击“开始计算”的按钮后就卡在“等待localhost…响应”的阶段无法显示计算结果的情况,在我对代码进行仔细的检查后,发现问题出在了算法中的for循环上,我不小心将循环条件的代码打错,导致for循环陷入了死循环,无法跳出,在我将代码改正后,阶乘运算的功能终于得以正常实现。