对 Servlet 的改进】的更多相关文章

通过上一篇博客:Servlet 的详解 http://www.cnblogs.com/ysocean/p/6912191.html,我们大致知道了 Servlet 的基本用法.但是稍微分析一下 Servlet 的用法,我们还是发现其存在很多缺点: ①.一个请求对应一个 Servlet,即每一个请求我们都需要在 web.xml 文件中配置映射.如果项目大,请求很多,那么会造成 web.xml 很大,很难维护. ②.即便在好几个请求对应一个 Servlet,即在 service() 方法中,通过 i…
通过上一篇博客:Servlet 的详解 http://www.cnblogs.com/ysocean/p/6912191.html,我们大致知道了 Servlet 的基本用法.但是稍微分析一下 Servlet 的用法,我们还是发现其存在很多缺点: ①.一个请求对应一个 Servlet,即每一个请求我们都需要在 web.xml 文件中配置映射.如果项目大,请求很多,那么会造成 web.xml 很大,很难维护. ②.即便在好几个请求对应一个 Servlet,即在 service() 方法中,通过 i…
概念genericservlet是个抽象的父类,必须给出子类才能实例化它.它给出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字.配置.初始化参数的方法,其设计的是和应用层协议无关的,也就是说你有可能用非http协议实现它(其实目前Java Servlet还是只有Http一种). 该类实现了Servlet, ServletConfig,接口,所以解决了使用Servlet类时必须要实现Servlet的所有方法这个问题,使用Servlet时可以继承genericServ…
HttpServlet:针对Http协议定义的一个Servlet基类,唯一的功能就是强制类型转换ServletRequest转换成HttpServletRequest,ServletResponse转换成HttpServletResponse,HttpServlet继承自GenericServlet,而GenericServlet实现了Servlet接口和ServletConfig接口.也就是说编写Servlet类不需要直接实现Servlet类,去继承HttpServlet就行. 好处: 不会产…
第一步改进,GenericServlet: 我们目前所有放入Servlet类直接实现了javax.servlet.Servlet接口,但是这个接口中有很多方法是目前不需要的,我们可能只需要编写service.直接实现Servlet接口代码丑陋,有必要在中间添加一个适配器,以后所有的Servlet类不再直接实现Servlet接口,应该去继承适配器类. 适配器除了可以让代码优雅之外,我们还可以在适配器中提供大量的方法,子类继承之后,可以在子类中直接使用,方便编程. 自己使用缺省适配器设计模式实现的G…
笔记六中实现了三种过滤器:字符编码过滤.登录权限过滤.敏感词过滤,可是有个缺陷就是,限定了过滤顺序,而不能实现先进行request过滤.最后response过滤,而且中间几项过滤的顺序不能动态改变.所以这里做个改进.实现一个过滤顺序的FilterChain. 多个Filter的运行顺序在这篇博文中得到非常细致的解说,总结一点.多个过滤器的运行顺序是依据web.xml中不同<filter-mapping>的顺序来先后运行的,比方: <?xml version="1.0"…
一.关于Servlet 在上一篇随笔中,我们看到了CGI存在的不足,其每次请求都需加载和运行一个CGI程序.若使用Java编写CGI程序,需要为每个请求都启动一个系统进程以及JVM,其执行效率大大降低.如果有办法取消这些开销,即只需要启动一个系统进程以及一个JVM映像,基于Java的CGI就能得到很好的改善. Servlet就基于这种想法产生了,利用Java运行时可动态加载来处理新的请求,只需要启动一次服务器进程,只加载一次JVM,之后这个JVM再动态加载另外的类.其执行效率比传统CGI快得多了…
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,stru…
登录注册界面 这是一个注册和登录的界面 用到了前端页面中自带的一点H5的标签和属性---巩固下 邮箱格式 :type="email"  不能为空:  required="required" js 添加提示语句 : document.getElementById("agree").setCustomValidity("需同意协议"); 这是一个判断是否有重复用户的js  这表单中添加onsubmit事件  onsubmit=&q…
1.JVM内存模型相关概念 2.Java多线程并发深入理解 3.Servlet.设计模式.SpringMVC深入理解 4.Java基础遗漏点补充 数据库连接池:JDBC connection pool,频繁的建立.关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈.连接复用.通过建立一个数据库连接池以及一些管理方法,使得一个数据库连接可以得到高效.安全的复用,避免了数据库连接频繁建立.关闭的开销.对于共享资源,有一个很著名的设计模式:资源池.该模式正是为了解决资源频繁分配.释…