收藏 分销(赏)

jsp-实用教程(第二版)程序源代码.doc

上传人:二*** 文档编号:4776948 上传时间:2024-10-12 格式:DOC 页数:198 大小:924.54KB 下载积分:5 金币
下载 相关 举报
jsp-实用教程(第二版)程序源代码.doc_第1页
第1页 / 共198页
本文档共198页,全文阅读请下载到手机保存,查看更方便
资源描述
<JSP实用教程>(第二版) 清华大学出版社(耿祥义 张跃平编著) 程序源代码 建议使用文档结构图浏览使用 (选择Word菜单→视图→文档结构图) 摘 要 JSP是一种动态网页技术标准,利用这一技术可以建立安全、跨平台的先进动态网站。 本书是一本实用教程,配备了大量的例题,叙述详细,通俗易懂,便于自学,特别注重结合实例讲解一些难点和关键技术。全书共分10章,内容包括JSP简介、JSP语法、内置对象、JSP与Javabean、文件操作、数据库操作、JavaServlet、MVC设计模式、JSP中使用XML等重要内容。本书所有知识都结合具体实例进行介绍.力求详略得当,突出JSP在开发Web动态网站方面的强大功能,使读者快速掌握和运用JSP的编程技巧。 本书不仅可以作为大学计算机及相关专业的选修课教材,也适合自学者及网站开发人员参考使用。 前 言 本书是《JSP实用教程》的第二版,继续保留原教材的特点——注重教材的可读性和实用性,许多例题都经过精心的考虑,即能帮助理解知识,同时又具有启发性。在第二版中增加了XML和MVC模式在Web设计中的应用,对全书章节的先后顺序和部分例题的内容做了调整。 第1章介绍JSP重要性,对Tomcat服务器的安装与配置给予了详细介绍。第2章讲解JSP页面的基本构成、常用的JSP标记。第3章讲解内置对象,特别强调了这些内置对象在JSP应用开发中的重要性,结合实例使读者掌握内置对象的用法。第4章是JSP技术中很重要的内容,即怎样使用Javabean分离数据的显示和处理,这一章讲解了许多有一定应用价值的例子。第5章主要讲解怎样使用Java中的输入输出流实现文件的读写操作,在实例上特别强调怎样使用Javabean实现文件的读写操作。第6章涉及的内容是数据库,也是Web应用开发的非常重要的一部分内容,特别介绍了各种数据库的连接方式。第7章讲解JavaServlet,对servlet对象的运行原理给予了细致的讲解,许多例子都是大多数Web开发中经常使用的模块。在第8章对Java Servlet在MVC开发模式中的地位给予了重点介绍,并按着MVC模式给出了易于理解MVC设计模式的例子。第9章介绍了XML语言以及在JSP中怎样有效地使用XML文件。第10章是一个完整的网站,完全按着MVC模式开发设计,其目的是掌握一般Web应用中常用基本模块的开发方法。 作者简介 耿祥义,1995年中国科学技术大学博士毕业,获理学博士学位。1997年从中山大学博士后流动站出站。现任大连交通大学教授。已编写出版《Java 2实用教程》、《Java 课程设计》、《JSP 实用教程》、《JSP 基础教程》、《XML 基础教程》等10余部教材。 张跃平,现任大连交通大学讲师。已编写和参编出版《Visual FoxPro课程设计》、《Java 2实用教程》、《JSP 实用教程》3部教材。 希望本教材能对读者学习JSP有所帮助,并请读者批评指正(xygeng0629@)。 编者 2007年05月 187 第1章 JSP 简介 1 例子1 1 第2章 JSP语法 2 例子1 2 <%@ page contentType="text/html;charset=GB2312" %> <!-- jsp指令标记 --> 2 <% date=new Date(); //java程序片 2 <%= start %> <!-- Java表达式 --> 2 例子2 2 例子3 3 例子4 3 例子5 4 例子6 4 例子7 5 例子8 5 例子9 6 例子10 7 例子11 7 例子12 8 例子13 9 第3章 JSP 内置对象 10 例子1 10 例子2 10 例子3 11 例子4 12 例子5 14 例子6 15 例子7 16 例子8 17 例子9 17 例子10 18 例子11 18 例子12 19 例子13 20 例子14 21 例子15 22 例子16 24 例子17 25 例子18 27 例子19 29 第4章 JSP与JavaBean 31 Circle.java 31 例子1 31 例子2 32 例子3 32 NewCircle.java 32 例子4 33 Student.java 33 例子5 34 Goods.java 34 例子6 35 ListFile.java 36 例子7 36 三角形bean 37 Triangle.java 37 四则运算bean 38 ComputerBean.java 38 computer.jsp 40 计数器bean 40 CounterCount.java 40 comeOne.jsp 42 comeTwo.jsp 42 浏览图像 bean 42 Play.java 42 play.jsp 43 成绩单 bean 44 ScoreList.java 44 studentScore.jsp 45 日历bean 46 CalendarBean.java 46 showCalendar.jsp 48 第5章 JSP中的文件操作 49 例子1 49 FileDir.java 49 fileAndDir.jsp 50 例子2 50 ReadFile.java 50 selectDir.jsp 52 listfile.jsp 52 例子3 53 WriterFile.java 53 writefile.jsp 54 例子4 55 UpFile.java 55 upfile.jsp 58 show.jsp 58 例子5 58 DownLoadFile.java 58 downfile.jsp 59 例子6 60 ReadByRow.java 60 selectfile.jsp 61 readByRow.jsp 62 例子7 62 Test.java 62 test.jsp 65 第6章 JSP中使用数据库 67 例子1 67 showByJdbcOdbc.jsp 67 例子2 68 showBySQLDriver.jsp 68 例子3 69 QueryBean.java 69 inquire.jsp 71 例子4 72 RandomQueryBean.java 72 random.jsp 74 例子5 75 ConditionQuery.java 75 condition.jsp 77 例子6 78 OrderQuery.java 78 sort.jsp 79 例子7 80 KeyWordQuery.java 80 keyWord.jsp 82 例子8 82 AddBean.java 82 add.jsp 84 例子9 85 ShowRecordByPage.java 85 showByPage.jsp 88 例子10 89 linkOracle.jsp 89 例子11 90 linkMySql.jsp 90 例子12 91 MySqlBean.java 91 mysql.jsp 93 例子13 94 inquireExcel.jsp 94 例子14 95 ApplicationCon.java 95 UseConBean.java 96 chaxun.jsp 97 例子15 98 PreparedQueryBean.java 98 pre.jsp 100 例子16 100 AddRecordBean.java 100 addRecord.jsp 102 第7章Java Servlet基础 104 HelloBeijing.java: 104 web.xml 104 例子1 105 giveRadius.jsp 105 Computer.java 105 例子2 106 showLetter.jsp 106 ShowLetter.java 106 例子3 107 showPI.jsp 107 ComputerPI.java 107 例子4 108 method.jsp 108 GetSqare.java 108 GetSquareOrCubic.java 109 例子5 111 input.jsp 111 Verify.java 111 ShowMessage.java 112 例子6 113 Boy.java 113 Look.java 114 例子7 115 getLetter.jsp 115 inputLetter.jsp 115 HandleGuess.java 116 第8章 基于Servlet的MVC模式 118 web.xml 118 <servlet-class>sun.yourservlet.HandleSum</servlet-class> 118 Series.java 118 inputMess.jsp 119 showResult.jsp 120 HandleSum.java 120 计算一元二次方程的根 122 Equation.java 122 input.jsp 123 show.jsp 123 HandleData.java 124 简单的计算器 125 ComputerBean.java 125 inputNumber.jsp 126 showResult.jsp 126 HandleComputer.java 127 读取文件 129 FileMessage.java 129 choiceFile.jsp 129 showFile.jsp 130 HandleFile.java 130 查询数据库 131 ShowRecordByPage.java 131 choiceDatabase.jsp 133 showRecord.jsp 133 HandleDatabase.java 134 第9章 JSP中使用XML 139 例子1 139 Score.xml 139 input.jsp 140 Number.java 140 例子2 142 trainList.xml 142 train.jsp 143 SAXBean.java 144 例子3 147 type.jsp 147 formula.xml 147 show.css 148 第10章 基于会员制的网络广告系统 150 head.txt 150 index.jsp 150 web.xml 150 Register.java 152 register.jsp 153 showRegisterMess.jsp 154 HandleRegister.java 155 RequestDispatcher dispatcher= 157 Login.java 157 login.jsp 158 showLoginMess.jsp 158 HandleLogin.java 159 UploadFile.java 161 upload.jsp 162 showUploadMess.jsp 162 HandleUpload.java 163 MemberInform.java 167 ShowByPage.java 168 choiceLookType.jsp 169 <BR>分页显示全体会员 169 showAllMember.jsp 169 showLookedMember.jsp 170 HandleDatabase.java 171 Password.java 175 modifyPassword.jsp 175 showNewPasswor.jsp 176 HandlePassword.java 176 RequestDispatcher dispatcher= 177 ModifyMessage.java 178 choiceModifyMess.jsp 179 inputModifyMess.jsp 179 GetOldMess.java 180 RequestDispatcher dispatcher= 182 HandleModifyMess.java 182 RequestDispatcher dispatcher= 184 HandleExit.java 184 第1章 JSP 简介 例子1 example1_1.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY BGCOLOR=cyan> <h3>这是一个简单的JSP页面</h3> <% int i, sum=0; for(i=1;i<=100;i++) { sum=sum+i; } %> <h5> 1到100的连续和是: <%=sum %> <h5> </BODY><HTML> 第2章 JSP语法 例子1 example2_1.jsp <%@ page contentType="text/html;charset=GB2312" %> <!-- jsp指令标记 --> <%@ page import="java.util.Date" %> <!-- jsp指令标记 --> <%! Date date; // 数据声明 int start,end,sum; public int continueSum(int start,int end) // 方法声明 { for(int i=start;i<=end;i++) sum=sum+i; return sum; } %> <HTML><BODY bgcolor=cyan> <!—html标记 --> <FONT size=4><P>程序片创建Date对象: <% date=new Date(); //java程序片 out.println("<BR>"+date); start=1; end=100; sum=continueSum(start,end); %> <BR>从 <%= start %> <!-- Java表达式 --> 至 <%= end %> 的连续和是 <%= sum %> </FONT></BODY></HTML> 例子2 example2_2.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY BGCOLOR=cyan><FONT size=3> <%! int i=0; %> <% i++; %> <P>您是第 <%= i %> 个访问本站的客户。 </BODY></HTML> 例子3 example2_3.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan> <%! double x,y; double multi(double x,double y) { return x*y; } double div(double x,double y) { return x/y; } %> <% x=127; y=18; out.println("调用multi方法计算"+x+"与"+y+"之积:"); double a=multi(x,y); out.println(a); x=a; out.println("<BR>调用div方法计算"+x+"除以"+y+"的商:"); double b=div(x,y); out.println(b); %> </BODY></HTML> 例子4 example2_4.jsp <%@ page contentType="text/html;Charset=GB2312" %> <HTML><BODY> <%! int count=0; //被客户共享的count synchronized void setCount() //synchronized修饰的方法 { count++; } %> <% setCount(); out.println("您是第"+count+"个访问本站的客户"); %> </BODY></HTML> 例子5 example2_5.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan> <P> 输出英文字母. <% char start='A',end='M',c; int size=2; %> <BR> 用<%=size %>磅字号输出 <Font size=<%=size%>> <% for(c=start;c<=end;c++) { %> <%= c %>, <% } %> </Font> <% size=4; start=(char)(end+1); end='Z'; %> <BR> 用<%=size %>磅字号输出 <Font size=<%=size%>> <% for(c=start;c<=end;c++) { %> <%= c %>, <% } %> </Font></BODY></HTML> 例子6 example2_6.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan><FONT size=3> <% double a=12.89; int x=12,y=10; %> 计算表达式a+x*y-100/x+x%5的值: <%= a+x*y-100/x+x%5 %> <BR>计算表达式x>y&&a>0的值: <%=x>y&&a>0%> <BR>计算表达式sin(x)+cos(y): <%=Math.sin(x)+Math.cos(y)%> <BR> 求8的平方根: <%=Math.sqrt(8)%> </FONT></BODY></HTML> 例子7 example2_7.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY> <!-- 以下字体的颜色为蓝色 --> <FONT size=3 color=blue>抽取字符串"C:\myfile\jspfile\example.jsp"中的"example.jsp" </FONT> <%-- 下面是成员变量的声明 --%> <%! String s="C:\\myfile\\jspfile\\example.jsp"; %> <%-- 下面是Java程序片 --%> <% int index=s.lastIndexOf("\\"); String str=s.substring(index+1); %> <BR><%-- 下面是Java表达式 --%> <%= str %> </BODY></HTML> 例子8 first.jsp <%@ page contentType="text/html;Charset=GB2312" %> <HTML><BODY BGCOLOR=cyan> <FONT Size=3> <P>使用html处理所接受到的信息. <input type=text size=10> </FONT></BODY></HTML> second.jsp <%@ page contentType="application/vnd.ms-powerpoint" %> <HTML><BODY BGCOLOR=cyan> <FONT Size=8> <P>启动powerpoint应用程序处理所接受到的信息. <input type=text size=10> </FONT></BODY></HTML> third.jsp <%@ page contentType="image/x-xbitmap" %> <%@ page import="java.awt.*" %> <%@ page import="java.io.*" %> <%@ page import="java.awt.image.*" %> <%@ page import="java.awt.geom.*" %> <%@ page import="com.sun.image.codec.jpeg.*" %> <% int width=260, height=260; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(Color.white); g.fillRect(0, 0, width, height); Graphics2D g_2d=(Graphics2D)g; Ellipse2D ellipse=new Ellipse2D. Double (40,50,100,40); g_2d.setColor(Color.blue); g_2d.draw(ellipse); Polygon polygon=new Polygon(); polygon.addPoint(12,34); polygon.addPoint(51,134); polygon.addPoint(102,34); g_2d.drawPolygon(polygon); g_2d.dispose(); OutputStream outClient= response.getOutputStream(); //获取指向客户端的输出流 JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(outClient); encoder.encode(image); %> 例子9 example2_9.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ page info="清华大学" %> <% String s=getServletInfo(); %> <head> <%= s %></head> <HTML><BODY bgcolor=cyan><FONT Size=4> <BR><%=s %>出版社是中国著名出版社 <BR><%=s %>是全国著名的高等学府 </BODY><HTML> 例子10 firstExample2_10.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ include file="myfile/ok.txt" %> <HTMLl><BODY bgcolor=cyan> <P>我是firstExample.jsp页面 </BODY></HTML> secondExample2_10.jsp(效果如图2.9(b)所示) <%@ page contentType="text/html;charset=GB2312" %> <%@ include file="myfile/ok.txt" %> <HTML><BODY bgcolor=yellow> <P>我是secondExample.jsp页面 </BODY></HTML> 上述firstExample2_10.jsp等价于下面的JSP文件same.jsp: same.jsp <%@ page contentType="text/html;Charset=GB2312" %> <A href="firstExample2_10.jsp">欢迎去firstExample2_10.jsp页面</A> <BR> <A href="secondExample2_10.jsp">欢迎去secondExample2_10.jsp页面</A> <HTML><BODY bgcolor=cyan> <P>我是firstExample.jsp页面 </BODY></HTML> 例子11 example2_11.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=yellow > <% double a=3,b=4,c=5; %> <BR>加载trangle.jsp计算三边为<%=a%>,<%=b%>,<%=c%>的三角形面积: <jsp:include page="myfile/trangle.jsp"> <jsp:param name="sideA" value="<%=a%>"/> <jsp:param name="sideB" value="<%=b%>"/> <jsp:param name="sideC" value="<%=c%>"/> </jsp:include> </BODY></HTML> trangle.jsp <%@ page contentType="text/html;charset=GB2312" %> <%! public String getArea(double a,double b,double c) { if(a+b>c&&a+c>b&&c+b>a) { double p=(a+b+c)/2.0; double area=Math.sqrt(p*(p-a)*(p-b)*(p-c)) ; return ""+area; } else { return(""+a+","+b+","+c+"不能构成一个三角形,无法计算面积"); } } %> <% String sideA=request.getParameter("sideA"); String sideB=request.getParameter("sideB"); String sideC=request.getParameter("sideC"); double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); double c=Double.parseDouble(sideC); %> <Font color=blue size=4> <P>我是被加载的文件,负责计算三角形的面积<BR> 给我传递的三边是:<%=sideA%>,<%=sideB%>,<%=sideC%> <BR>三角形的面积:<%= getArea(a,b,c)%> </Font> 例子12 example2_12.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY> <% double i=Math.random(); if(i>0.5) { %> <jsp:forward page="frontSide.jsp" > <jsp:param name="number" value="<%= i %>" /> </jsp:forward> <% } else { %> <jsp:forward page="reverseSide.jsp" > <jsp:param name="number" value="<%= i %>" /> </jsp:forward> <% } %> </BODY></HTML> frontSide.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan><Font size=3> <% String s=request.getParameter("number"); out.println("<BR>传递过来的值是"+s); %> <BR><img src=image/a.JPG width=120 height=120 >钱币图像</img> </FONT></BODY></HTML> reverseSide.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan><Font size=3> <% String s=request.getParameter("number"); out.println("传递过来的值是"+s); %> <BR> <img src=image/b.JPG width=120 height=120 >钱币图像</img> </FONT></BODY></HTML> 例子13 example2_13.jsp: <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY> <jsp:plugin type="applet" code="B.class" jreversion="1.2" width="200" height="260"> <jsp:fallback> Plugin tag OBJECT or EMBED not supported by browser. </jsp:fallback> </jsp:plugin> </BODY></HTML> 第3章 JSP 内置对象 例子1 example3_1.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=cyan><FONT size=2> <FORM action="computer.jsp" method=post name=form> <INPUT type="text" name="sizeA" value=1 size=6> <INPUT type="text" name="sizeB" value=1 size=6> <INPUT type="text" name="sizeC" value=1 size=6> <INPUT TYPE="submit" value="提交" name="submit"> </FORM> </FONT> </BODY></HTML> computer.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY bgcolor=yellow><Font size=3> <% String sideA=request.getParameter("sizeA"); String sideB=request.getParameter("sizeB"); String sideC=request.getParameter("sizeC"); try { double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); double c=Double.parseDouble(sideC); double p=(a+b+c)/2,area=0; area=Math.sqrt(p*(p-a)*(p-b)*(p-c
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服