servlet和Filter的区别

本文介绍如何在Web项目中配置主页、Servlet与Filter,并详细解释了web.xml文件的配置细节及Servlet的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建一个dw工程,注意需要生成一个web.xml,如果没有生产web.xml,侧可以拷贝其他工程的web.xml使用,如果都没有,

tomcate下找一个web.xml使用

2、web.xml配置:1、主页的配置:<welcome-file-list></welcome-file-list>

                                         a、配置需要寻找的主页,使用子标签<welcome-file></welcome-file>标签内容使用自己设置的主页

                                  2、servlet配置<servlet></servlet>

                                        a、<servlet-name>随便起</servlet-name>

                                        b、<servlet-class>类的全名</servlet-class>

                                        *c、<load-on-startup>1</load-on-startup> 表示系统启动时就创建对象,详细参考servlet生命周期

                                        *d、<init-param></init-param>启动类初始化的时候可以传递进servlet初始化参数

                                   3、Filter配置<filter></filter>

                                         a、<filter-name></filter-name>同servlet

                                         b、<filter-class>类的全名</filetr-class>

                                        * c、不用《load-on-startup>本来就系统启动时启动

                                         *d、使用最多的场景<init-param></init-param>

                                    4、mapping配置:<servlet-mapping></servlet-mapping>

                                                                     <Filter-mapping></Filetr-mapping>

                                                                    分别配置<servlet-name>和<filter-name>

                                                                   都需要配置: <url-pattern>,一般servlet需要配置很明确的一个点,而filter需要配置

                                                                   具有相似名字的所有请求

                     Servlet   1、导包

                                    拷贝tomacte->lib-servlet-api.jar到工程下的->web-content-web-InF->lib

                                    以后所有需要导入的包,都可以直接拷贝到web-INF的lib

                                    2、创建一个servlet ,让其继承httpservlet,重写doGet和doPost等方法,*如果需要通过servelt配置系统变量,则需要重写

                                    init方法。

     具体使用到的小技术的:1、获取参数是,使用的是HttpServletRequest中的getParameter方法

                                                  2、中文乱码可resp.setContentType解决

                                                  3、向前端页面写内容,分为3中办法,如果是ajax我们一般使用resp.getWriter().println("内容");     

                                                  ajax收到的是字符串

                                                           JSONArray:数组形式展示内容,格式是[对象,对象,对象,对象]        (字符串,数字、JSONArray,JSONObject)

                                                           JSONObject:对象形式展示内容{key:value,key:value}    

                                                        如果是form表单我们 req.getRequestDispatcher("路径").forward(req,resp);   这叫由服务器转发

                                                        特点:a、浏览器只发送一条请求。b、地址栏显示的内容就是请求的接口

                                                                    c、HTTP状态码,只有一个200

                                                                2、resp.sendredirest("路径");有服务器通知浏览器重定向,游浏览器发送一个请求。

                                                                      a、浏览器请求两次,地址栏显示最终内容所在地址,http码先收到302,在发送请求收到的是200(成功),

                                                                3、使用resp.getWriter().println("");先写一个HTML页面,这个页面并不存在于系统当中。

                                                                     当没有访问系统是都不存在这么一个页面   JSP

      Servlet的配置:

       web.xml方式,请参考web.xml配置部分

       注解方式配置:1、只能配置在一个继承了httpservelt的类的上面

                                   2、配置方式:webServlet("url-pattern"),器默认是赋值个url-pattern,其最终原理还是体现在一个web.xml中

                                    

                                                                       

                                                                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞腾创客

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值