我正在尝试使用 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 */
}
}
}