您好,欢迎访问三七文档
1第2讲Web服务与Servlet主要内容‹Web应用服务开发过程zWeb应用服务环境z一个简单实例演示zWeb应用项目文档安排z服务端口、应用名称和欢迎文字安排‹Servlet开发基础zServlet概况zServlet工作原理zServlet基本编程z简单请求与响应处理Web应用服务环境—动态网页实现2‹请求服务通过URLzhttp://域名:端口号/应用程序名称/index.htmlhttp协议http协议浏览器:通过URL发出请求:GET或POST方式。Web服务器:判断请求的文件名后缀是:.html?.jsp、.asp、ServletWeb应用程序3‹Web应用程序z是一种可以通过Web访问的特定应用程序。z一个Web应用程序是由完成特定任务的各种Web组件构成,并通过Web将服务展示给外界。)多个Servlet)多个JSP页面)HTML文件)图像文件等应用服务器‹应用服务器4Web应用程序是驻留在应用服务器上。z是为Web应用程序提供一种简单的和可管理的对系统资源的访问机制。z它能提供基本服务ƒ如HTTP协议的实现ƒ数据库连接管理。zServlet容器是Web应用服务器的基本部分。‹含有Servlet容器服务器软件有:zApache的Tomcat、zJBoss、zBEA的WebLogic、zIBM的WebSphere等。注意:WebLogic、WebSphere不仅仅是Servlet容器,它们也提供对EJB(EnterpriseJavaBeans)、JMS(JavaMessageService)以及其他JavaEE(EnterpriseEdition)技术的支持。Web应用开发环境搭建(课程环境)5‹系统软件:zJDK--Java开发工具包zTomcat--Web应用服务器软件zEclipse--基于Java的可扩展开发平台,提供一个框架和一组服务zMyEclipse--功能丰富的J2EE集成开发环境zMySQL--小型关系型数据库管理系统‹系统安装:z1、安装JDK;2、安装Tomcat;3、安装Eclipse;4、安装MyEclipse;5、安装MySQL一个简单应用实例分析:登录6‹功能:z登录一个Web应用系统)若登录成功浏览器显示成功信息,)登录不成功浏览器显示失败信息。‹开发过程:1.创建Web应用项目2.编写web.xml(Web服务配置图)3.编写页面文件(HTML或JSP)4.编写业务模型(JavaBean)5.编写响应控制器(Servlet)6.运行测试(Web服务开启,客户端浏览测试)登录实例架构7登录界面处理文件验证数据库成功界面失败界面模型-视图-控制器(MVC)模式8‹MVC模式z是一种软件开发模式‹M是Model,表示模型,z主要完成系统的逻辑处理。‹V是View,表示视图,z主要完成与用户的交互。‹C是Controller,表示控制器,z主要建立模型与视图之间的关联。选择ViewMVC设计模式架构9Controller业务接受用户请求到Model处理选择View响应定义应用行为用户View请求信息显示查询用户交互接口界面请求ModelModel业务流程处理业务状态改变文件、分层及调用关系分析10V(视图)请求login.jspM(模型)调用LoginServletUserBean返回结果success.jsp成功成功否失败failure.jsp功能演示111.创建Web应用12‹创建应用名称:取名bookstorez创建文件夹bookstore,位置:webappsz创建一个子文件夹WEB-INFz在WEB-INF中创建web.xmlz在WEB-INF中创建classes文件夹和lib文件夹‹在bookstore下面z建立应用处理:JSP文件和HTML文件等。2.web.xml(例示)13登录响应服务名称登录服务处理程序登录响应的URL14failure.jspcontentType=text/html;charset=gb2312%htmlheadtitle登录失败/title/headbodyh2用户名或者口令不正确,请ahref=login.jsp重新登录!/a/h2/body/html3.定制页面(用户界面)‹登录界面login.jsphtmlheadtitle用户登陆/title/headbodyh2用户登录/h2login.jsp‹登录成功的界面success.jsp‹登录失败的界面failure.jspsuccess.jsp%@pagecontentType=text/html;charset=gb2312%htmlheadtitle登录成功/title/headbodyh2${sessionScope.userid}您好,欢迎登录网上书店!/h2/body/htmlformname=form1action=loginmethod=postonsubmit=returnisValidate(form1)用户名:inputtype=textname=useridbr口令:inputtype=passwordname=userpassbrinputtype=resetvalue=重置inputtype=submitvalue=提交br/form/body/html%@page4.定制模型JavaBean15packagea01.bean;publicclassUserBean{‹代码参见书上2.2.5节。privateStringusername;privateStringuserpass;publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetUserpass(){returnuserpass;}publicvoidsetUserpass(Stringuserpass){this.userpass=userpass;}publicbooleanvalidate(Stringusername,Stringuserpass){if(username.equals(zhangsan)&&userpass.equals(wangwu))returntrue;elsereturnfalse;}}5.编制Servlet控制器packagea01.servlets;importjava.io.IOException;importjava.io.PrintWriter;16‹代码参见教材2.2.6节。importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importa01.bean.UserBean;publicclassLoginServletextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{//获取用户输入的用户ID和口令Stringuserid=request.getParameter(userid);Stringuserpass=request.getParameter(userpass);//创建模型对象UserBeanuser=newUserBean();//调用业务方法进行验证booleanb=user.validate(userid,userpass);//要转向的文件Stringforward;//如果登陆成功,把用户名写入session中,并且转向success.jsp,//否则转向failure.jspif(b){HttpSessionsession=request.getSession(true);session.setAttribute(userid,userid);//目标转向文件是success.jspforward=/a01/success.jsp;}else{//目标转向文件是failure.jspforward=/a01/failure.jsp;}//获取Dispatcher对象RequestDispatcherdispatcher=request.getRequestDispatcher(forward);//完成跳转dispatcher.forward(request,response);}publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{doGet(request,response);}}6.运行测试171.启动Web服务器(服务器端)2.浏览器访问(客户端)表示协议z127.0.0.1表示服务器IP地址,也可以写主机域名,8080表示服务端口zbookstore表示某种应用zlogin.jsp是要访问的资源。应用程序文档安排(文档结构)18服务端口、应用名称和欢迎文件安排19‹服务器端设置z配置端口z配置应用z配置欢迎文件配置端口20‹在server.xml中修改z位于tomcat安装目录的conf文件夹中配置应用21‹在server.xml中的/Host前添加应用路径‹如果想作为系统默认的应用,设置path为空配置欢迎文件22‹访问应用时,如果不输入资源文件名,系统会自动搜索欢迎文件z欢迎文件在每个应用的配置文件web.xml中配置,可以设多个资源文件名称JavaServlet基础23‹什么是ServletServlet定义:一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,主要目的是扩展服务功能,生成动态的Web页面。‹Servlet的主要作用z接收来自客户端浏览器的请求,产生服务器端的响应,将响应结果返回客户端,扩展服务器功能。z在默认情况下,Servlet采用一种无状态的请求-响应处理方式(HTTP方式)。24‹Servlet在应用程序中的主要功能z从JSP(或HTML表单中)获取请求的信息z对信息进行验证、转换z调用业务逻辑方法z根据执行的结果进行特定处理‹Servlet与一般Java程序的区别zServlet不能直接通过命令行运行,它是通过Web服务器进行加载启动。25Servlet与Applet比较相似之处:(1)它们不是独立的应用程序,没有main()方法。(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。(3)它们都有一个生存周期,包含init()和destroy()方法。不同之处:(1)Applet运行在客户端,具有丰富的图形界面。(2)Servlet运行在服务器端,没有图形界面。26‹Servlet规范zSun提出了一个标准、平台独立的框架,用于实现Servlet和Servlet容器之间的通信。该框架是由一组Java接口和类组成,称为ServletAPI。‹ServletAPI由两个重要包:zjavax.servlet包)定义开发独立于协议的服务器程序的接口和类。zja
本文标题:javaweb_2
链接地址:https://www.777doc.com/doc-6397222 .html