如何从另一个接口继承方法?

时间:2018-11-21 21:34:29

标签: java servlets

我正在尝试使用 MVC体系结构标准创建 JAVA WEB 代码,该代码应表示以下内容:我有一个带有产品列表的用户。

我想知道如何将其插入到我的代码中,以及如何访问产品方法。

注意::在我的servlet中,通过创建的用户及其访问的特定用户的ArrayList会话。

PRODUCT.CLASS

public class Produto {
    private String name;
    private int quantity;

    public Produto(String name, int quantity){
        this.name = name;
        this.quantity = quantity;
    }

    public String getName(){
        return this.name;
    }

    public int getQuantity(){
        return this.quantity;
    }
}

USER.CLASS

public class Usuario {
    private String username;
    private String password;
    private List<Produto> productList;

    public Usuario(String username, String password,List<Produto> productList){
        this.username = username;
        this.password = password;
        this.productList = productList;
    }

    public String getUsername(){
        return this.username;
    }

    public String getPassword(){
        return this.password;
    }

}

**REPOSITORIOPRODUTO.JAVA**
public class RepositorioProduto implements IRepositorioProduto {
    private List<Produto> productList = new ArrayList<Produto>();

    @Override
    public String saveProduct(Produto product) {
        try {
            // VERIFICA SE EXISTE PRODUTO ADICIONADO
            // SE, NÃO EXISTIR, ADICIONE O PRODUTO
            // SE NÃO, VERIFIQUE O PRODUTO A SER CADASTRADO, CASO JÁ EXISTA RETURN FALSE, CASO NÃO EXISTA ADICIONE O PRODUTO
            if(this.getProductListSize() == 0){ 
                this.productList.add(product);
                return "PRODUTO SALVO";
            } else { 
                if(this.getProductEspecific(product.getName()) == null){
                    return "PRODUTO JÁ EXISTE NO BANCO DE DADOS";
                } else {
                    this.productList.add(product);
                    return "PRODUTO SALVO";
                }    
            }
        } catch (Exception e){
            return e.toString();
        }
    }

    @Override
    public int getProductListSize() {
        return this.productList.size();
    }

    @Override
    public List<Produto> getProductList() {
        if(this.getProductListSize() == 0){
            return null;
        } else {
            return this.productList;
        }
    }

    @Override
    public Produto getProductEspecific(String productName) {
        if(this.getProductListSize() == 0){
            return null;
        } else {
            for(Produto product : this.productList){
                if(product.getName().equalsIgnoreCase(productName)){
                    return product;
                }
            }
        }

        return null;
    }

}

REPOSITORIOPRODUTO.JAVA

public class RepositorioUsuario implements IRepositorioUsuario {
    private List<Usuario> userList = new ArrayList<Usuario>();

    @Override
    public String saveUser(Usuario user) {
        try {
            // VERIFICA SE EXISTE USUÁRIO ADICIONADO
            // SE, NÃO EXISTIR, ADICIONE O USUÁRIO
            // SE NÃO, VERIFIQUE O USUÁRIO A SER CADASTRADO, CASO JÁ EXISTA RETURN FALSE, CASO NÃO EXISTA ADICIONE O USUÁRIO
            if(this.getUserListSize() == 0){ 
                this.userList.add(user);
                return "USUÁRIO SALVO";
            } else { 
                if(this.getUserEspecific(user.getUsername()) == null){
                    return "USUÁRIO JÁ EXISTE NO BANCO DE DADOS";
                } else {
                    this.userList.add(user);
                    return "USUÁRIO SALVO";
                }    
            }
        } catch (Exception e){
            return e.toString();
        }
    }

    @Override
    public int getUserListSize() { return this.userList.size(); }

    @Override
    public List<Usuario> getUserList() {
        if(this.getUserListSize() == 0){
            return null;
        } else {
            return this.userList;
        }
    }

    @Override
    public Usuario getUserEspecific(String username) {
        for(Usuario user : this.userList){            
            if(user.getUsername().equalsIgnoreCase(username)){
                return user;
            }
        }

        return null;
    }


}

接口回购产品

public interface IRepositorioProduto {
    public String saveProduct(Produto product);
    public int getProductListSize();
    public List<Produto> getProductList();
    public Produto getProductEspecific(String productName);
}


**INTERFACE REPO USER**
public interface IRepositorioUsuario {
    public String saveUser(Usuario user);
    public int getUserListSize();
    public List<Usuario> getUserList();  
    public Usuario getUserEspecific(String username);
}

**SERVLET**
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // REQUEST
        final String username = request.getParameter("username");
        final String password = request.getParameter("password");

        // MSG RESPONSE
        String msgSaveUser = "";

        if((!username.equals("") && !username.equals(" ") && !username.isEmpty() && username != null) && (!password.equals("") && !password.equals(" ") && !password.isEmpty() && password != null)){
            try{
                // CRIA O PROUDTO E ADICIONA O NO ARRAY DE PRODUTOS
                Produto newProduct = new Produto(null, 0);
                RepositorioProduto rp = new RepositorioProduto();
                rp.saveProduct(newProduct);

                // CRIA O USUÁRIO E ADICIONA O NO ARRAY DE USUÁRIOS
                // ADICIONA O ARRAY DE PRODUTOS AO USUÁRIO
                Usuario newUser = new Usuario(username, password, rp.getProductList());
                RepositorioUsuario ru = new RepositorioUsuario();
                ru.saveUser(newUser);

                // SALVA A MENSAGEM DA CRIAÇÃO DO USUÁRIO
                msgSaveUser = ru.saveUser(newUser);

                // CRIA A SESSÃO DO USUÁRIO
                // LOGO DEPOIS, ADICIONA O ARRAY DE USUÁRIOS NA SESSÃO && O USUÁRIO ESPECÍFICO CRIADO
                HttpSession session = request.getSession();
                session.setMaxInactiveInterval(30*60); // SESSÃO EXPIRA EM 30 MINUTOS
                session.setAttribute("userArray", ru.getUserList());
                session.setAttribute("userEspecific", ru.getUserEspecific(username));
                session.setAttribute("msgSaveUser", msgSaveUser);


            }catch(Exception e){
                /* @todo */
            }
        }
    }

0 个答案:

没有答案