全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Servlet实例应用1.虽然可以用:String name=getServletConfig().getServletName()得到Servlet名称,但可以从GenericServlet直接继承getServletName方法更方便. Service就不用象doPost激活了public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html);PrintWriter out=response.getWriter(); out.print( this.getServletName( ) );Enumeration e=this.getInitParameterNames();/得到多个参数玫举数组 while(e.hasMoreElements() String key=(String)e.nextElement(); String value=getInitParameter(key); out.print(key+=+value); ServletContext context=this.getServletContext();/也可从GenericServlet中直接得到String path=context.getRealPath(/); out.print(path); 得到:C:tomcatwebappstest2. 用ServletContext得到初始化参数:(从GenericServlet中直接得到)public class Context extends HttpServlet public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException PrintWriter out=response.getWriter();Enumeration e=getServletContext().getInitParameterNames(); while(e.hasMoreElements()String key=(String)e.nextElement();String value=getServletContext().getInitParameter(key);out.print(key+=+value);ServletContext在web.xml中的配置: Context test.Context 不同于在Servlet内部配 company witbridge 3使用输入流访问资源文件:public class FileAccess extends HttpServlet public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException PrintWriter out=response.getWriter();FileInputStream fis=new FileInputStream(perties);/文件必和tomcat启动程序同级别目录: user=root,否则全路径:c:pertiesProperties props=new Properties(); props.load(fis); /Properties保存在流中或从流中加载, load从输入流中读取属性列表,getPXX返回Stringout.print(props.getProperty(user); fis.close(); /用指定键在属性列表中搜索属性4.使用ServletContext接口访问资源文件:public class Resource extends HttpServlet protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException PrintWriter out=response.getWriter();URL urlIt315=this.getServletContext().getResource(/perties);InputStream ips=this.getServletContext().getResourceAsStream(/perties); out.print(urlIt315.toString();Properties props=new Properties();props.load(ips);out.print(props.getProperty(dataBase); /好处:路径与调试环境无关,只要/setHeader(java.lang.String name, java.lang.String value)5.HttpServletResponse的应用:响应消息头:如setContentType(“text/html;charset=”);a.SetHeader(自动刷新,URL覆盖)public class Refresh extends HttpServlet protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /response.setHeader(Refresh, 2);response.setHeader(Refresh, 1;URL=http:/localhost:8080/ ); b.禁止浏览器缓存显示动态图片:public class Cache extends HttpServlet protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html );response.setDateHeader(Expires, 0); response.setHeader(Pragma, no-cache);response.setHeader(Cache-Control, no-cache); /防止不同浏览器支持不同响应头PrintWriter out=response.getWriter();out.print(Math.random();response.setBufferSize(0);int len=response.getBufferSize( );out.print(len);/8192 6.RequestDispatcher(共享数据和URL不变)和response.SendRidirect:a.Include:被包含的Servlet程序不能改变响应消息的状态码和响应头,如果他里面存在这样的语句执行结果将被忽略:public class Included extends HttpServlet protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=GB2312);/被包含执行时将被忽略PrintWriter out=response.getWriter();out.print(中国+);out.print(URL+request.getRequestURI()+);/test/servlet/Include根目录下out.print(QueryString:+request.getQueryString()+);/为null,得到?后面语句out.print(Param p1:+request.getParameter(p1)+); /可以得到参数的测试:public class Include extends HttpServlet protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOExceptionresponse.setContentType(text/html;charset=GB2312);PrintWriter out=response.getWriter();String china=中国;RequestDispatcher rd=this.getServletContext().getRequestDispatcher(/servlet/Included?p1=+china); rd.include(request, response); /从Config中继承b.forward:在调用者和被调用者程序中设置响应状态码和状态头都不会被忽略,URL仍为调用方response.setContentType(text/html;charset=GB2312);/也需要设置,转向全部元素全路径RequestDispatcher rd=this.getServletContext().getRequestDispatcher(/index.jsp);rd.forward(request, response);c:sendRedirect方法用于生成302响应码和Location响应头,从而通知客户端去重新访问Location响应头中指定的URL,调用和被调用者之间就不能共同享用request和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年科技助力下的人员定位管理
- 2026年少数民族医药传承人认定与管理办法
- 2026年欠薪纠纷中财产保全申请与强制执行实务
- 海外投资合作协议模板2026修订
- 2026年用户体验设计师的岗位职责与求职作品集打造
- 2025年工业物联网设备注册流程设计
- 肝细胞癌淋巴结转移与骨转移的多因素解析与预测模型构建
- 2026年金融行业银行业务与监管政策
- 2026年老年病科专科护士培训计划与综合评估
- 肝癌肝移植受者无激素免疫抑制方案的临床探索与前景剖析
- 黑龙江省哈尔滨市2025年中考语文真题试卷附真题答案
- 火烧石材承包协议书
- 上海高校毕业生登记表(本专科生)
- (13)普通高中艺术课程标准日常修订版(2017年版2025年修订)
- 水务网络安全培训课件
- 鲁迅完整版课件
- 汽车维修岗前培训考试题及答案解析
- 江西吉安市市直事业单位选调考试真题2024
- 九年级上册历史单元复习学练案(一至七单元)(含答案)
- 印章刻制公司管理办法
- 医院门诊部管理课件
评论
0/150
提交评论