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

这里主要提取出访问头中的信息,进行拦截。

主要是对访问者的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="

看点广告

"; } else { if (refer.contains("helloWeb_mine")){ str=""; } else { str="

要先访问主页

"; } } out.println(str); } }

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

index.jsp中是这样写的:

查看图片
web.xml中这样写的:

    ShowPicServlet
    cn.hncu.img.ShowPicServlet
  


    ShowPicServlet
    /pic
  



你可能感兴趣的:(Javaee)