您的位置:首页 > 理论基础 > 计算机网络

HTTP访问请求信息提取及权限

2016-08-07 23:46 169 查看
这里主要提取出访问头中的信息,进行拦截。

主要是对访问者的request进行操作

如下:

package cn.hncu.img;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ShowPicServlet implements Servlet {

@Override
public void destroy() {
}

@Override
public ServletConfig getServletConfig() {
return null;
}

@Override
public String getServletInfo() {
return null;
}

@Override
public void init(ServletConfig config) throws ServletException {
}

@Override
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
HttpServletRequest request=(HttpServletRequest) req;
HttpServletResponse response=(HttpServletResponse) res;
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();

String refer=request.getHeader("Referer");
String str="";
if (refer==null){
str="<h1>看点广告</h1>";
} else {
if (refer.contains("helloWeb_mine")){
str="<img src='imgs/1.jpg'/>";
} else {
str="<h1>要先访问主页<h1>";
}
}
out.println(str);
}

}

若是直接在浏览器中输入想要访问的网页的地址而不是通过主页访问的话那么refer就会是空的。refer中能够包含请求方的信息,包括是从什么地方访问过来的。

index.jsp中是这样写的:

<a href="pic">查看图片</a>
web.xml中这样写的:
<servlet>
<servlet-name>ShowPicServlet</servlet-name>
<servlet-class>cn.hncu.img.ShowPicServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>ShowPicServlet</servlet-name>
<url-pattern>/pic</url-pattern>
</servlet-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet Referer
相关文章推荐