web項目為什么點擊注冊按鈕跳轉不到注冊頁面?


    先對文章問題進行說明:我從網上弄了一個web項目,但是登錄頁面沒有注冊的功能!索性自己編寫注冊的功能!

  代碼並沒有錯誤,但是點擊的時候並沒有跳到注冊頁面,而是一直在登錄界面上跳轉。郁悶了很久才發現是被攔截器攔截住了!(還是對別人的項目不了解所至)  


 

  下面來對問題做深入的講解!

  一開始我的登陸了頁面只有登錄的按鈕,並沒有注冊按鈕

於是我在登錄頁面上填寫了注冊的按鈕(注冊按鈕不是鏈接!)

Login.jsp

 1 <center>
 2     <h1>用戶登錄</h1>
 3         <form action="${pageContext.request.contextPath }/login.action">
 4             <table>
 5                 <tr><td>用戶賬號:<input type="text" name="usercode" /></td></tr>
 6                 <tr><td>用戶密碼 :<input type="password" name="password" /></td></tr>
 7                 <tr>
 8                     <td><input type="submit" value="登陸"/>
 9                     <a href="${pageContext.request.contextPath }/registerUser.action">注冊</a></td>
10                 </tr>
11             </table>
12         </form>
13     </center>

 通過點擊注冊按鈕,觸發controller的接口,來完成跳轉!

Controller類的接口

1     
2     @RequestMapping("/registerUser")
3     public String register(){
4         return "register";
5     }
6     

 

 然后通過該方法去訪問register.jsp頁面來完成頁面的跳轉。jsp頁面也是存在的

 

 

流程就是上面的流程!可是不知道為什么我的注冊按鈕就是不能用!代碼也不報錯!找了好久也沒找到問題所在。無意中想到了攔截器!

對!肯定是攔截器把所有的頁面都攔截了,只要是沒有登錄,所有的頁面都給你攔截掉!所以導致我連注冊頁面都點不開!

攔截器的代碼如下:

1     <!--攔截器 -->
2     <mvc:interceptors>
3          <mvc:interceptor>
4              <mvc:mapping path="/**" />
6             <bean class="cn.itcast.ssm.controller.interceptor.LoginInterceptor"></bean>
7         </mvc:interceptor>
8     </mvc:interceptors> 

 

從代碼中可以看出攔截器確實把所有的頁面都攔截了!

 

 

問題找到了就方便多了!

 

下面來解決這個問題!

去網上百度了如何讓攔截器不攔截特定的URL,網上給出了一種辦法:

 

1 <!--攔截器 -->
2     <mvc:interceptors>
3          <mvc:interceptor>
4             <mvc:mapping path="/" />
5             <mvc:mapping path="/login/**" />
6             <bean class="cn.itcast.ssm.controller.interceptor.LoginInterceptor"></bean>
7         </mvc:interceptor>
8     </mvc:interceptors> 

 

 這樣的話,攔截器就只會攔截登錄相關的頁面,注冊的頁面就可以正常訪問了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM