版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1任务1:获取会员的注册请求任务描述创建会员注册页面,并把注册请求提交给一个Servlet,通过该Servlet获取注册表单的数据,并在页面上输出。任务描述技能目标能够创建并配置Servlet能够通过Servlet获取用户请求能够通过Servlet进行请求响应技能目标4.1.1Servlet简介Servlet(ServerApplet)意为运行在服务器端的小程序。Servlet的出现早于JSP,它可以接收客户端请求并做出响应,并利用输出流的方式动态生成HTML页面。4.1.2ServletAPIServletAPI主要涉及两个包:•javax.servlet包:其中的类和接口是通用的不依赖协议的ServletAPI,包括Servlet、ServletRequest、ServletResponse、ServletConfig、ServletContext接口及抽象类GenericServlet;•javax.servlet.http包:其中的类和接口是用于支持HTTP协议的ServletAPI。
一、Servlet接口4.1.2ServletAPI二、ServletConfig接口Servlet容器使用ServletConfig接口的实例在Servlet初始化期间向其传递配置信息,而且一个Servlet只有一个ServletConfig对象。4.1.2ServletAPI三、GenericServlet抽象类该类实现了Servlet接口和ServletConfig接口,给出了除service()方法以外的其他方法的简单实现,定义了通用的、不依赖于协议的Servlet。4.1.2ServletAPI四、HttpServlet抽象类大部分的网络应用都是基于HTTP协议访问Web资源的。抽象类HttpServlet继承自GenericServlet类,并提供了与HTTP相关的实现,支持对get、post等请求方式进行差异化处理。4.1.2ServletAPI五、ServletContext接口一个ServletContext接口的实例表示一个Web应用的上下文。JSP内置对象application就是ServletContext的实例。Servlet容器的厂商负责ServletContext接口的实现,容器在应用程序加载时创建ServletContext对象,进而被Servlet容器中的所有Servlet共享。4.1.2ServletAPI六、ServletRequest和HttpServletRequest接口1、ServletRequest接口当客户请求时,由Servlet容器创建ServletRequest对象用于封装客户请求,该对象被容器作为service()方法的参数之一传给Servlet,Servlet利用ServletRequest对象获取客户的请求数据。4.1.2ServletAPI六、ServletRequest和HttpServletRequest接口2、HttpServletRequest接口HttpServletRequest接口位于javax.servlet.http包中,继承自ServletRequest接口4.1.2ServletAPI七、ServletResponse和HttpServletResponse接口1、ServletResponse接口Servlet容器接受客户请求时,除了创建一个ServletRequest对象用于封装客户请求以外,还会创建一个ServletResponse对象,用于封装响应数据,并且将这两个对象一并作为参数传递给Servlet。经过处理的响应数据由ServletResponse对象发送回客户端。4.1.2ServletAPI七、ServletResponse和HttpServletResponse接口2、HttpServletResponse接口HttpServletResponse接口继承自ServletResponse接口,用于响应客户端。4.1.3Servlet的简单应用4.1.4Servlet的生命周期4.1.4Servlet的生命周期4.1.4Servlet的生命周期任务实现创建页面:任务实现创建Servlet,实现Servlet接口,重写service方法:任务实现配置RegServlet映射打开项目配置文件web.xml,在根节点下做如下配置:
<servlet><servlet-name>RegServlet</servlet-name><servlet-class>com.ct.servlets.RegServlet</servlet-class></servlet><servlet-mapping><servlet-name>RegServlet</servlet-name><url-pattern>/reg</url-pattern></servlet-mapping>在表单中指定action属性值
根据<url-pattern>元素的值,将action属性设置为:
<formaction="reg"method="post">拓展与提高在JSP和Servlet进行数据交互的过程中,经常会用到域对象。1、通过继承GenericServlet抽象类的方法新建一个Servlet获取应用程序上下文的方法,在Servlet接口中并没有提供,而在GenericServlet类中才有该方法。因此,需要用继承GenericServlet类的方法新建Servlet(类名为SetServlet)。2、重写service方法getSession()方法属于HttpServletRequest类。因此,需要把service()方法的ServletRequest类型的请求对象参数强制转换为HttpServletRequest类型之后才能使用。拓展与提高3、配置与测试:总结Servlet简介 ServletAPI Servlet的简单应用 Servlet的生命周期
谢谢大家观看
4.2任务2:基于Servlet和三层架构完成会员的注册任务描述运用Servlet和三层架构设计模式,在新增会员之前进行存在性验证,并进行相应的提示,进而完成会员的注册功能。任务描述技能目标使用Eclipse向导创建Servlet理解Servlet与JSP的关系技能目标4.2.1用Eclipse向导创建Servlet如果Servlet是通过继承HttpServlet抽象类来实现的话,编码时可以不去重写service()方法,只需重写相应的deGet()或doPost()即可。4.2.1用Eclipse向导创建Servlet选择需要重写的方法(默认选择doGet和doPost),并配置Servlet映射(注意勾选Generate/Mapweb.xmlfile)。其中的MappingURL与<url-pattern>元素对应。4.2.1用Eclipse向导创建Servlet分别编写doGet()和doPost()方法不同的部分,同时通过相互调用执行相同的部分,避免重复编码。4.2.2JSP与Servlet的关系1、Servlet是纯Java代码,擅长流程控制和事务处理;2、Servlet没有对页面的逻辑部分和输出部分进行有效的分离;3、Servlet中没有内置对象,必须通过专门的方法才能获取;4、JSP以Servlet为基础,由HTML代码和JSP标签组成,可以方便地编写动态网页;5、JSP在本质上就是Servlet,它是Servlet的扩展和简化;6、JSP的部署更加简单,JSP容器会对扩展名是.jsp的URL统一配置,将其转换为Servlet为客户端服务,无须为每一个JSP文件配置URL映射;7、JSP页面HTML元素与Java脚本混合的语法,对于请求处理过程中编写流程控制代码、数据访问代码等却是不利的,难以进行模块化开发及代码重用。任务实现一、搭建三层架构目录结构任务实现二、编写数据访问层代码1、把之前写过的通用BaseDao代码拷贝过来。任务实现二、编写数据访问层代码2、编写数据访问层接口及实现类。任务实现三、编写业务逻辑层代码编写业务逻辑层接口及实现类。任务实现四、编写请求处理代码任务实现五、设置表单属性根据RegServlet的配置信息,设置注册表单的action属性值。拓展与提高合理使用初始化参数,可以为Servlet开发带来方便。当我们希望整个Web应用中的servlet都能使用某一个value值时,可以将它设置成Context-param,这样可以简化代码;如果是单个servlet使用的参数,可以设置成init-param。一、Context-param拓展与提高二、init-param总结
用Eclipse向导创建Servlet
JSP与Servlet的关系
谢谢大家观看
4.3任务3:使用Filter对注册请求进行编码过滤任务描述创建过滤器,对用户的请求和响应进行编码转换。任务描述技能目标熟悉过滤器的运行方式能够使用过滤器完善系统功能技能目标4.3.1Filter简介可以通过Filter技术,对Web服务器管理范围内的所有Web资源,如Jsp、Servlet、静态文件等进行拦截,从而实现一些特殊的功能。例如,实现URL的访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。4.3.2FilterAPI一、Filter接口所有的过滤器都必须实现Filter接口。其源码如下:publicinterfaceFilter{publicvoidinit(FilterConfigfilterConfig)throwsServletException;publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)
throwsIOException,ServletException;publicvoiddestroy();}所有的过滤器都必须实现Filter接口。和Servlet类似,该接口定义了init、doFilter0、destory()三个生命周期方法。doFilter()方法类似于Servlet接口的service()方法。当客户端请求目标资源时,容器就会调用与这个目标资源相关联的过滤器的doFilter()方法。4.3.2FilterAPI二、FilterChain接口该接口代表Filter链,其源码如下publicinterfaceFilterChain{publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse)throwsIOException,ServletException;}其中的doFilter(ServletRequestrequest,ServletResponseresponse)方法是由Servlet容器提供给开发者,用于对资源请求过滤链依次调用,通过FilterChain调用过滤链中的下一个过滤器,如果是最后一个过滤器,则下一个就调用目标资源。4.3.2FilterAPI三、FilterChain接口FilterConfig接口用于检索过滤器名、初始化参数以及当前Servlet上下文。源码如下:publicinterfaceFilterConfig{
//返回web.xml部署文件中定义的该过滤器的名称
publicStringgetFilterName();
//返回调用者所处的servlet上下文
publicServletContextgetServletContext();
//返回过滤器初始化参数值的字符串形式,当参数不存在时,返回nul1。//参数name是初始化参数名
publicStringgetInitParameter(Stringname);
//返回过滤器所有初始化参数值,如果没有初始化参数,返回为空
publicEnumerationgetInitParameterNames(); }4.3.3Filter的简单应用创建一个Filter,在控制台上输出“您的请求已被拦截!”。具体步骤如下:1、 在项目源码文件夹src中,创建用于存放Filter类的包(如com.ct.filters);2、 在该包中创建一个类(如FirstFilter),使其实现Filter接口;3、 重写Filter接口中的所有方法;System.out.println("您的请求已被拦截!");4.3.3Filter的简单应用配置过滤器:打开项目配置描述符文件web.xml,在根节点下进行如下配置:
<filter><filter-name>FirstFilter</filter-name><filter-class>com.ct.filters.FirstFilter</filter-class></filter><filter-mapping><filter-name>FirstFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
其中,需要涉及两个XML元素:
<filter>元素用于向系统注册一个过滤器对象;
<filter-mapping>元素用于指定该过滤器对象所应用的URL。<url-pattern>元素中,可以使用通配符来限制要过滤的请求。“/*”表示该过滤器应用于当前Web程序下的每一个URL请求;“/文件夹/*”表明该过滤器只应用于指定文件夹下的URL请求;/hello*表示该过滤器只应用于以hello开头的所有请求。4.3.3Filter的简单应用
<filter>元素具有五个可能的子元素:4.3.3Filter的简单应用4.3.4用Eclipse向导创建Filter4.3.4用Eclipse向导创建Filter4.3.4用Eclipse向导创建Filter任务实现任务实现拓展与提高监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中属性发生修改的事件。Servlet监听器的主要监听对象有以下三个:
ServletContext:整个应用只存在一个(application);
HttpSession:针对每一个对话(session);
ServletRequest:针对每一个客户请求(request)。Servlet监听器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年预防校园欺凌专题教育课件
- 广东省揭阳市2026年重点学校高一入学英语分班考试试题及答案
- 2026年公务员考试行测高频考点专项训练
- 2026年公务员考试《行政职业能力测验》真题解析培训试卷
- 2026农信社遴选面试题目及答案
- 2026平安健康险面试题库及答案
- 2026泉州护士面试题及答案
- 2026如皋设计院面试题及答案
- 2026设计真实面试题目及答案
- 四川省攀枝花市2026年中考试数学真题
- 法律知识考试试题及答案
- 国家安全教育大学生读本电子版教材2025年课件讲义全套合集
- 邮政机要培训课件
- 汽车热管理系统核心技术解析
- 2025年高效节能变压器安装工程劳务合同范本
- 2025年广东省中考物理试题卷(含答案)
- 2024-2025学年外研版(一起)四年级下学期期末英语试卷(含答案含听力原文无音频)
- 2025届浙江省杭州滨江区六校联考八年级英语第二学期期末考试模拟试题含答案
- T/CECS 10022-2019埋地用改性高密度聚乙烯(HDPE-M)双壁波纹管材
- 各地市可编辑的山东地图
- HY/T 0460.11-2024海岸带生态系统现状调查与评估技术导则第11部分:泥质海岸
评论
0/150
提交评论