亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 在struts2中使用攔截器(interceptor)控制登錄和權限.txt

?? 在jsp servlet中我們通常使用Servlet Filter控制用戶是否登入
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
import org.apache.struts2.interceptor.CookiesAware;    
import org.apache.struts2.interceptor.ServletRequestAware;    
import org.apache.struts2.interceptor.ServletResponseAware;    
import org.apache.struts2.interceptor.SessionAware;    
   
import com.javaeye.dengyin2000.wallet.dao.UserDAO;    
import com.javaeye.dengyin2000.wallet.dao.UserNotFoundException;    
import com.javaeye.dengyin2000.wallet.domains.User;    
import com.javaeye.dengyin2000.wallet.interceptor.LoginInterceptor;    
import com.opensymphony.xwork2.ActionSupport;    
   
public class LoginAction extends ActionSupport implements ServletResponseAware, ServletRequestAware, SessionAware, CookiesAware{    
   
    private UserDAO userDao;    
    private String loginName;    
    private String password;    
    private boolean rememberMe;    
    private HttpServletResponse response;    
    private HttpServletRequest request;    
    private Map session;    
    private Map cookies;    
    private String goingToURL;    
    public String getGoingToURL() {    
        return goingToURL;    
    }    
    public void setGoingToURL(String goingToURL) {    
        this.goingToURL = goingToURL;    
    }    
    public boolean isRememberMe() {    
        return rememberMe;    
    }    
    public void setRememberMe(boolean rememberMe) {    
        this.rememberMe = rememberMe;    
    }    
    public String getLoginName() {    
        return loginName;    
    }    
    public void setLoginName(String loginName) {    
        this.loginName = loginName;    
    }    
    public String getPassword() {    
        return password;    
    }    
    public void setPassword(String password) {    
        this.password = password;    
    }    
        
        
    public String login()throws Exception{    
        try {    
            User user = userDao.attemptLogin(loginName, password);    
            if (rememberMe){    
                Cookie cookie = new Cookie(LoginInterceptor.COOKIE_REMEMBERME_KEY, user.getLoginName() + "==" + user.getPassword());    
                cookie.setMaxAge(60 * 60 * 24 * 14);    
                response.addCookie(cookie);    
            }    
            session.put(LoginInterceptor.USER_SESSION_KEY, user);    
            String goingToURL = (String) session.get(LoginInterceptor.GOING_TO_URL_KEY);    
            if (StringUtils.isNotBlank(goingToURL)){    
                setGoingToURL(goingToURL);    
                session.remove(LoginInterceptor.GOING_TO_URL_KEY);    
            }else{    
                setGoingToURL("index.action");    
            }    
            return SUCCESS;    
        } catch (UserNotFoundException e) {    
            addActionMessage("user name or password is not corrected.");    
            return INPUT;    
        }    
    }    
    public UserDAO getUserDao() {    
        return userDao;    
    }    
    public void setUserDao(UserDAO userDao) {    
        this.userDao = userDao;    
    }    
    public void setServletResponse(HttpServletResponse response) {    
        this.response = response;    
    }    
    public void setServletRequest(HttpServletRequest request) {    
        this.request = request;    
    }    
    public void setSession(Map session) {    
        this.session = session;    
    }    
    public void setCookiesMap(Map cookies) {    
        this.cookies = cookies;    
    }    
}   
package com.javaeye.dengyin2000.wallet.actions;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.struts2.interceptor.CookiesAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import com.javaeye.dengyin2000.wallet.dao.UserDAO;
import com.javaeye.dengyin2000.wallet.dao.UserNotFoundException;
import com.javaeye.dengyin2000.wallet.domains.User;
import com.javaeye.dengyin2000.wallet.interceptor.LoginInterceptor;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements ServletResponseAware, ServletRequestAware, SessionAware, CookiesAware{
private UserDAO userDao;
private String loginName;
private String password;
private boolean rememberMe;
private HttpServletResponse response;
private HttpServletRequest request;
private Map session;
private Map cookies;
private String goingToURL;
public String getGoingToURL() {
return goingToURL;
}
public void setGoingToURL(String goingToURL) {
this.goingToURL = goingToURL;
}
public boolean isRememberMe() {
return rememberMe;
}
public void setRememberMe(boolean rememberMe) {
this.rememberMe = rememberMe;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login()throws Exception{
try {
User user = userDao.attemptLogin(loginName, password);
if (rememberMe){
Cookie cookie = new Cookie(LoginInterceptor.COOKIE_REMEMBERME_KEY, user.getLoginName() + "==" + user.getPassword());
cookie.setMaxAge(60 * 60 * 24 * 14);
response.addCookie(cookie);
}
session.put(LoginInterceptor.USER_SESSION_KEY, user);
String goingToURL = (String) session.get(LoginInterceptor.GOING_TO_URL_KEY);
if (StringUtils.isNotBlank(goingToURL)){
setGoingToURL(goingToURL);
session.remove(LoginInterceptor.GOING_TO_URL_KEY);
}else{
setGoingToURL("index.action");
}
return SUCCESS;
} catch (UserNotFoundException e) {
addActionMessage("user name or password is not corrected.");
return INPUT;
}
}
public UserDAO getUserDao() {
return userDao;
}
public void setUserDao(UserDAO userDao) {
this.userDao = userDao;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setSession(Map session) {
this.session = session;
}
public void setCookiesMap(Map cookies) {
this.cookies = cookies;
}
}



差不多就是這么多代碼了。 最后看看logoutAction 


Java代碼 
package com.javaeye.dengyin2000.wallet.actions;    
   
import javax.servlet.http.Cookie;    
import javax.servlet.http.HttpServletRequest;    
import javax.servlet.http.HttpServletResponse;    
import javax.servlet.http.HttpSession;    
   
import org.apache.struts2.interceptor.ServletRequestAware;    
import org.apache.struts2.interceptor.ServletResponseAware;    
   
import com.javaeye.dengyin2000.wallet.interceptor.LoginInterceptor;    
import com.opensymphony.xwork2.ActionSupport;    
   
public class LogoutAction extends ActionSupport implements ServletRequestAware , ServletResponseAware{    
   
    private HttpServletRequest request;    
    private HttpServletResponse response;    
   
    public String execute() throws Exception{    
        HttpSession session = request.getSession(false);    
        if (session!=null)    
            session.removeAttribute(LoginInterceptor.USER_SESSION_KEY);    
            
        Cookie[] cookies = request.getCookies();    
        if (cookies!=null) {    
            for (Cookie cookie : cookies) {    
                if (LoginInterceptor.COOKIE_REMEMBERME_KEY.equals(cookie    
                        .getName())) {    
                    cookie.setValue("");    
                    cookie.setMaxAge(0);    
                    response.addCookie(cookie);    
                    return "login";    
                }    
            }    
        }    
        return "login";    
    }    
   
    public void setServletRequest(HttpServletRequest request) {    
        this.request = request;    
    }    
   
    public void setServletResponse(HttpServletResponse response) {    
        this.response = response;    
    }    
   
}   
package com.javaeye.dengyin2000.wallet.actions;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.javaeye.dengyin2000.wallet.interceptor.LoginInterceptor;
import com.opensymphony.xwork2.ActionSupport;
public class LogoutAction extends ActionSupport implements ServletRequestAware , ServletResponseAware{
private HttpServletRequest request;
private HttpServletResponse response;
public String execute() throws Exception{
HttpSession session = request.getSession(false);
if (session!=null)
session.removeAttribute(LoginInterceptor.USER_SESSION_KEY);
Cookie[] cookies = request.getCookies();
if (cookies!=null) {
for (Cookie cookie : cookies) {
if (LoginInterceptor.COOKIE_REMEMBERME_KEY.equals(cookie
.getName())) {
cookie.setValue("");
cookie.setMaxAge(0);
response.addCookie(cookie);
return "login";
}
}
}
return "login";
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}


這里需要注意的是需要把cookie也清理下。 

applicationContext-struts.xml 

Java代碼 
<?xml version="1.0" encoding="UTF-8"?>    
<!DOCTYPE beans PUBLIC     
    "-//SPRING//DTD BEAN//EN"     
    "http://www.springframework.org/dtd/spring-beans.dtd">    
        
<beans>    
    <!-- Example of SAF2 action instantiated by Spring -->    
    <!-- bean id="helloWorldAction" class="tutorial.HelloWorldAction" singleton="false" />    
     -->    
     <bean id="indexAction" class="com.javaeye.dengyin2000.wallet.actions.IndexAction" singleton="false"></bean>    
     <bean id="loginAction" class="com.javaeye.dengyin2000.wallet.actions.LoginAction" singleton="false">    
        <property name="userDao" ref="userDao" />    
     </bean>    
         
     <bean id="logoutAction" class="com.javaeye.dengyin2000.wallet.actions.LogoutAction" singleton="false"></bean>    
         
     <bean id="registerAction" class="com.javaeye.dengyin2000.wallet.actions.RegisterAction" singleton="false"></bean>    
         
     <!-- the following is struts2 interceptors -->    
     <bean id="loginInterceptor" class="com.javaeye.dengyin2000.wallet.interceptor.LoginInterceptor">    
        <property name="userDao" ref="userDao" />    
     </bean>    
         
     <bean id="userDao" class="com.javaeye.dengyin2000.wallet.dao.UserDAOImpl">    
     </bean>    
</beans> 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人免费视频网站高清观看视频 | 成人18视频在线播放| av午夜精品一区二区三区| 91视频观看免费| 国产精品综合av一区二区国产馆| 99国产一区二区三精品乱码| 91精品国产综合久久久久久漫画| 久久九九影视网| 一区二区三区中文免费| 国产在线精品一区在线观看麻豆| 色婷婷综合久久久中文一区二区| 欧美成人一区二区三区片免费 | 国产精品一卡二卡| 欧美日韩一区二区三区在线看| 精品精品国产高清一毛片一天堂| 欧美色综合久久| 2024国产精品| 亚洲一二三四区不卡| 国产成人精品综合在线观看| 欧美日本国产视频| 综合久久一区二区三区| 视频一区二区不卡| 97精品视频在线观看自产线路二| 欧美视频自拍偷拍| 中文字幕一区二区三区在线观看 | 91女人视频在线观看| 欧美zozo另类异族| 一区二区三区欧美日| 国产成人在线视频免费播放| 91精品国产综合久久久蜜臀粉嫩| 亚洲精品自拍动漫在线| 国产成人aaa| 欧美一级爆毛片| 一二三四区精品视频| www..com久久爱| ww久久中文字幕| 亚洲妇女屁股眼交7| 99精品久久99久久久久| 欧美国产1区2区| 国产美女主播视频一区| 中文字幕一区二| 国产一区在线看| 日韩三级视频中文字幕| 亚洲国产精品人人做人人爽| 不卡的av网站| 久久免费视频一区| 老司机精品视频线观看86| 欧美军同video69gay| 亚洲精品国产一区二区三区四区在线| 丁香激情综合五月| 国产亚洲一二三区| 国产成人免费在线视频| 亚洲男人天堂av网| 成人av资源网站| 国产精品素人一区二区| 国产精品91xxx| 国产亚洲欧美激情| 国产一区二区三区四区五区入口 | 国产精品美女久久久久久2018| 久久99久久精品欧美| 精品国产乱码久久久久久浪潮 | 色噜噜狠狠成人网p站| 中文字幕日韩精品一区| 成人综合激情网| 国产精品全国免费观看高清| 丁香一区二区三区| 国产精品久久久久久一区二区三区| 国产成人aaaa| 精品成人在线观看| 国产精品99久| 国产精品成人一区二区三区夜夜夜| 成人免费视频视频在线观看免费| 国产精品三级在线观看| 不卡欧美aaaaa| 亚洲精品高清在线观看| 在线免费观看日本欧美| 中文字幕一区免费在线观看 | 国产欧美日韩视频一区二区| 国产麻豆午夜三级精品| 中文成人av在线| 91玉足脚交白嫩脚丫在线播放| 亚洲精品视频免费观看| 在线中文字幕一区二区| 污片在线观看一区二区| 日韩美女视频一区二区在线观看| 美女网站一区二区| 久久只精品国产| 成av人片一区二区| 亚洲视频资源在线| 欧美麻豆精品久久久久久| 美女免费视频一区| 国产欧美一区二区在线| 色综合久久88色综合天天6| 亚洲国产综合91精品麻豆| 欧美一区二区免费| 看电视剧不卡顿的网站| 国产精品无遮挡| 欧美日韩综合在线| 免费观看在线综合色| 国产午夜精品在线观看| 91论坛在线播放| 奇米一区二区三区| 中文字幕免费不卡在线| 欧美午夜一区二区| 久久99久久99小草精品免视看| 亚洲精品一区二区三区99| 99久久伊人久久99| 亚洲一区二区影院| 亚洲精品在线免费播放| 99久久99久久精品免费观看| 青青草一区二区三区| 久久久99精品久久| 色综合 综合色| 秋霞电影网一区二区| 国产精品青草久久| 56国语精品自产拍在线观看| 成人妖精视频yjsp地址| 午夜欧美电影在线观看| 久久久国产精品不卡| 欧美性猛交xxxxxxxx| 精品一区二区免费视频| 亚洲精品v日韩精品| 欧美成人a视频| 一本大道久久a久久综合| 国产呦萝稀缺另类资源| 亚洲国产日韩在线一区模特| 久久久精品2019中文字幕之3| 色综合久久88色综合天天免费| 蜜臀av性久久久久蜜臀av麻豆 | 色一情一乱一乱一91av| 精品一区二区三区在线观看国产 | 美女被吸乳得到大胸91| 亚洲桃色在线一区| 久久久久久久综合| 欧美日韩一区高清| 成人h动漫精品一区二区| 久久99热狠狠色一区二区| 亚洲欧美偷拍三级| 久久久不卡网国产精品一区| 欧美巨大另类极品videosbest | 一区二区三区在线视频观看| 国产精品的网站| 国产精品久久一卡二卡| 国产婷婷色一区二区三区四区 | 精品视频一区三区九区| 成人黄色av电影| zzijzzij亚洲日本少妇熟睡| 国产精品18久久久久久久久久久久 | 日韩一区国产二区欧美三区| 欧美日韩中字一区| 欧美日韩国产一区| 欧美日韩一区精品| 欧美日本一道本| 91精品国产综合久久香蕉麻豆| 欧美日韩你懂得| 欧美日韩高清在线播放| 在线不卡中文字幕| 91精品国产综合久久久久| 欧美一区二区视频在线观看2022| 91精品国产一区二区三区香蕉| 日韩一区二区在线观看视频 | 波波电影院一区二区三区| 不卡一二三区首页| 色天天综合久久久久综合片| 欧美亚洲动漫精品| 欧美日韩国产影片| 日韩一区二区三区电影在线观看 | 日本韩国一区二区三区视频| 在线观看免费一区| 欧美日韩精品欧美日韩精品| 欧美一区二区三区在线电影| 日韩精品影音先锋| 久久免费看少妇高潮| 国产精品久久久久9999吃药| 亚洲精品一卡二卡| 日一区二区三区| 精品在线亚洲视频| 成人av免费观看| 91福利在线看| 91精品国产欧美一区二区18| 精品国产乱码久久久久久图片 | 欧美一区二区三区四区视频| 精品国产一区二区三区四区四| 国产日本欧洲亚洲| 亚洲视频 欧洲视频| 五月天网站亚洲| 国产精品自在欧美一区| 99久久精品99国产精品| 欧美唯美清纯偷拍| 精品欧美黑人一区二区三区| 国产精品国产精品国产专区不片 | 国产女主播视频一区二区| 亚洲色图制服丝袜| 亚洲va国产va欧美va观看| 九九精品视频在线看| 97久久超碰国产精品| 欧美一区二区视频在线观看| 精品系列免费在线观看| 日本视频一区二区三区| 国产一区二区久久|