Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- The core configuration file for the framework is the default (struts.xml) file
- and should reside on the classpath of the webapp (generally /WEB-INF/classes). -->
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <!-- devMode equals debug information and reload everything for every request -->
- <constant name="struts.devMode" value="true" />
- <constant name="struts.ui.theme" value="simple" />
- <constant name="struts.action.excludePattern" value="/ws/.*"/>
- <package name="webserver" extends="struts-default">
- <interceptors>
- <interceptor class="webserver.interceptor.LoginInterceptor"
- name="loginInterceptor"/>
- <interceptor-stack name="loginStack">
- <interceptor-ref name="loginInterceptor" />
- <interceptor-ref name="defaultStack" />
- </interceptor-stack>
- </interceptors>
- <default-action-ref name="index" />
- <global-results>
- <result name="error">/error.jsp</result>
- </global-results>
- <!-- all exceptions not caught by the application will lead to error.jsp -->
- <global-exception-mappings>
- <exception-mapping exception="java.lang.Exception" result="error" />
- </global-exception-mappings>
- <!-- 'login' action leads to the view provided by index.jsp -->
- <action name="index">
- <result>login/index.jsp</result>
- </action>
- <action name="menu">
- <result>menu.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 'webserver' action calls 'execute' in 'PrimesAction', followed by the view in 'webserver.jsp' -->
- <action name = "login" class="webserver.action.LoginAction" method="execute">
- <result name="success"> /menu.jsp</result>
- <result name = "login">/login/index.jsp</result>
- </action>
- <action name="sign">
- <result>login/signup.jsp</result>
- </action>
- <action name = "signup" class="webserver.action.SignupAction" method="execute">
- <result name="success" type="redirectAction">menu.jsp</result>
- <result name = "login">/login/index.jsp</result>
- </action>
- <!-- 2) Gerir artistas -->
- <action name="inputInsertArtist">
- <result>/artist/inputInsertArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="insertArtist" class="webserver.action.ArtistAction" method="execute">
- <result name="success">/artist/insertArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputChangeArtist">
- <result>/artist/inputChangeArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="changeArtist" class="webserver.action.ArtistAction" method="execute">
- <result name="success">/artist/changeArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputRemoveArtist">
- <result>/artist/inputRemoveArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="removeArtist" class="webserver.action.ArtistAction" method="execute">
- <result name="success">/artist/removeArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 2) Gerir albuns -->
- <action name="inputInsertAlbum">
- <result>/album/inputInsertAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="insertAlbum" class="webserver.action.AlbumAction" method="execute">
- <result name="success">/album/insertAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputChangeAlbum">
- <result>/album/inputChangeAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="changeAlbum" class="webserver.action.AlbumAction" method="execute">
- <result name="success">/album/changeAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputRemoveAlbum">
- <result>/album/inputRemoveAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="removeAlbum" class="webserver.action.AlbumAction" method="execute">
- <result name="success">/album/removeAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 2) Gerir musicas -->
- <action name="inputInsertMusic">
- <result>/music/inputInsertMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="insertMusic" class="webserver.action.MusicAction" method="execute">
- <result>/music/insertMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputChangeMusic">
- <result>/music/inputChangeMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="changeMusic" class="webserver.action.MusicAction" method="execute">
- <result>/music/changeMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="inputRemoveMusic">
- <result>/music/inputRemoveMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="removeMusic" class="webserver.action.MusicAction" method="execute">
- <result>/music/removeMusic.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 4) Artist Details -->
- <action name="inputArtistDetails">
- <result>/artist/inputArtistDetails.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="artistDetails" class="webserver.action.ArtistAction" method="execute">
- <result name = "success">/artist/artistDetails.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 4) Album Details -->
- <action name="inputAlbumDetails">
- <result>/album/inputAlbumDetails.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="albumDetails" class="webserver.action.AlbumAction" method="execute">
- <result name = "success">/album/albumDetails.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- 6) Promote User -->
- <action name="inputPromoteUser">
- <result>/user/inputPromoteUser.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="promoteUser" class="webserver.action.PromoteUserAction" method="execute">
- <result name = "success">success.html</result>
- <result name = "error">failure.html</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="notification" class="webserver.action.NotificationAction" method="execute">
- <result name ="success">/test.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <!-- JOAO -->
- <action name="indexAlbumReview">
- <result>/album/indexReview.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="reviewAlbum" class="webserver.action.AlbumAction" method="execute">
- <result name = "success">/album/albumReview.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="indexSearchByAlbum">
- <result>/music/indexSearchByAlbum.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="indexSearchByGenre">
- <result>/music/indexSearchByGenre.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="indexSearchByArtist">
- <result>/music/indexSearchByArtist.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="searchByAlbum" class="webserver.action.SearchMusicAction" method="executeAlbum">
- <result name = "success">/music/searchByAlbum.jsp</result>
- <result name = "login">notfound.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="searchByGenre" class="webserver.action.SearchMusicAction" method="executeGenre">
- <result name = "success">/music/searchByGenre.jsp</result>
- <result name = "login">notfound.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="searchByArtist" class="webserver.action.SearchMusicAction" method="executeArtist">
- <result name = "success">/music/searchByArtist.jsp</result>
- <result name = "login">notfound.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="moreDetails" class="webserver.action.SearchMusicAction" method="execute">
- <result name = "success" >/music/moreDetails.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name = "ConfirmDropboxAction" class="webserver.action.ConfirmDropboxAction" method="execute">
- <result name="success"> /menu.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name = "linkWithDropbox" class="webserver.action.LinkWithDropboxAction" method="execute">
- <result name="success"> /redirect.html</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name = "linkLoginWithDropbox" class="webserver.action.LinkLoginWithDropboxAction" method="execute">
- <result name="success"> /redirectLogin.html</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="LoginWithDropboxAction" class="webserver.action.LoginWithDropboxAction" method="execute">
- <result name="success"> /menu.jsp</result>
- <result name="login">/login/index.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="dropboxMenu" class="webserver.action.DropboxMenuAction" method="execute">
- <result name = "success"> /dropbox/dropboxMenu.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="associateFileToMusic" class="webserver.action.AssociateFileToMusicAction" method="execute">
- <result name="success"> /dropbox/associateMusics.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="associationOfMusicToFile" class="webserver.action.AssociateFileToMusicAction" method="executeAssociatonFile">
- <result name="success"> /dropbox/dropboxMenu.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="streamMusic" class="webserver.action.StreamMusicAction" method="execute">
- <result name="success"> /dropbox/play.jsp</result>
- <result name="error"> /dropbox/dropboxMenu.jsp</result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- <action name="playMusic" class="webserver.action.StreamMusicAction" method="executeMenu">
- <result name = "success"> /dropbox/inputPlayMusic.jsp </result>
- <interceptor-ref name="loginStack"></interceptor-ref>
- <result name = "interceptor">/login/index.jsp</result>
- </action>
- </package>
- </struts>
- /**
- * Raul Barbosa 2014-11-07
- */
- package webserver.interceptor;
- import java.util.Map;
- import com.opensymphony.xwork2.Action;
- import com.opensymphony.xwork2.ActionInvocation;
- import com.opensymphony.xwork2.interceptor.Interceptor;
- public class LoginInterceptor implements Interceptor {
- private static final long serialVersionUID = 189237412378L;
- @Override
- public String intercept(ActionInvocation invocation) throws Exception {
- Map<String, Object> session = invocation.getInvocationContext().getSession();
- // this method intercepts the execution of the action and we get access
- // to the session, to the action, and to the context of this invocation
- System.out.println(session.get("loggedIn"));
- if (session.get("loggedIn") == null) {
- return "interceptor";
- }
- return invocation.invoke();
- }
- @Override
- public void init() { }
- @Override
- public void destroy() { }
- }
- /**
- * Raul Barbosa 2014-11-07
- */
- package webserver.action;
- import com.opensymphony.xwork2.ActionSupport;
- import org.apache.struts2.interceptor.SessionAware;
- import rmiserver.User;
- import webserver.model.UserBean;
- import java.rmi.RemoteException;
- import java.util.Map;
- public class LoginAction extends ActionSupport implements SessionAware {
- private static final long serialVersionUID = 4L;
- private Map<String, Object> session;
- private String username = null, password = null;
- private UserBean userBean;
- @Override
- public String execute() throws RemoteException {
- // any username is accepted without confirmation (should check using RMI)
- System.out.println("execute");
- User result = this.getUserBean().login();
- if (!result.getName().equals("null") && !result.getPassword().equals("null")) {
- session.put("username", getUserBean().getUsername());
- session.put("loggedIn", getUserBean().getUsername());
- return SUCCESS;
- }
- else if (result.getName().equals("null") && result.getPassword().equals("null"))
- return LOGIN;
- return SUCCESS;
- }
- public void setUsername(String username) {
- this.username = username; // will you sanitize this input? maybe use a prepared statement?
- }
- public void setPassword(String password) {
- this.password = password; // what about this input?
- }
- public UserBean getUserBean() {
- if(!session.containsKey("userBean"))
- this.setUserBean(new UserBean());
- return (UserBean) session.get("userBean");
- }
- public void setUserBean(UserBean UserBean) {
- this.session.put("userBean", UserBean);
- }
- @Override
- public void setSession(Map<String, Object> session) {
- this.session = session;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement