Servlet 处理请求资源路径

1、注册Servlet的访问路径

精确匹配(名称)

a、给Servlet取唯一的一个访问名,只能通过该访问名访问这个Servlet
b、特征:比较直观,但是比较麻烦
c、举例
查询员工:/findEmp
删除员工:/deleteEmp
新增员工:/addEmp

通配符(/*)

a、任何请求都可以访问这个Servlet
b、特征:可以使用一个Servlet处理项目中的所有请求
从而达到简化Servlet注册的目的
c、举例:ActionServlet —》/*
所有的请求都交给actionServlet

后缀(*.abc)

a、带有“abc”后缀的请求都可以访问此Servlet
b、特点:每一个模块单独使用一个Servlet处理业务,用后缀区分模块
c、举例
员工模块(增删改查员工)
EmpServlet——>.emp
部门模块(增删改查)
DeptServlet——>
.dept
注意此方案也可以写成一个Servlet处理所有请求
即将所有请求当成一个模块
ActionServlet——>*.do

2、项目中的做法

在项目中,为了减少web.xml的配置,通常会使用一个Servlet处理所有请求
a、参考SpringMVC框架的做法
Servlet——>*.do
即采用第三种方案(后缀)处理所有请求

b、参考Struts2框架的做法
Filter(类似于Servlet)——?/*
采用第二种方案(通配符)处理所有请求

c、注意:
①在这种方案下写Servlet,一个Servlet处理全部请求
那么必须事先约定哪个功能对应哪个请求,然后此Servlet才能遵循这个约定处理业务
②开发之前必须完成这些约定(开发规范)

3、重构emp项目

a、目标:使用一个Servlet处理所有的请求
b、规范:
所有的请求后缀都是.do结尾
员工模块 :查询findEmp.do
保存:saveEmp.do
删除deleteEmp.do
部门模块
查询:findDept.do
保存:saveDept.do

DAO

什么是DAO

data access object,封装了数据访问逻辑,调用者(一般是业务逻辑模块 )不需要了解底层的数据访问细节就可以实现数据访问,这样一来,当底层的数据访问细节发生改变时,不会影响到调用者

EmpDaoJ dao=new EmpDaoJ()
EmpDaoH dao=new EmpDaoH()

如何写一个DAO
a、实体类
为了方便处理数据库中的记录,可以定义与记录对应的实体类,既可以讲数据库中的记录转成一个实体类的实例
比如Emp类,提供了id name salary age属性以及相关的get set方法,我们可以将t_emp表中的记录转换成一个Emp对象

b、dao接口
申明一些数据访问方法,这些方法不要涉及具体技术,
如:public void save(Emp e) throws SQLException;
SQLException是JDBC 中出现的异常,他涉及到了具体的技术Jdbc
可以改成:public void save(Emp e)throws Exception;

dao的实现类
采用具体的技术dao接口
如使用jdbc实现dao接口EmpdapjdbcImpl

dao工厂(工厂模式)
工厂类,封装了对象创建的细节,为调用者提供方护额要求 的对象

重构emp项目

1、定义接口EmpDao
2、援用的EmpDao改成EmpDaoJdbcImpl,并实现Empdao接口
3、修改Servlet中的dao

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,026评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,277评论 0 11
  • 0 系列目录# WEB请求处理 WEB请求处理一:浏览器请求发起处理 WEB请求处理二:Nginx请求反向代理 本...
    七寸知架构阅读 14,754评论 22 190
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,726评论 19 139
  • 这两天写日记又回到以前刚开始的感觉了,半天敲不出一个字,怎么落笔都觉得不对,莫非回光返照了? 三天不练手生,你别说...
    土川兄一终身建设阅读 2,629评论 0 2