java_web_1-第一个JavaWeb应用_第1页
java_web_1-第一个JavaWeb应用_第2页
java_web_1-第一个JavaWeb应用_第3页
java_web_1-第一个JavaWeb应用_第4页
java_web_1-第一个JavaWeb应用_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java WebJava Web开发开发 第一课第一课 Java Web Java Web 应用简介应用简介 讲师:李玉明讲师:李玉明 教材及主要参考书目 l孙卫琴Tomcat与Java Web开 发技术详解(第2版)电子工业 出版社 l耿祥义JSP实用教程(第2版) 清华大学出版社 l孙卫琴精通Struts:基于MVC 的Java Web设计与开发 电子工 业出版社 lJSP程序设计类教材 课程目标 l理解Web应用及开发的基本概念 l掌握Servlet、会话管理、Filter l掌握JSP 、JSP EL及JSTL l编写基于MVC模式的Java Web应用 回顾OOPq=0.5 Cont

2、ent-Type:application/x-www-form-urlencoded Content-Length:40 (空行) Username=Zhangsan服务器类型、正文MIME类型、正文长度等。 响应正文(Response Content)。 HTTP/1.1 200 OK Server:Apache-Coyote/1.1 Content-type:text/html;charset=GBK Content-length:102 (空行) Servlet/JSP l用Java开发Web应用程序时用到的技术主要有 两种,即Servlet和JSP。 Servlet是在服务器端 执行的

3、Java程序,一个被称为Servlet容器容器的程 序(其实就是服务器)负责执行Java程序。而 JSP(Java Server Page)则是一个页面,由JSP 容器容器负责执行。 lServlet和JSP两者最大的区别就是,Servlet以 Java程序为主,输出HTML代码时需要使用 out.println函数,也就是说Java中内嵌中内嵌HTML; 而JSP则以HTML页面为主,需要写Java代码时 则在页面中直接插入Java代码,即HTML中内嵌中内嵌 Java。 Servlet/JSP lJSP便于输出,Servlet便于进行逻辑处理。实际应用中两者常常 结合使用,各司其职。 lT

4、omcat是Servlet容器容器和JSP容器容器。 ltomcat目录下的webapps目录用来保存Web应用程序。 lWEB-INF目录无法从浏览器中访问。 WEB-INF/classes下保存 的是编译后的Java程序(主要是Servlet),WEB-INF/lib 下保存的 是运行时使用的库文件(.jar文件),web.xml则是整个应用程序的 配置信息。 l其他文件例如 .jsp、图片、Javascript脚本等,都可以直接放到 Web应用程序的根目录下。 l应用程序的结构应用程序的结构 MVCMVC模型模型 l所谓MVC模型就是将数据、逻辑处理、用户界 面分离的一种方法。 M(Mo

5、del, 模型模型):用于数据处理、逻辑处理。 V(View,视图,视图):用于显示用户界面。 C(Controller,控制器,控制器):根据客户端的请求控制逻辑走 向和画面。 l在Java web中,MVC这三个部分则分别对应于 JavaBeans、JSP和Servlet。 M = JavaBeans:用于传递数据,拥有与数据相关的逻 辑处理。 V = JSP:从Model接收数据并生成HTML C = Servlet:接收HTTP请求并控制Model和View MVC MVC工作流程 C/S vs B/S lC/S又称Client/Server或客户/服务器模式 ,客户端需要安装专用的客

6、户端软件。 lB/S是Brower/Server的缩写,客户机上只 要安装一个浏览器(Browser),如 Internet Explorer等,浏览器通过Web Server 同后台进行数据交互。 C/S l优点 能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再 提交给服务器。对应的优点就是客户端响应速度快。 l缺点 只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办 公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问 需要专门的技术,同时要对系统进行专门的设计来处理分布式的数 据。 客户端需要安装专用的客户端软件。安装的工作量,任何一台电脑 出问题,如病毒、硬件

7、损坏,都需要进行安装或维护。特别是有很 多分部或专卖店的情况,不是工作量的问题,而是路程的问题。 系统软件升级时,每一台客户机需要重新安装,其维护和升级成本 非常高。 对客户端的操作系统一般也会有限制。 B/S l优点 可以在任何地方进行操作而不用安装任何专门的软件。 客户端零维护。 系统的扩展非常容易,只要能上网,再由系统管理员分 配一个用户名和密码,就可以使用了。 l缺点 运行速度; 数据安全; 人机交互 JavaWeb应用的概念 n在Sun的Java Servlet规范中,对Java Web应用作了这样定义: “Java Web应用由一组Servlet、HTML页、类、以及其它可以被绑

8、定的资源构成。它可以在各种供应商提供的实现Servlet规范Servlet 容器中运行。” n Java Web应用中可以包含如下内容: Servlet JSP 实用类 静态文档如HTML、图片等 客户端类(如Applet) 描述Web应用的信息(web.xml) 应用程序体系结构 软件应用程序组件软件应用程序组件 -表示逻辑 -业务逻辑 -数据存取逻辑 体系结构的类型体系结构的类型 -一层 -二层 -三层 数据存取 业务 表示 数据存取 业务 表示 Web 应用程序体系结构 Web 应用程序使用三层体系结构 表示层表示层 客户端客户端 业务层业务层 Web 服务器服务器 数据库数据库 数据层

