Servlet的优化.GenericServlet
如何更好的使用servlet?GernericServlet可以由自己仿照一个出来,下面就是介绍了如何写这样的一个类
1.init方法 妥善的保存config对象
2.空参init方法,为了防止开发人员重写 原生init方法
3.service方法空实现=> 声明城抽象
4.destory方法空实现
5.实现getServletInfo,getServletConfig
6.实现了servletConfig接口. 接口中的方法直接调用config实现类实现.
代码实现
package ming.com.hello;
import java.io.IOException;
import java.util.Enumeration;
import javax.ejb.Init;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/*
* 模仿写一个GenericServlet类
*/
public abstract class GenericServlet implements Servlet,ServletConfig{
private ServletConfig config; //固定写法
@Override
public void destroy() {
}
@Override
public ServletConfig getServletConfig() {
return config;
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void init(ServletConfig config) throws ServletException {
this.config=config;
this.init();
}
//添加一个空参应用方法,来避免用户调用的时候讲 有参引用方法覆盖,
//相当于用户重写空参init()方法即可完成初始化
public void init() throws ServletException{
}
//将此 方法声明为抽象方法,强迫用户去实现这个方法,因为这个方法是你调用这个类的目的,否则没有意义
@Override
public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException;
@Override
public String getInitParameter(String name) {
return config.getInitParameter(name);
}
@Override
public Enumeration<String> getInitParameterNames() {
return config.getInitParameterNames();
}
@Override
public ServletContext getServletContext() {
return config.getServletContext();
}
@Override
public String getServletName() {
return config.getServletName();
}
}
注意:1、加上一个无参构造方法,来避免用户调用的时候调用有参构造方法覆盖,
相当于用户重写空参init()方法即可完成初始化
2、将server()方法声明为抽象方法,强迫用户去实现这个方法,因为这个方法是你调用这个类的目的,否则没有意义
3、为了让用户更加方便的使用ServletConfig的四个方法,在这个类中实现这个接口,完善这几个方法
Servlet的优化.GenericServlet的更多相关文章
- Java Servlet(五):GenericServlet与Servlet、HttpServlet之间的关系(jdk7+tomcat7+eclipse)
本篇主要记录下,对GenericServlet的作用理解,及其与Servlet/HttpServlet之间的关系. 示例完成业务: 1.新建一个login.jsp页面,要求改页面能输入username ...
- 对JSP和Servlet性能优化,提升执行效率
你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文 ...
- 初学Servlet之继承GenericServlet
package app01a;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.GenericSer ...
- Servlet接口、GenericServlet类、HttpServlet类
Servlet是最顶层的接口,其提供的方法有: init(ServletConfig config):void // 初始化 getServletConfig():ServletConfig // 取 ...
- JSP和Servlet性能优化经验谈
你的J2EE应用是不是运行的很慢?它们能不能承受住不断上升的访问量?本文讲述了开发高性能.高弹性的JSP页面和Servlet的性能优化技术.其意思是建立尽可能快的并能适应数量增长的用户及其请求.在本文 ...
- [技巧篇]01.Servlet的优化模版代码
Servlet.java的模版 #---------------------------------------------# # <aw:description>Template for ...
- servlet实现的三种方式对比(servlet 和GenericServlet和HttpServlet)
第一种: 实现Servlet 接口 第二种: 继承GenericServlet 第三种 继承HttpServlet (开发中使用) 通过查看api文档发现他们三个(servlet 和GenericSe ...
- 超全面的JavaWeb笔记day09<Servlet&GenericServlet&HttpServlet&ServletContext>
1.Servlet概述 2.Servlet接口 3.GenericServlet 4.HttpServlet 5.Servlet细节 6.ServletContext(重要) Servlet概述 生命 ...
- httpServlet,GenericServlet,Servlet源码分析
httpServlet源码: /* * Licensed to the Apache Software Foundation (ASF) under one or more * contribut ...
随机推荐
- rsync+inotify实现文件同步更新(配置)
linux下为了数据安全或者网站同步镜像,不得不考虑一些实时备份的问题,这篇linux下通过rsync+inotify 实现数据实时备份配置过程记录下来,防止遗忘配置过程记录下来,防止遗忘!如有建议技 ...
- So Easy-Ntp嵌入式软件移植
一.导语和准备工作 Ntp是一种对时的软件,对客户端来说我们只要输入ntpdate IP,如ntpdate 192.168.1.254(192.168.1.254是ntp服务器,window电脑激活自 ...
- Windows下检测文件名大小写是否匹配
跨平台开发有一个众所周知,但因为只是偶尔受到困扰,一般人不会在意的问题,就是windows对文件名大小写不敏感,而其他平台对文件名大小写敏感.因此可能出现在windows平台开发时一切正常,但部署/打 ...
- 手机自动化测试:appium源码分析之bootstrap十一
手机自动化测试:appium源码分析之bootstrap十一 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...
- 打印pid,写着玩。
#include <stdio.h> #include <string.h> #include <dirent.h> #include <limits.h&g ...
- Redis基础学习(四)—Redis的持久化
一.概述 Redis的强大性能很大程度上都是因为数据时存在内存中的,然而当Redis重启时,所有存储在内存中的数据将会丢失,所以我们要将内存中的数据持久化. Redis支持两种数据持久化的方 ...
- 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题
本文题目的两个含义: 1.填上次挖的坑,将优化后的软件分享给需要的网友(下载链接附在文末): 还没有看过的网友可以先看看这篇文章: 一个可能让你记忆力飙升的软件 2.这个软件的本质其实就是生成各种填空 ...
- 图解CSS选择器之nth家族
1 nth-last-of-type 顾名思义从最后开始的元素开始选取可接受 数字 关键词 公式 比如4n+0就是每隔四个 odd even关键词表示奇偶数 .classify-item:nth- ...
- CI框架浅析(二)
该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载 ...
- WebGIS中使用ZRender实现前端动态播放轨迹特效的方案
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在地图上以时间轴方式播放人员.车辆在地图上的历史行进 ...