使用filter過濾器進行身份認證
★. 有没有靠谱的净水或纯水设备的厂家,求联系方式!
这要看你要的具体设备是什么了?之前我们工厂新上的一个纯水设备是悦纯的。当时是我负责这块,机器的安装调试都是悦纯工厂亲自来人做的,包括调试、试用、讲解全部都说的很清楚。我感觉他们服务和产品质量都挺好的,有需要你可以联系下,联系方式是 18156052550 (微信同号)
Ⅰ Filter過濾器中指定過濾內容怎麼配置
</filter-mapping> 補充: 如果是過濾servlet,需要把所有servlet的url-pattern設置成相同的後綴或路徑,然後用Filter用統一的parttern過濾。 追問: servlet的這個 是不是需要把每一個的servlet都寫進
<url-pattern>「servlet位置」</url-pattern>? 回答: 每個servlet都要在web.xml里配置,難道有沒配的? 追問: 有~~ 每個都有 就是覺得要是每個都寫一邊那麼會不會造成代碼冗餘
假設servlet的<url-pattern>配置
<url-pattern>/LoginServlet</url-pattern>
<url-pattern>/RegisterServlet</url-pattern>
加入到過濾器的<url-pattern>中
那個後綴的看起來還不錯 具體能給個寫法看寫么? 回答: 比如servlet配置後綴
<url-pattern>/LoginServlet.jspx</url-pattern>
<url-pattern>/RegisterServlet.jspx</url-pattern>那filter<url-pattern>/*.jspx</url-pattern>
再如servlet配置路徑
Ⅱ Filter過濾器中指定過濾內容怎麼配置
servlet的這個 是不是需要把每一個的servlet都寫進
「servlet位置」? 回答: 每個servlet都要在web.xml里配置,難道版有沒配的? 追問: 有~~ 每個都有權 就是覺得要是每個都寫一邊那麼會不會造成代碼冗餘
假設servlet的配置
/LoginServlet
/RegisterServlet
加入到過濾器的中
那個後綴的看起來還不錯 具體能給個寫法看寫么? 回答: 比如servlet配置後綴
/LoginServlet.jspx
/RegisterServlet.jspx那filter/*.jspx再如servlet配置路徑
Ⅲ filter的使用 java 過濾器的幾種使用方法
過濾器
過濾器是處於客戶端與伺服器資源文件之間的一道過濾網,在訪問資源文件之前,通過一系列的過濾器對請求進行修改、判斷等,把不符合規則的請求在中途攔截或修改。也可以對響應進行過濾,攔截或修改響應。
過濾器一般用於登錄許可權驗證、資源訪問許可權控制、敏感詞彙過濾、字元編碼轉換等等操作,便於代碼重用,不必每個servlet中還要進行相應的操作。
Ⅳ 校驗用戶是否登錄過濾器Filter
CheckLoginFilter net.cnki.tpi.cms.util.CheckLoginFilter redirectURL /login.jsp notCheckURLList /error.jsp;/login.jsp CheckLoginFilter /* 2、然後新創建一個CheckLoginFilter.java類,代碼如下:
/** * 校驗用戶是否已登錄過濾器 * @author lpz * */ public class CheckLoginFilter implements Filter { private FilterConfig filterConfig = null; private String redirectURL = null; private List notCheckURLList = new ArrayList(); public CheckLoginFilter() { } public void destroy() { notCheckURLList.clear(); } public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest)servletRequest; HttpServletResponse response = (HttpServletResponse)servletResponse; HttpSession session = request.getSession(); Object userInfo = session.getAttribute("userInfo"); if(!(request) && userInfo==null){ //重定向到指定頁面 response.sendRedirect(request.getContextPath() + redirectURL); }else{ //繼續響應請求 chain.doFilter(servletRequest, servletResponse); } } public void init(FilterConfig fConfig) throws ServletException { this.filterConfig = fConfig; redirectURL = filterConfig.getInitParameter("redirectURL"); String notCheckURLListStr = filterConfig.getInitParameter("notCheckURLList"); if(!MyStringUtil.isNullOrEmpty(notCheckURLListStr)){ //將字元串轉化為list notCheckURLList = MyStringUtil.convStrToList(notCheckURLListStr,";"); } } /** * 校驗當前請求是否在不過濾的列表中 * @param request * @return */ private boolean (HttpServletRequest request) { String uri = request.getServletPath() + (request.getPathInfo() == null ?
Ⅳ filter過濾器需要調用嗎
在AngularJS的世界裡,filter提供了一種格式化數據的方法,Angular也提供給我們了很多內建的過濾器,並且建立自定義過濾器也是相當的簡單
在HTML的模板綁定{{}}中,我們使用 | 來調用過濾器,比如,我們想讓字元串全部大寫字元顯示:
{{ name | uppercase }}
當然了,我們也可以在JavaScript中使用$filter服務來調用過濾器,還拿字元串大寫來舉例:
app.controller('DemoController', ['$scope', '$filter', function($scope, $filter) { $scope.name = $filter('lowercase')('Ari'); }]);
如何傳遞參數到filter呢?只需要把參數放在filter之後,中間加個冒號(如果有多個參數要傳遞,在每個參數後加上冒號)比如,數字過濾器可以幫助我們限制數字的位數,如果想顯示兩位小數,加上number:2就可以了
{{ 123.456789 | number:2 }}
filter過濾器主要用來過濾一個數組數據並返回一個包含子數組數據的新數組。
比如,在客戶端搜索時,我們可以快速的從數組中過濾出我們想要的結果。
這個filter方法接收一個string,object,或者function參數用來選擇/移除數組元素。
下滿我們具體來看:
一,內置的過濾器
1,uppercase,lowercase大小轉換
{{ "lower cap string" | uppercase }} //結果:LOWER CAP STRING {{ "TANK is GOOD" | lowercase }} //結果:tank is good
|這里的豎線是一種管道功能,如果對linux比較熟悉的話,這塊的|根linux的管道功能,基本是一樣的2,json格式化
{{ {foo: "bar", baz: 23} | json }} //結果:{ "foo": "bar", "baz": 23 }
注意:bza沒格式前是沒有雙引號的,格式化後就轉換成了json數據了。
3,date格式化
mysql時間戳 ng-bind="message.time * 1000 | date:'yyyy-mm-dd'"
{{ 1304375948024 | date:'medium'}} //May 03, 2011 06:39:08 PM {{ 1304375948024 | date }} //結果:May 3, 2011 {{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }} //結果:05/03/2011 @ 6:39AM {{ 1304375948024 | date:"yyyy-MM-dd hh:mm:ss" }} //結果:2011-05-03 06:39:08
4,number格式化
{{ 1.234567 | number:1 }} //結果:1.2 {{ 1234567 | number }} //結果:1,234,567
5,currency貨幣格式化
{{ 250 | currency }} //結果:$250.00 {{ 250 | currency:"RMB ¥ " }} //結果:RMB ¥ 250.00
6,filter查找 只能查value,不能查key
{{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:'s'}} //查找含有有s的行 //上例結果:[{"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}] {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:{'name':'ip'} }} //查找name like ip的行 //上例結果:[{"age":20,"id":10,"name":"iphone"}] $filter('number')(30000, 2); var jsonString = $filter('json')({"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}])
7,limitTo字元串,對像的截取
{{ "i love tank" | limitTo:6 }} //結果:i love {{ "i love tank" | limitTo:-4 }} //結果:tank {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | limitTo:1 }} //結果:[{"age":20,"id":10,"name":"iphone"}]
8,orderBy對像排序
{{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id':true }} //根id降序排 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id' }} //根據id升序排 {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:['-age','name'] }}
二,自定filter功能
filter的自定義方式也很簡單,使用mole的filter方法,返回一個函數,該函數接收輸入值,並返回處理後的結果。
app.filter('過濾器名稱',function(){ return function(需要過濾的對象,過濾器參數1,過濾器參數2,...){ //...做一些事情 return 處理後的對象; } });
我找了一個基本angularjs的mvc框架,phonecat,自定義filter也是在這基礎寫的,這個框架挺好用的。
filters.js添加一個mole
angular.mole('tanktest', []).filter('tankreplace', function() { return function(input) { return input.replace(/tank/, "=====") }; });
html中調用
{{ "TANK is GOOD" | lowercase |tankreplace}} //結果:===== is good
注意:| lowercase |tankreplace管道命令可以有多個
yourApp.filter('orderObjectBy', function() { return function(items, field, reverse) { var filtered = []; angular.forEach(items, function(item) { filtered.push(item); }); filtered.sort(function (a, b) { return (a[field] > b[field] ? 1 : -1); }); if(reverse) filtered.reverse(); return filtered; }; });
該過濾器將對象轉換成標準的數組並把它通過您指定欄位排序。您可以使用orderObjectBy過濾器酷似ORDERBY,包括欄位名後一個布爾值,以指定的順序是否應該得到扭轉。換句話說,假的是升序,真正的下降。html調用
<li ng-repeat="item in items | orderObjectBy:'color':true">{{ item.color }}</li>
排序搜索
<input type="text" ng-model="search" class="form-control" placeholder="Search"> <thead> <tr> <!-- ng-class="{dropup:true}" --> <th ng-click="changeOrder('id')" ng-class="{dropup: order === ''}"> 產品編號 <span ng-class="{orderColor: orderType === 'id'}" class="caret"></span> </th> <th ng-click="changeOrder('name')" ng-class="{dropup: order === ''}"> 產品名稱 <span ng-class="{orderColor: orderType === 'name'}" class="caret"></span> </th> <th ng-click="changeOrder('price')" ng-class="{dropup: order === ''}"> 產品價格 <span ng-class="{orderColor: orderType === 'price'}" class="caret"></span> </th> </tr> </thead> <tbody> <tr ng-repeat="item in proctData | filter: search | orderBy:order + orderType"> <td>{{item.id}}</td> <td>{{item.name}}</td> <td>{{item.price | currency: '¥'}}</td> </tr> </tbody>
angularjs
//默認排序欄位 $scope.orderType = 'id'; $scope.order = '-'; $scope.changeOrder = function(type) { console.log(type); $scope.orderType = type; if ($scope.order === '') { $scope.order = '-'; }else{ $scope.order = ''; } }
Ⅵ filter過濾器是如何被訪問的
在web.xml里
用於指定Filter關聯的url樣式或者Servlet。
•<filter-name>子元素的值必須是在<filter>元素中聲明過的Filter的名字。
•<url-pattern>元素指定Filter關聯的URL樣式。
•<servlet-name>元素指定Filter對應的Servlet。
<url-pattern>元素和<servlet-name>元素可以選擇一個;用戶在訪問<url-pattern>元素指定的URL上的資源或<servlet-name>元素指定的Servlet時,該Filter才會被容器調用。
比如
<filter-mapping>
<filter-name>RightFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
表示任何的url要先經過過濾,然後再給url處理
<filter-mapping>
<filter-name>RightFilter</filter-name>
<url-pattern>/login</url-pattern>
</filter-mapping>
每次輸入login地址的時候會過濾,然後再處理login
Ⅶ java web中的filter許可權過濾問題
是login.jsp被嵌入到iframe里吧?三種解決方案:
首頁菜單欄就做許可權控制,沒有許可權的菜單不展示
需要專許可權的菜單點擊時先屬ajax請求後台判斷許可權,許可權通過了再載入頁面到iframe,否則頁面重定向到登錄頁
登錄頁加入js判斷該頁面是否處於iframe中,如果是則重寫parent.location到登錄頁
Ⅷ 如何用Filter實現對注冊用戶是否登錄的過濾
下面是我從前寫的項目里用的用戶過濾。供你參考。你可以去www.mldn.cn上看看,那兒有過濾器的視頻教程。
package filter;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.* ;
//對用戶是否登錄進行過濾
public class UserFilter implements Filter
{
//過濾器初始化
public void init(FilterConfig filterConfig) throws ServletException
{
}
//實現Filter介面主方法
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws ServletException,IOException
{
response.setContentType("text/html ;charset=GBK");
request.setCharacterEncoding("GBK");
PrintWriter out=response.getWriter();
HttpServletRequest req=(HttpServletRequest)request;
HttpSession session=req.getSession();
//System.out.println(session.getAttribute("user"));
//user是用戶登錄後session.setAtrribute("user",×××)中的user
if(session.getAttribute("user")!=null){
chain.doFilter(request, response);
}
else{//未登錄,後退
out.println("<script language='javascript'>alert('你還未登錄');");
out.println("history.go(-1);</script>");
}
}
//過濾器銷毀
public void destroy(){}
}
Ⅸ Filter過濾器中指定過濾內容怎麼配置
你的問題好像是只需要Filter處理jsp的請求,只要改web.xml里Filter配置就可以。url-pattern別給/*,給/.jsp,如果回需要過濾多種文件答請求,可以再增加filter-mapping,每個的url-pattern對應一種文件。
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>
Ⅹ 不明白Filter過濾器怎麼用,大家幫幫我
我來給你簡單的說一下吧:)
首先要明確。Filter是JSP2.0裡面的東西 ,顧名思義,也就是過濾器的意思
和你說說如何用吧。要用Filter就得在web.xml中配置
例:
//配置方法和配置普通的Servlet一樣的哦
<filter>
<filter-name>PrivFilter</filter-name>
<filter-class>com.myPriv.filter.PrivFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrivFilter</filter-name>
<url-pattern>/resource/*</url-pattern>
</filter-mapping>
//com.myPriv.filter.PrivFilter是這個過濾器所在的位置。當然這個過濾器必須實現介面javax.servlet.Filter。
然後就可以在過濾器這個介面方法中增加過濾條件了
public void doFilter(ServletRequset request, ServletResponse response,FilterChain chain)
thows ServletException, IOException{
}
然後你可以把過濾條件寫出來,寫在doFilter方法裡面
我這里寫一個簡單的例子:
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session=request.getSession();
ServletContext application=session.getServletContext();
if(session.getAttribute("userSession")==null)
{
response.sendRedirect("error/priv_error.jsp");
return;
}
else
{
chain.doFilter(request, response);
}
}
在上面的這個過濾方法中,如果session.getAttribute("userSession")==null)那就跳轉到錯誤頁面。如果不為空,則繼續
所以
chain.doFilter(request, response);的意思就是跳轉到下個頁面,
明白了吧?
如果還有不明白。,可以留下你的問題
------------------------
還有忘了回答你的問題 了。java會在處理每一個Servlet時都走一次Filter的。所以你不必擔心你的過濾不起作用了
而且chain.doFilter(request.response);
是必須的。沒有他,程序就不會繼續了:)他是讓你的request和response繼續運行哦
--------------------------------
這個你就可接寫/*
好了。它是說對哪些范圍起作里這個過濾器