9、数据层 Servlet容器的概念 n Servlet容器为JavaWeb应用提供运行时环境,它负责管理Servlet 和JSP的生命周期,以及管理它们的共享数据。 n Servlet容器也称为JavaWeb应用容器,或者Servlet/JSP容器。 后文均采用Servlet容器的提法。 n 目前最流行的Servlet容器软件包括: Tomcat Glassfish Resin J2EE服务器(如Weblogic)中也提供了内置的Servlet容器 ServletServlet容器响应客户请求的过程容器响应客户请求的过程 ServletServlet容器响应客户请求的过程容器响应客户请求的过程

10、l当客户请求访问某个Servlet时,Servlet容器将创建一 个ServletRequest对象和ServletResponse对象。 l在ServletRequest对象中封装了客户请求信息,然后 Servlet容器把ServletRequest对象和 ServletResponse对象传给客户所请求的Servlet。 lServlet把响应结果写到ServletResponse中,然后由 Servlet容器把响应结果传给客户。 安装并运行tomcat服务器 lTomcat的下载地址: 最新版8.0.17(2015-01-15发布) l安

11、装步骤: 首先安装JDK。 接下来,解压Tomcat压缩文件jakarta-tomcat-8.x.zip。解压 Tomcat的压缩文件的过程就相当于安装的过程。假定解压至 D:tomcat目录。 然后设定两个环境变量:JAVA_HOME,它是JDK的安装目 录;CATALINA_HOME,它是Tomcat的安装目录。 启动和关闭tomcat服务器 l启动命令:binstartup.bat l关闭命令:binshutdown.bat l访问主页:http:/localhost:8080/ Web 应用程序开发过程 l设计目录结构 l编写 Web 应用程序代码 l编写部署描述符 l编译代码(IDE

12、自动编译) l将 Web 应用程序打包(IDE处理) l部署 Web 应用程序 l执行 Web 应用程序 创建第一个创建第一个JavaWebJavaWeb应用应用 nhelloapp应用的目录结构图: 目录结构说明 n/helloapp:Web应用的根目录,所有的JSP和HTML文件存 放于此目录(WEB-INF子目录除外) n/helloapp/WEB-INF:存放Web应用的发布描述文件web.xml n/helloapp/WEB-INF/classes:存放各种.class文件,servlet 类文件也放于此目录 n/helloapp/WEB-INF/lib:存放Web应用所需的各种JA

13、R文件 。例如,在这个目录下,可以存放JDBC驱动程序的JAR文 件 nWeb应用发布到Tomcat中的目录为: webapps 创建创建web.xmlweb.xml文件文件 l创建一个默认的web.xml文件,并把这个文件放到WEB-INF目录中。 创建创建index.htmindex.htm文件文件 l这个文件仅仅用来显示一串带链接的字符“Welcome to HelloApp”。以下是index.htm文件的代码: helloapp Welcome to HelloApp login 当前结构及测试结果 helloapp webapps WEB-INF 创建创建login.jsplogi

14、n.jsp l它显示登录页面,要求输入用户名和口令,这个页面链接到一个它显示登录页面,要求输入用户名和口令,这个页面链接到一个 名为名为DispatcherServlet的的Servlet。 helloapp User Name: Password: 当前结构及测试结果 helloapp webapps WEB-INF 创建创建DispatcherServlet.javaDispatcherServlet.java l调用HttpServletRequest对象的getParameter方法读 取客户提交的loginForm表单数据,获取用户名和口令 ,然后将用户名和口令保存在HttpServ

15、letRequest对 象的属性中,再把请求转发给hello.jsp。 public class DispatcherServlet extends GenericServlet private String target=hello.jsp; Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException String username = request.getParameter(username); String pass

16、word = request.getParameter(password); request.setAttribute(USERNAME, username); request.setAttribute(PASSWORD, password); ServletContext context=getServletContext(); RequestDispatcher dispatcher=context.getRequestDispatcher(target); dispatcher.forward(request, response); 编译并发布编译并发布DispatcherServlet

17、DispatcherServlet lIDE自动完成 l若手工编译DispatcherServlet.java。编译时,需要将Java Servlet API的JAR文件 (servlet-api.jar)设置为classpath,servlet-api.jar文件位于 /common/lib目录下。 l编译出来的class文件应位于/helloapp/WEB_INF/classes目录下。 DispatcherServlet.class的具体存放位置为/helloapp/WEB_INF/classes/mypack/ DispatcherServlet.class 编译并发布编译并发布DispatcherServletDispatcherServlet l在在web.xml中为中为DispatcherServlet类加上类加上和和元素:元素: dispatcher mypack.DispatcherServle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论