aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/database/Database.java41
-rw-r--r--src/main/java/pokemon/IService.java2
-rw-r--r--src/main/java/pokemon/Service.java13
-rw-r--r--src/main/webapp/WEB-INF/lib/jstl-1.2.jarbin0 -> 414240 bytes
-rw-r--r--src/main/webapp/index.jsp3
-rw-r--r--src/main/webapp/pages/choosePokemon.jsp14
-rw-r--r--src/main/webapp/pages/logout.jsp6
-rw-r--r--src/main/webapp/pages/userIndex.jsp86
8 files changed, 163 insertions, 2 deletions
diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java
index 6488a5a..80307db 100644
--- a/src/main/java/database/Database.java
+++ b/src/main/java/database/Database.java
@@ -159,5 +159,46 @@ public class Database {
}
return monsters;
}
+ public Monster getUserMonster(String username) {
+ Monster monster=null;
+ String sql="SELECT * FROM monster m JOIN user u ON u.username=? AND u.pokemonId=m.id";
+ try {
+ PreparedStatement statement = conn.prepareStatement(sql);
+ statement.setString(1, username);
+ ResultSet res=statement.executeQuery();
+ if(res.next()) {
+ monster=new Monster();
+ monster.setId(res.getLong("m.id"));
+ monster.setName(res.getString("m.name"));
+ monster.setDescription(res.getString("m.description"));
+ monster.setHp(res.getInt("m.hp"));
+ monster.setBase64Image(res.getString("m.base64Image"));
+ }
+
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+
+ return monster;
+
+ }
+ public void addMonsterToUser(long id,long monsterId) {
+
+ String sql="UPDATE user set pokemonId=? where id=?;";
+
+ try {
+ PreparedStatement ps=conn.prepareStatement(sql);
+ ps=conn.prepareStatement(sql);
+ ps.setLong(1,monsterId);
+ ps.setLong(2, id);
+ ps.executeUpdate();
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
}
diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java
index c99271c..172c392 100644
--- a/src/main/java/pokemon/IService.java
+++ b/src/main/java/pokemon/IService.java
@@ -14,5 +14,7 @@ public interface IService extends Remote {
public long addMonster(Monster monster)throws RemoteException;
public boolean addAbility(Ability ability)throws RemoteException;
public ArrayList<Monster> getMonsters()throws RemoteException;
+ public Monster getUserMonster(String username) throws RemoteException;
+ public void addMonsterToUser(long id,long monsterId)throws RemoteException;
}
diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java
index 0931a0f..579a0c4 100644
--- a/src/main/java/pokemon/Service.java
+++ b/src/main/java/pokemon/Service.java
@@ -44,6 +44,19 @@ public class Service extends UnicastRemoteObject implements IService {
Database db=Database.getInstance();
return db.getMonsters();
}
+
+ @Override
+ public Monster getUserMonster(String username) throws RemoteException {
+ Database db=Database.getInstance();
+ return db.getUserMonster(username);
+ }
+
+ @Override
+ public void addMonsterToUser(long id, long monsterId) throws RemoteException {
+ Database db=Database.getInstance();
+ db.addMonsterToUser(id, monsterId);
+
+ }
}
diff --git a/src/main/webapp/WEB-INF/lib/jstl-1.2.jar b/src/main/webapp/WEB-INF/lib/jstl-1.2.jar
new file mode 100644
index 0000000..0fd275e
--- /dev/null
+++ b/src/main/webapp/WEB-INF/lib/jstl-1.2.jar
Binary files differ
diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp
index 2086f22..8be1d49 100644
--- a/src/main/webapp/index.jsp
+++ b/src/main/webapp/index.jsp
@@ -40,8 +40,7 @@
<a href="pages/registerPage.jsp">
<button>Registracija</button>
</a>
-<br><br>
-<h1>Lista korisnika</h1>
+
diff --git a/src/main/webapp/pages/choosePokemon.jsp b/src/main/webapp/pages/choosePokemon.jsp
new file mode 100644
index 0000000..797c89f
--- /dev/null
+++ b/src/main/webapp/pages/choosePokemon.jsp
@@ -0,0 +1,14 @@
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
+<%
+
+IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+out.print(session.getAttribute("id"));
+long userId=(Long)session.getAttribute("id");
+long monsterId=Long.parseLong(request.getParameter("monsterId"));
+
+service.addMonsterToUser(userId, monsterId);
+
+response.sendRedirect("userIndex.jsp");
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/logout.jsp b/src/main/webapp/pages/logout.jsp
new file mode 100644
index 0000000..97e684b
--- /dev/null
+++ b/src/main/webapp/pages/logout.jsp
@@ -0,0 +1,6 @@
+<%
+ session.removeAttribute("id");
+ session.removeAttribute("username");
+ session.removeAttribute("admin");
+ response.sendRedirect("../index.jsp");
+%> \ No newline at end of file
diff --git a/src/main/webapp/pages/userIndex.jsp b/src/main/webapp/pages/userIndex.jsp
index 6379107..5bf5320 100644
--- a/src/main/webapp/pages/userIndex.jsp
+++ b/src/main/webapp/pages/userIndex.jsp
@@ -1,12 +1,98 @@
+<%@page import="models.Monster"%>
+<%@page import="java.util.ArrayList"%>
+<%@page import="models.CONSTS"%>
+<%@page import="java.rmi.Naming"%>
+<%@page import="pokemon.IService"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
+
<html>
<head>
<meta charset="ISO-8859-1">
<title>User</title>
+<style>
+ table, th, td {
+ border: 1px solid black;
+ border-collapse: collapse;
+ padding:2px;
+ }
+</style>
</head>
<body>
+<a href="logout.jsp">
+ <button>Log out</button>
+</a>
+<h1>Izaberi pokemona</h1>
+<br>
+<%
+ IService service=(IService)Naming.lookup(CONSTS.rmiUrl);
+ ArrayList<Monster> monsters=service.getMonsters();
+ String username=(String)session.getAttribute("username");
+ request.setAttribute("monsters", monsters);
+ Monster myMonster=service.getUserMonster(username);
+ request.setAttribute("myMonster", myMonster);
+%>
+Trenutno izabran pokemon:
+<%
+ if(myMonster==null)
+ {
+ %>
+ <p style="color:red">Nemate trenutno izabranog pokemon. Morate izabrati pokemona da bi mogli da igrate igru</p>
+ <%
+ }
+ else{
+ %>
+ <table>
+ <tr>
+ <th>Ime</th>
+ <th>Opis</th>
+ <th>Hp</th>
+ <th>Slika</th>
+ </tr>
+ <tr>
+ <td><c:out value="${myMonster.name}"/></td>
+ <td><c:out value="${myMonster.description}"/></td>
+ <td><c:out value="${myMonster.hp}"/></td>
+ <td><img style="height: 50px" src="data:image/*;base64, ${myMonster.base64Image }" /></td>
+ </tr>
+ </table>
+ <%
+ }
+%>
+<br><br><br>
+<table>
+<tr>
+<th>Ime</th>
+<th>Opis</th>
+<th>Hp</th>
+<th>Slika</th>
+<th></th>
+</tr>
+<c:forEach items="${monsters}" var="item">
+<tr>
+ <td>
+ <c:out value="${item.name}"/>
+ </td>
+ <td>
+ <c:out value="${item.description}"/>
+ </td>
+ <td>
+ <c:out value="${item.hp}"/>
+ </td>
+ <td>
+ <img style="height: 50px" src="data:image/*;base64, ${item.base64Image }" />
+ </td>
+ <td>
+ <a href="choosePokemon.jsp?monsterId=${item.id}">
+ <button>Izaberi</button>
+</a>
+ </td>
+</tr>
+</c:forEach>
+
+</table>
</body>
</html> \ No newline at end of file