servlet 如何判断是哪个网页提交的请求

2024-12-18 21:58:45
推荐回答(5个)
回答1:

你对底层传输不了解

你该看看HTTP协议。web不管客户端发送请求消息,还是服务端响应消息都是遵循HTTP协议

发送请求消息和响应消息都有相应的规定具体不介绍。。

看哪个网页提交的请求应看

HTTP协议的请求消息的消息头Referer 这个属性

例  Referer:HTTP://localhost/link.jsp

意思是从本地的link.jsp请求的

应注意:请求消息的消息头是可选的,意思是可发送也可以不发送

而且很容易改

回答2:

在你编写的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);

}
你想问的是这个吗?
请参考

回答3:

request.getMethod()(获得请求提交方式)
request.getRequestURI()(获得请求URL资源相对WEB路径)request.getRequestURL()(获得请求URL资源绝对路径)request.getQueryString()(获得URL查询字符串)
request.getProtocol()(获得HTTP协议名和版本)
request.getContextPath()(获的上下文路径)
request.getServletPath()(获得Servlet映射路径)。
或许能找到你想要的

回答4:

通过request对象可以获得请求头部信息,头部信息的referer属性可以作为请求来源的参考,但是不一定准确,因为很容易可以修改

回答5:

比如你提交一个表单里面都会有个action


然后你提交后 这个ACTION会找到 你写好的程序里含有ACTION的程序类里面进行处理