欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java filter直接返回json

李中冰1年前7瀏覽0評論

Java Filter是Java Web應用程序中一個很有用的工具,能夠在請求到達目標servlet之前或響應返回客戶端之前,對HTTP請求和響應進行攔截和處理。我們可以通過在Web.xml配置文件中指定自己的filter,為請求和響應添加各種處理器,以便實現很多功能,如:登錄控制、IP限制、參數修正等等。

有時候,我們需要讓Filter直接返回JSON數據給前端。這時候,我們可以使用OutputStream,把JSON字符串輸出到response中,告訴瀏覽器直接渲染這個JSON。下面就是一個簡單的例子:

public class JSONFilter implements Filter{
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
//假設需要傳回的JSON數據為{"id":1,"name":"Tom"}        
String jsonData = "{\"id\":1,\"name\":\"Tom\"}";
//設置Content-Type
response.setContentType("application/json;charset=utf-8");
//使用OutputStream向客戶端輸出JSON數據
OutputStream out = response.getOutputStream();
out.write(jsonData.getBytes("UTF-8"));
out.flush();
//結束Filter
return;
}
public void init(FilterConfig filterConfig) throws ServletException {
}
public void destroy() {
}
}

在Web.xml配置文件中指定JSONFilter:

<filter>
<filter-name>jsonFilter</filter-name>
<filter-class>com.example.filter.JSONFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>jsonFilter</filter-name>
<url-pattern>/json/*</url-pattern>
</filter-mapping>

這樣,當用戶請求http://yourdomain.com/json/時,JSONFilter會被觸發,直接通過OutputStream返回JSON數據給前端。