这篇文章将为大家详细讲解有关使用HttpServletRequest对象的作用有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在科尔沁左翼等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、做网站 网站设计制作按需定制设计,公司网站建设,企业网站建设,品牌网站制作,成都全网营销推广,成都外贸网站制作,科尔沁左翼网站建设费用合理。
使用HttpServletRequest可以防止盗链行为,什么是盗链行为,比如说在一个别的网站上超链接,指向我们的网页中的某个数据,这样从他的网页上就可以直接进入到我的某个页面,无需从我的指定路口进入:
例如在一个简单的1.html文件中加入了我的【myservlet】web应用下的某个Servlet访问的超链接:
如果我的Servlet中代码仅仅为为访问输出数据,例如:
response.setContentType("text/html;charset=utf-8"); String data ="银魂真是一部好动漫"; response.getWriter().write(data);
那么点击这个超链接肯定会访问到这个Servlet:
那么我们如果不想被比人直接通过地址访问或者超链接访问怎么办呢:
记得学习HTTP协议中的“referer”请求头吗,这个请求头是告诉服务器该请求是从哪个URL发来的,那么我们就可以根据这个URL来判断是否是我们允许的请求地址来控制服务器是否将响应发送回去。
代码如下:
String reqUrl = request.getHeader("referer"); if(reqUrl==null || !reqUrl.startsWith("http://localhost:8080/myservlet/index.jsp")){ response.sendRedirect("/myservlet/index.jsp"); return ; } response.setContentType("text/html;charset=utf-8"); String data ="银魂真是一部好动漫"; response.getWriter().write(data);
在if判断中判断是否为空是防止直接将该web资源以输入URL地址直接访问,而另一个判断是防止访问该web资源不是从指定的地方来访问进来。
通过该代码,如果我们继续在1.html页面中点击超链接,则会自动跳转到我们设置好的index.jsp中:
而如果我们直接在浏览器中访问Servlet也是会跳到这个页面的。
只有在index.jsp中点击我们设置好的超链接,才能访问到:
接下来,我们来讨论的使用HttpServletRequest响应对象来获取表单数据,这是非常重要的知识点,表单提交的数据根据提交方式的不同会放置在不同位置,例如采用POST方式则会将这些数据放置在HTTP请求数据实体中,无论采用哪种方式,都是可以用响应对象的getParameter(String)等等方式获取,这点在《Servlet的学习(十)》中已经介绍。
现在,我们在需要新创建一个HTML页面编写我们的表单代码,和一个Servlet作为服务器端接收表单提交的数据,将Servlet命名为ServletRequest,而表单的传送服务器和选择HTTP方式如下: