代码演示怎样从非servlet类中获取该方法所需的请求private String getRequestSource(HttpServletRequest request) { String source = request.getHeader("Referer"); // 从请求头中获取来源信息 if (source == null || source.isEmpty()) { source = request.getParameter("source"); // 从请求参数中获取来源信息 } return source; }
时间: 2024-03-05 07:53:04 浏览: 326
如果要从非Servlet类中获取HttpServletRequest对象并调用getRequestSource()方法,可以通过传入HttpServletRequest对象作为参数来实现。例如:
```
import javax.servlet.http.HttpServletRequest;
public class MyUtils {
public static String getSourceFromRequest(HttpServletRequest request) {
String source = request.getHeader("Referer"); // 从请求头中获取来源信息
if (source == null || source.isEmpty()) {
source = request.getParameter("source"); // 从请求参数中获取来源信息
}
return source;
}
}
```
在非Servlet类中,定义一个静态方法getSourceFromRequest(),接受一个HttpServletRequest对象作为参数。在方法中,调用getRequestSource()方法获取请求的来源信息,最后返回获取到的来源信息。在Servlet中调用时可以这样:
```
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String source = MyUtils.getSourceFromRequest(request);
// 处理获取到的来源信息
}
}
```
在Servlet中直接调用MyUtils.getSourceFromRequest()方法,并将HttpServletRequest对象作为参数传入即可。
阅读全文