动态Web开发技术--JSP
教学方法 本课程是专业技能课,以实例带动知识点,讲、学、练结合,通过实例引入概念、原理和方法。
课程的任务 掌握Web程序运行的基本原理 掌握服务器端Servlet编程技术 掌握JSP的基本语法及内置对象 Session、Applicaton的灵活运用及会话跟踪技术 灵活使用JSP+JavaBean技术开发Web程序 熟练掌握JSP对数据库的操作 掌握Web开发的常见问题,如乱码、分页、文件上传、国际化 监听器、过滤器的使用 EL和JSTL简化页面编写 MVC框架
实战内容 Servlet实现网上投票系统 JSP实现用户注册、登陆验证 JSP+JavaBean实现计算器功能 JSP+JDBC实现数据库操作 JSP+JavaBean+JDBC实现书店图书管理、图书浏览 JSP技术实现上传图书封面 使用Session实现购物车管理 使用Application实现网上聊天室 使用监听器统计网站在线人数 JSP实现分页技术 EL+JTSL改进页面 MVC模式实现网上商店系统 MVC实现BBS系统
JSP技术资源 Sun官方网站JavaServlet Pages技术首页 Sun官方网站JavaServlet技术首页 http://java.sun.com/products/jsp/index http://forum.java.sun.com/forum.jsp?forum=45 Sun官方网站JavaServlet技术首页 http://java.sun.com/products/servlet/index http://forum.java.sun.com/forum.jsp?forum=33 Sun官方网站JDBC讨论社群 http://forum.java.sum.com/forum.jsp?forum=48 国内技术社区 http://java.csdn.net/ http://www.cjsdn.net http://java.chinaitlab.com/ http://www.cn-java.com/www1/ http://www.chinajavaworld.com/index.jspa http://www.blogjava.net/
相关技术网址 微软Web Develplment/html and css 库 JavaScript 中文简介 http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/execcommand.asp JavaScript 中文简介 http://www.lib.tsinghua.edu.cn/chinese/INTERNET/JavaScript/ JavaScript 指南(英文) http://www.w3schools.com/js/default.asp
T1 JSP入门体验
主要内容 理解 理解桌面程序、C/S、B/S的区别 了解HTTP协议工作原理 掌握 1、jsp页面的执行过程 2、Tomcat的安装和配制
桌面程序、C/S、B/S C/S程序 B/S程序 桌面程序 单机上运行的程序,如word、excel、播放器。。。 客户端/服务器网络程序,客户端需要安装专门的客户端软件 如:QQ、银行取款机上的程序 B/S程序 浏览器/服务器网络程序,客户端不用装专门的软件,而是使用统一的客户端浏览器进行访问 也就是常见的网站
什么是Web开发 什么是Web开发 Web开发需要的技术 Web开发就是开发B/S结构的程序 如网站、BBS、网上商店的常见的网站 还包括企业管理型的系统,如OA、ERP、EIP。。。 Web开发需要的技术 网站的前台布局、美工、动画 后台处理程序 数据库领域技术 系统架构技术 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要概念就是超文本链接,它使得文本不再像一本书一样是固定的线性的。而是可以从一个位置跳到另一个位置,可以从中获取更多的信息。可以转到别的主题上,想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多链接性我们才把它称为Web。
Web应用 Web应用 一个服务器上运行的应用,对此应用,用户可以通过一个通用的瘦客户加以访问,目前最常用的瘦客户是Web流览器,其他瘦客户如掌上电脑,手机等也迅速加到这个行列来 HTTP协议 要实现简单的客户端能够与多种不同的服务器进行交互;而且这些服务器应用也必须具有与多种不同的类型客户端合作的能力,就必须定义客户和服务器通信的方式,这就是HTTP协议的目的
HTTP协议 HTTP请求/响应模型
HTTP请求 请求详解 点击链接、提交表单、地址栏键入Web页面地址就会发出一个请求 请求的服务器及资源由一个HTTP URL来指定 Ref:O’R|28 请求详解 点击链接、提交表单、地址栏键入Web页面地址就会发出一个请求 请求的服务器及资源由一个HTTP URL来指定 协议名 主机名 端口号 资源名 http://www.tsinghua-gd.com:8080/News.asp 浏览器使用URL信息来创建请求消息,并用指定的协议向指定的服务器发送此消息
HTTP请求组成 请求行(request line) 请求首部(request header) 包含服务器用于可能用于处理请求的额外信息 Ref:O’R|28 请求行(request line) 包括请求方法,资源名,浏览器所使用协议的版本,如: GET /index.html HTTP/1.1 请求首部(request header) 包含服务器用于可能用于处理请求的额外信息 请求体(requst body): 仅在某些类型的请求中包含消息体,如POST请求 HTTP请求消息示例:
HTTP请求组成
请求参数 请求参数 除了URL和首部,请求消息还可以包含有形式参数 http://www.weather.com.forecast?city=GuangZhou&province=GuangDong&date=2005-11-20 有两种方式发送参数: 1.以查询串(query string)的形式加在URL上 2.以请求消息体的一部分发送,使用POST请求时使用这种方式发送
请求方法 请求方法 GET方法,获取一个资源,而不需要服务器作任何工作 POST方法,请求在服务器上做某种处理,如:更新数据库或处理一个购买订单 GET使用查询串来传递参数; POST将参数作为请求消息体的一部分发送,也可以同时将某些参数作为查询串发送 在地址栏输入地址、点击<a>元素发出的都是使用GET请求,当使用一个表单向服务器发送用户输入时,可以指定method属性来指定请求方法,如:
动态网站技术 附加的其他技术: 目前能创建动态网站的技术: ASP: Active Server Pages 1996年,Microsoft借鉴PHP思想,在其Web服务器IIS 3.0中引入了ASP技术。ASP使用的脚本语言是我们熟悉的VBScript和JavaScript。借助Microsoft Visual Studio等开发工具在市场上的成功,ASP迅速成为了Windows系统下Web服务端的主流开发技术。 PHP: Personal Home Page 1994年,Rasmus Lerdorf发明了专用于Web服务器端编程的PHP(Personal Home Page Tools)语言。PHP语言将HTML代码和PHP指令合成为完整的服务端动态页面,Web应用的开发者可以用一种简便、快捷的方式实现动态Web功能。 JSP : Java Server Page …… 附加的其他技术: JavaScript, css, xml , database …
JSP的发展 JSP (*.jsp) = HTML文件(*.htm,*.html)+Java程序片断+JSP标记; JSP(JavaServer Pages)是1996年由Sun公司倡导,许多国际大型IT公司(IBM、Borland、Netscape 、Intle、Oracle等 )参与一起建立的一种新动态网页技术标准,类似其他技术的标准,如ASP,PHP等等. JSP是Java家族中与ASP技术一较高下的网页技术。 JSP是结合HTML和Java Servlet的一种服务器端网页技术。 JSP (*.jsp) = HTML文件(*.htm,*.html)+Java程序片断+JSP标记;
JSP的优点 JSP是纯Java平台的技术,它主要用来生成动态网站,包括HTML、DHTML、XHTML和XML。 Write Once,Run Anywhere特性 使商业逻辑和页面显示分开 搭配可重复使用的组件,如JavaBean ,EJB等 采用标签化页面开发 N-tier企业应用框架的支持
JSP的作用
JSP运行环境 开发运行环境 开发工具 J2SDK JSP引擎,用于解析JSP,有Tomcat、Resin Dreamweaver、FrontPage … Eclipse、JBuilder、Netbean …
Tomcat的下载 官方网站下载地址(目前版本6.X) http://jakarta.apache.org/tomcat/index.html
Tomcat的安装 执行jakarta-tomcat-5.0.28.exe安装。 选择tomcat安装路径和使用的jdk,并设定tomcat port 和 Administrator Login等。 tomcat port:设置在IE浏览器中的默认端口号 Administrator Login :设置tomcat管理员名称和密码。 设置环境变量 JAVA_HOME=“C:\j2sdk1.4.1_02” TOMCAT_HOME=“c:\tomcat 5.0”
Tomcat验证安装 Window环境下: Unix/Linux环境下: 双击{tomcat_home}/bin/startup.bat启动。 双击{tomcat_home}/bin/shutdown.bat关闭。 Unix/Linux环境下: 双击{tomcat_home}/bin/startup.sh启动。 双击{tomcat_home}/bin/shutdown.sh关闭。 在IE中输入http://localhost:8080/进行测试,如果页面正常出现,即安装成功。
Tomcat目录结构 Tomcat安装目录介绍 1、bin目录下都是tomcat的命令。 2、conf目录存在server的配置文件。 3、log目录是日志信息。 4、temp目录存在JVM中的临时文件。 5、webapps目录存放web应用项目。 6、work目录存在web项目的临时文件
第一个JSP程序 Hello.jsp,放在webapps\root下 测试 http://Localhost:8080/hello.jsp
login.jsp hello.jsp
Tomcat中项目的发布 1、将xxx.war放到tomcat_home/webapps/目录下,当tomcat启动的时候,会自动解压。
Tomcat中项目的发布 2、在tomcat_home/conf/server.xml中设置站台。 … <Context path=“ /myweb” docBase=“myjsp” debug=“0” reloadable=“true”> </Context> </Host> 说明 path=“/myweb”代表网络域名,http://IP:port/myweb docBase=“myjsp”代表站台的目录位置, {tomcat}/webapps/myjsp Debug是调试等级,0提供的信息最少,9提供的信息最多 Reloadable表示tomcat在执行的时候,当class\web.xml被更新时,是否不需重启tomcat而自动更新加载。 3、启动tomcat,在IE中输入http://localhost:8080/myjsp执行。
JSP执行过程 JSP File Request Resource Response HTML File HTML File
JSP执行过程 浏览器 IE Netscape JSP Page 1 Request 2 jsp parser 产生Servlet 的 .java文件 3 servlet 分析器 4 Response 经编译成Servlet 的.class文件 Web服务器
JSP执行过程 转译时期与请求时期过程程序图 out.write(“Count:”) out.jprint(“count”) 请求时期 <html><body> <% int count = 0; count++; %> Count:<%= count%> </body><html> //在_jspService()中 out.write(“<html><body>”); int count = 0; count++; out.write(“Count:”) out.jprint(“count”) out.write(“</body><html>”) <html> <body> Count : 1 </body> 请求时期 转译时期 Counter.jsp Output.HTML Counter_jsp.java 转译时期与请求时期过程程序图 例子 JSPHello.jsp
实践项目 首先我们编写一个HTML页面,文件名为“index.html” <form action="print.jsp" method="post"> <div align="center"> <p> 请输入你想打印的文字<br> <input type="text" name="text" /> </p> <input type=submit value="提交"> <input type="reset" name="" value="重置" /> </div> </form>
实践项目 通过上面代码,我们可以看出是“post”提交方式,提交处理的页面为“print.jsp”。我们设计print.jsp的作用是将用户在index.html页面的文本框中输入的信息打印到print.jsp页面上。主要代码如下: <body> <% out.println("<p align='center'>"+(String)request.getParameter("text")+"</p>"); %> </body> 提交
体验项目——<乘法口诀表> 本章体验项目实现的功能:编写一个JSP页面,实现在页面中打印乘法口诀表的功能。程序编写完成后,把文件保存为后缀名为.jsp的文件,将文件存放在TomcatwebappsROOTa目录下。启动Tomcat服务器,在浏览器地址栏中输入“http://localhoat:8080/a/myjsp.jsp”后,点击“回车”。查看程序的运行结果,如图所示:
总 结 理解 掌握 1、动态网站基础知识 2、JSP发展和优点 3、jsp页面的执行过程 4、Tomcat的安装和配制
理论课作业 1、描述下tomcat下各个目录的作用? 2、如果想发布一个站点myjsp允许用户在网络上以名字myfirstweb来访问的话,该如何在conf目录下的那个文件中进行怎么的配置?怎么配置? 3、描述一下C/S模式与B/S模式的区别