推 maxsho: 如果有用到web.xml作設定,要記得在xml加入filter相關設定 07/01 14:24
→ maxsho: 也可能是filter有寫錯 07/01 14:24
目前的發現是
網頁從來沒有離開filter
也就是login.jsp送出後又跳回filter
連servlet都沒有執行
另外附上web.xml
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>org.hello.hw5.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/HW5/LoginServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>org.hello.hw5.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/HW5/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
※ 編輯: zelkova (218.161.45.91), 07/01/2017 15:21:32
推 kniver999: 看起來像是jsp送出去之後就被filter攔截掉了,還沒跑到 07/01 15:28
→ kniver999: 登入的Servlet,所以getAttribute拿到的永遠是null 07/01 15:29
→ kniver999: 我印象中如果在annotation和web.xml都有定義同樣的 07/01 15:31
→ kniver999: Servlet/Filter的話,會以xml的設定為優先 07/01 15:31
→ ssccg: 把login放在別的路徑,不會被filter的pattern抓到 07/01 15:36
→ ssccg: 只有要檢查登入的網頁才放在filter的path下啊 07/01 15:36
推 kniver999: 另外filter裡面的requestURI會吃到的是Servlet而非jsp 07/01 15:49
→ kniver999: 可以在filter裡面把幾個關鍵的部分用console印出來看看 07/01 15:49
感謝各位大大
把login跟其他網頁分開放
然後再調整一些位置參數
已經正常運作!
※ 編輯: zelkova (218.161.45.91), 07/01/2017 16:41:53