Java Web 基础

HttpServletRequest

具体的几种方法
①request.getRequestURL();//获取除参数以外的所有路径
②request.getRequestURI();//获取除参数以及域名以外的所有路径
③request.getQueryString();/获取参数字符串
④request.getMethod();//获取请求方式
⑤request.getProtocol();//获取当前协议版本
以http://www.baidu.com/aa/ssss?name=ice为例
获取请求时的完整路径:Srting url= request.getRequestURL()+"";
结果		http://www.baidu.com/aa/ssss
获取请求时的部分路径:String uri=request.getRequestURI();
结果		/aa/ssss
获取请求时的参数字符串:String queryString=request.getQueryString();
结果		name=ice
获取请求方式:Srting method=request.getMethod();
结果		GET/POST/PUT/DELETE
获取当前协议版本:String protocol=request.getProtocol()
结果		HTTP/1.1
获取项目站点名:String webapp=request.getContextPath()
结果		/aa (这个看Tomcat的配置)

获取请求参数:request.getParmater("name")
获取请求同一参数的所有值(复选框传值):request.getParmaterValues("name")
————————————————
链接:https://blog.csdn.net/qq_33942040/article/details/126426627
转发 与 重定向

转发跳转
request.getRequestDispatcher(“/jsp/index.jsp”).forward(request, response);
重定向
response.sendRedirect(“//jsp/index.jsp”);

简述Cookie和Session的区别
1、区别是:cookie数据保存在客户端,session数据保存在服务器端。
2、两个都可以用来存私密的东西,同样也都有有效期的说法,Session是放在服务器上的,过期与否取决于服务期的设定,Cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。 
    (1)cookie数据存放在客户的浏览器上,session数据放在服务器上 ;
    (2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,如果主要考虑到安全应当使用session;
    (3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE ;
    (4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K;
    (5)所以将登陆信息等重要信息存放为Session;其他信息如果需要保留,可以放在COOKIE中。
3、cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。
4、cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。
5、ession其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。

过滤器 和 拦截器

1.3 什么是过滤器

过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:
①以常规的方式调用资源(即,调用servlet或JSP页面)。
②利用修改过的请求信息调用资源。
③调用资源,但在发送响应到客户机前对其进行修改。
④阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。

1.4 Servlet过滤器的基本原理

在Servlet作为过滤器使用时,它可以对客户的请求进行处理。处理完成后,它会交给下一个过滤器处理,这样,客户的请求在过滤链里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改的注册信息”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话是否有效;对提交的数据进行统一编码。这两项工作可以在由两个过滤器搜索组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。

拦截器与过滤器的区别

http://www.bubuko.com/infodetail-3079641.html

1. 拦截器是基于java的反射机制的,而过滤器是基于函数回调。
2. 拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
3. 拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
4. 拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
5. 在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次


(0)过滤器是J2EE标准,是在请求之前进入容器之后,还未进入Servlet之前进行预处理。而拦截器是被包裹在过滤器之中的。
(1)Filter需要在web.xml中配置,依赖于容器;Interceptor在SpringMVC中配置,依赖于框架;
(2)拦截器(Interceptor)是基于Java的反射机制,而过滤器(Filter)是基于函数回调。
(3)Filter的执行顺序在Interceptor之前。在Action生命周期中,拦截器可以被多次调用;而过滤器只能在容器初始化时执行一次。
(4)过滤器和拦截器的底层都是一样的,就是分了不同的功能实现,一个是拦截所有,一个是拦截具体的url;并且拦截器可以拦截静态资源。
(5)拦截器可以访问Action上下文,值栈里面的对象;过滤器不可以。拦截器可以获取IOC容器的各个bean,过滤器不行。

其他区别:
(1)从灵活性上说拦截器功能更强大些,Filter能做的事情,都能做,而且可以在请求前,请求后执行,比较灵活。
(2)Filter主要是针对URL地址做一个编码的事情、过滤掉没用的参数、安全校验(比如登录不登录之类),太细的话,还是建议用interceptor。不过还是根据不同情况选择合适的。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值