您的位置:首页 > 其它

servlet和Filter的区别

2017-09-30 10:39 357 查看
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中
                                    
                                                                       
                                                                 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web.xml servlet