含义
servlet 是用来扩展web服务器功能的组件规范,可以实现请求某个功能并响应一个动态页面,而不仅仅是静态页面了。
编写
写一个java类,实现servlet接口或者继承httpservlet重写service方法,在service中写业务逻辑,
编写servlet需要注意中文的编码问题,因为web服务器默认是采取iso-8859-1来编码的,我们需要设置在接受数据和发送数据时设置一下约定好的编码格式
通过reques对象来获取数据,通过response对象来封装响应内容。
配置
在web.xml中配置好servlet的路径和类的对应关系,这样web服务器调用的时候就根据路径来调用相对应的servlet。
生命周期
servlet 1.调用构造器实例化 2.调用init函数(只调用一次) 3.调用service函数 4.调用destory函数(只调用一次)然后销毁
servlet只有一个实例除非容器关闭 才会销毁,因此存在线程安全问题
异常
servlet可以抛出servletException让容器来处理
<!-- 配置异常处理页面 --> <error-page> <exception-type>javax.servlet.ServletException</exception-type> <location>/error.jsp</location> </error-page>
过滤器
是在请求调用servlet之前先调用过滤器来进行拦截处理
step1.写一个java类,实现Filter接口。
step2.在doFilter方法里面,实现拦截处理逻辑。
step3.配置过滤器。(web.xml)
FilterChain(过滤器链):
如果调用了该对象的doFilter方法,表示继续向后调用;否则,中断请求,返回处理结果。
监听器
step1.写一个java类,依据监听的事件类型选择实现相应的 监听器接口。
step2.在接口方法当中,实现监听处理逻辑。
step3.配置监听器。(web.xml)
jsp 是动态页面技术规范,内容包括html和java代码 ,但是本质上jsp就是一个servlet,web容器最终会将jsp转化为servlet
html(css,js) ----> 在service方法里面,使用 out.write输出。 <% %> ----> 在service方法里面,照搬。 <%= %> ----> 在service方法里面,使用 out.print输出。 <%! %> ----> 添加新的属性或者方法。
注:dao里面封装了数据库访问的方法,增删改查,一般在service层调用
DButils封装了获取数据库连接和关闭连接的方法,一般在dao中调用
转载于:https://blog.51cto.com/10972685/2352113