- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 Servlet 基础 学习目标: 理解Servlet的类结构、Servlet的生命周期和工作过程; 会在web.xml文件中编写Servlet路径映射代码; 熟练部署Servlet的文件目录结构; 掌握编写Servlet代码的技术; 熟练使用JSP+Servlet开发Web应用; 能够使用JSP+Servlet+JavaBean开发Web应用。 10.1 Servlet概述 Servlet是运行在服务器上的,可以处理客户端 请求的Java程序。 1、Servlet与JSP Servlet Servlet是运行在服务器端的Java程序,本质上是 一个特定的Java类,除遵循一般Java类的规则外, Servlet还可以接受HTTP请求。如果把Servlet的 class文件存入Tomcat的相应目录中,就可以响应客 户端的请求了。Servlet是javax.servlet.http包中的 HttpServlet类的子类,HttpServlet类实现了Servlet 接口,执行服务器对用户的响应。 JSP JSP技术是以Java Servlet为基础的,是Servlet 的一个应用,当用户请求一个JSP页面时,JSP 引擎按如下过程执行: 1)把JSP代码转译成Java源文件,也就是Servlet文件; 2)编译Java文件生成字节码文件; 3)字节码文件加载到内存; 4)字节码文件在服务器端创建一个Servlet对象; 5)该Servlet对象的访问方法,响应用户请求,在多个用户请求同一个JSP页面时,服务器启动多个线程响应用户请求。 JSP 与Servlet的区别 JSP技术屏蔽了Servlet对象的创建过程,在执 行的第一步就转译为Servlet,由JSP引擎自动完 成用户与服务器的响应过程。而Servlet是直接编 写Java程序,由Java程序完成用户与服务器的响 应过程。 JSP只能处理浏览器的请求,而Servlet可以处 理客户端应用程序的请求。Servlet加强了Web服 务器的功能。 在Web应用中,如果页面的显示效果比价复杂 可首选JSP技术,而业务逻辑处理应首选Servlet使 用JSP+Servlet技术可以把页面表示交JSP,业务 逻辑由Servlet处理。 解决“软件包 javax.servlet 不存在”错误的方法: 1.?有哪些信誉好的足球投注网站servlet-api.jar 所在文件夹:C:\Tomcat 5.5\common\lib 2.?将环境变量CLASSPATH的值设置为:….;C:\Tomcat 5.5\common\lib\servlet-api.jar 3. 把common/lib下的servlet-api.jar拷贝到Java\jdk1.5.0_14\jre\lib\ext下 4.?重新编译:javac ***.java,编译成功。 10.2 Servlet的工作机制 1、Servlet类结构 Java Servlet API为Servlet提供了javax.servlet 和javax.servlet.http两个扩展包来开发Servlet,作 用如下: javax.servlet包:控制Servlet的生命周期所必需的Servlet接口。 javax.servlet.http包:从Servlet接口派生,处理HTTP请求的抽象类和一般的工具类。 2、Servlet成员方法 init()方法:完成初始化工作。 service()方法 在服务器成功创建和初始化Servlet对象后,该 对象就可以调用service()方法,把两个参数传递 给service()方法。其中一个参数是HttpServlet Request(请求)类型对象,封装了与请求相关的信 息;另一个参数是HttpServletRequest(响应)类型 对象,封装了响应信息。服务器为每个调用 Servlet对象的用户启动一个线程、调用过程在不 同线程中各自运行,不同线程service()方法中的 局部变量也是不同的,在一个线程中改变局部变 量的值,不会影响到其他线程service()方法中的 局部变量。 声明格式: public void service(HttpServletRwquest req,Http ServletResponse res) throws ServletException, IOException; doGet()和doPost()方法 服务器创建和初始化Servlet对象后,在用户请求 该Servlet对象时,服务器会启动一个新线程,在线 程中该Servlet对象调用service()方法,service(
文档评论(0)