你对底层传输不了解
你该看看HTTP协议。web不管客户端发送请求消息,还是服务端响应消息都是遵循HTTP协议
发送请求消息和响应消息都有相应的规定具体不介绍。。
看哪个网页提交的请求应看
HTTP协议的请求消息的消息头Referer 这个属性
例 Referer:HTTP://localhost/link.jsp
意思是从本地的link.jsp请求的
应注意:请求消息的消息头是可选的,意思是可发送也可以不发送
而且很容易改
在你编写的Servlet类里面有一个doGet和doPost方法,举个例子:
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
response.setContentType("text/html");
response.setCharacterEncoding("gb2312");
String username=request.getParameter("name");//其中name就是你页面传递过来的参数名称,它的值就存储在String变量username里面了。同样若是通过post方式传递数据的话,只需要在doPost方法里面调用这个doGet方法就行了。如下:
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
doGet(request,response);
}
你想问的是这个吗?
请参考
request.getMethod()(获得请求提交方式)
request.getRequestURI()(获得请求URL资源相对WEB路径)request.getRequestURL()(获得请求URL资源绝对路径)request.getQueryString()(获得URL查询字符串)
request.getProtocol()(获得HTTP协议名和版本)
request.getContextPath()(获的上下文路径)
request.getServletPath()(获得Servlet映射路径)。
或许能找到你想要的
通过request对象可以获得请求头部信息,头部信息的referer属性可以作为请求来源的参考,但是不一定准确,因为很容易可以修改
比如你提交一个表单里面都会有个action