Advertisement
Guest User

Untitled

a guest
Sep 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.65 KB | None | 0 0
  1. //source file: util/DB.java
  2. package util;
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. public class DB {
  6. private static DB instance;
  7. private static final int MAX_CON = 5;
  8. private static final Connection[] bafer = new Connection[MAX_CON];
  9. private int first = 0, last = 0, free = MAX_CON;
  10. private DB() { //za MySQL
  11. try {
  12. Class.forName("com.mysql.jdbc.Driver");
  13. for (int i = 0; i < MAX_CON; i++) {
  14. bafer[i] =
  15. DriverManager.getConnection
  16. ("jdbc:mysql://localhost:3306/dbkorisnik", "root", "");
  17. }
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. /* za Access
  23. private DB(){
  24. try{
  25. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  26. for(int i=0; i<MAX_CON; i++)
  27. bafer[i] = DriverManager.getConnection("jdbc:odbc:dbkorisnik");
  28. }catch(Exception e){}
  29. }
  30. */
  31. public static DB getInstance() {
  32. if (instance == null) {
  33. instance = new DB();
  34. }
  35. return instance;
  36. }
  37. public synchronized Connection getConnection() {
  38. if (free == 0) {
  39. return null;
  40. }
  41. free--;
  42. Connection con = bafer[first];
  43. first = (first + 1) % MAX_CON;
  44. return con;
  45. }
  46. public synchronized void putConnection(Connection con) {
  47. if (con == null) {
  48. return;
  49. }
  50. free++;
  51. bafer[last] = con;
  52. last = (last + 1) % MAX_CON;
  53. }
  54. }
  55.  
  56. //source file: beans/Korisnik.java
  57. //Java bean
  58. package beans;
  59. public class Korisnik {
  60. private String username = "";
  61. private String password = "";
  62. private String email = "";
  63. private String telefon = "";
  64. private String ime = "";
  65. private String prezime = "";
  66. public String getUsername() {
  67. return username;
  68. }
  69. public void setUsername(String username) {
  70. this.username = username;
  71. }
  72. public String getPassword() {
  73. return password;
  74. }
  75. public void setPassword(String password) {
  76. this.password = password;
  77. }
  78. public String getEmail() {
  79. return email;
  80. }
  81. public void setEmail(String email) {
  82. this.email = email;
  83. }
  84. public String getTelefon() {
  85. return telefon;
  86. }
  87. public void setTelefon(String telefon) {
  88. this.telefon = telefon;
  89. }
  90. public String getIme() {
  91. return ime;
  92. }
  93. public void setIme(String ime) {
  94. this.ime = ime;
  95. }
  96. public String getPrezime() {
  97. return prezime;
  98. }
  99. public void setPrezime(String prezime) {
  100. this.prezime = prezime;
  101. }
  102. }
  103. //source file: servleti/Login.java
  104. //servlet za logovanje korisnika u sistem
  105. package servleti;
  106. import beans.*;
  107. import java.io.*;
  108. import java.sql.*;
  109. import javax.servlet.*;
  110. import javax.servlet.http.*;
  111. import util.DB;
  112. public class Login extends HttpServlet {
  113. protected void doPost(HttpServletRequest request,
  114. HttpServletResponse response)
  115. throws ServletException, IOException {
  116. HttpSession sesija = request.getSession();
  117. String poruka = "";
  118. String username = (String) request.getParameter("username");
  119. String password = (String) request.getParameter("password");
  120. Korisnik korisnik = new Korisnik();
  121. korisnik.setUsername(username);
  122. korisnik.setPassword(password);
  123. sesija.setAttribute("korisnik", korisnik);
  124. if (username.isEmpty() || password.isEmpty()) {
  125. poruka = "Niste popunili sva polja!";
  126. request.setAttribute("poruka", poruka);
  127. RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
  128. rd.forward(request, response);
  129. }
  130. Connection con = null;
  131. Statement stmt = null;
  132. ResultSet rs = null;
  133. String address = "prikaz.jsp";
  134. try {
  135. con = DB.getInstance().getConnection();
  136. stmt = con.createStatement();
  137. String upit = "select * from KorisnikInfo where username='" +
  138. username + "' and password='" + password + "';";
  139. rs = stmt.executeQuery(upit);
  140. if (rs.next()) {
  141. String email = rs.getString("email");
  142. String ime = rs.getString("first_name");
  143. String prezime = rs.getString("last_name");
  144. String telefon = rs.getString("phone");
  145. korisnik.setEmail(email);
  146. korisnik.setIme(ime);
  147. korisnik.setPrezime(prezime);
  148. korisnik.setTelefon(telefon);
  149. stmt.close();
  150. request.setAttribute("poruka", "Vasi podaci");
  151. } else {
  152. poruka = "Neispravno korisnicko ime i lozinka!
  153. Pokusajte ponovo.";
  154. request.setAttribute("poruka", poruka);
  155. korisnik.setPassword("");
  156. address = "index.jsp";
  157. stmt.close();
  158. }
  159. } catch (SQLException ex) {
  160. sesija.invalidate();
  161. String errormsg = ex.getMessage();
  162. request.setAttribute("errormsg", errormsg);
  163. address = "error.jsp";
  164. } finally {
  165. DB.getInstance().putConnection(con);
  166. }
  167. RequestDispatcher rd = request.getRequestDispatcher(address);
  168. rd.forward(request, response);
  169. }
  170. }
  171. //source file: servleti/Logout.java
  172. //servlet za izlogovanje korisnika iz sistema
  173. package servleti;
  174. import java.io.*;
  175. import javax.servlet.*;
  176. import javax.servlet.http.*;
  177. public class Logout extends HttpServlet {
  178. protected void processRequest(HttpServletRequest request,
  179. HttpServletResponse response)
  180. throws ServletException, IOException {
  181. request.getSession().invalidate();
  182. request.getRequestDispatcher("kraj.jsp").forward(request, response);
  183. }
  184. @Override
  185. protected void doGet(HttpServletRequest request,
  186. HttpServletResponse response)
  187. throws ServletException, IOException {
  188. processRequest(request, response);
  189. }
  190. @Override
  191. protected void doPost(HttpServletRequest request,
  192. HttpServletResponse response)
  193. throws ServletException, IOException {
  194. processRequest(request, response);
  195. }
  196. }
  197. //source file: servleti/Izmena.java
  198. //servlet za promenu podataka o korisniku
  199. package servleti;
  200. import beans.Korisnik;
  201. import java.io.*;
  202. import java.sql.*;
  203. import javax.servlet.*;
  204. import javax.servlet.http.*;
  205. import util.DB;
  206. public class Izmena extends HttpServlet {
  207. @Override
  208. protected void doPost(HttpServletRequest request,
  209. HttpServletResponse response)
  210. throws ServletException, IOException {
  211. HttpSession sesija = request.getSession();
  212. Korisnik korisnik = (Korisnik) sesija.getAttribute("korisnik");
  213. String ime = (String) request.getParameter("ime");
  214. String prezime = (String) request.getParameter("prezime");
  215. String telefon = (String) request.getParameter("telefon");
  216. String email = (String) request.getParameter("email");
  217. korisnik.setIme(ime);
  218. korisnik.setPrezime(prezime);
  219. korisnik.setTelefon(telefon);
  220. korisnik.setEmail(email);
  221. String upit = "update KorisnikInfo "
  222. + "set first_name='" + ime + "',last_name='" + prezime
  223. + "', phone='" + telefon + "', email='" + email + "'"
  224. + "where username='" + korisnik.getUsername() + "';";
  225. Connection con = null;
  226. Statement stmt = null;
  227. String address = "prikaz.jsp";
  228. try {
  229. con = DB.getInstance().getConnection();
  230. stmt = con.createStatement();
  231. stmt.executeUpdate(upit);
  232. stmt.close();
  233. con.close();
  234. } catch (SQLException ex) {
  235. sesija.invalidate();
  236. String errormsg = ex.getMessage();
  237. request.setAttribute("errormsg", errormsg);
  238. address = "error";
  239. } finally {
  240. DB.getInstance().putConnection(con);
  241. }
  242. request.setAttribute("poruka", "Podaci su uspesno izmenjeni");
  243. RequestDispatcher rd = request.getRequestDispatcher(address);
  244. rd.forward(request, response);
  245. }
  246. }
  247. //web page: index.jsp
  248. //prva strana za logovanje korisnika
  249. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  250. <!DOCTYPE HTML>
  251. <html>
  252. <head>
  253. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  254. <title>Korisnička aplikacija</title>
  255. </head>
  256. <body>
  257. <h3>${(poruka!=null) ? poruka : "Dobrodošli!"} </h3><br/><br/>
  258. <form action="login" method="POST">
  259. <table>
  260. <tr>
  261. <td>Korisničko ime:</td>
  262. <td><input type="text" name="username"
  263. value="${korisnik.username}" size="20"/></td>
  264. </tr>
  265.  
  266. <tr>
  267. <td>Lozinka:</td>
  268. <td><input type="password" name="password"
  269. value="${korisnik.password}" size="20"/></td>
  270. </tr>
  271. <tr>
  272. <td><input type="submit" value="Ulogujte se"/></td>
  273. <td><input type="reset" value="Poništite"/></td>
  274. </tr>
  275. </table>
  276. </form>
  277. </body>
  278. </html>
  279. //web page: kraj.jsp
  280. //poslednja strana kada se korisnik izloguje
  281. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  282. <!DOCTYPE HTML>
  283. <html>
  284. <head>
  285. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  286. <title>Doviđenja</title>
  287. </head>
  288. <body>
  289. <h1>Doviđenja</h1>
  290. <a href="index.jsp">Na početak</a>
  291. </body>
  292. </html>
  293.  
  294. //web page: prikaz.jsp
  295. //prva strana nakon logovanja, koja prikazuje podatke o korisniku
  296. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  297. <!DOCTYPE HTML>
  298. <html>
  299. <head>
  300. <title>Korisnička aplikacija</title>
  301. </head>
  302. <body>
  303. <h3>${poruka}</h3><br/><br/>
  304. <table width="40%" border="3">
  305. <tr><td width="50%"> Korisničko ime:</td>
  306. <td>${korisnik.username} </td></tr>
  307. <tr><td>Ime:</td>
  308. <td>${korisnik.ime}</td></tr>
  309. <tr><td>Prezime:</td>
  310. <td>${korisnik.prezime}</td></tr>
  311. <tr><td>Email:</td>
  312. <td>${korisnik.email}</td></tr>
  313. <tr><td>Telefon:</td>
  314. <td>${korisnik.telefon}</td></tr>
  315. </table><br/>
  316. <a href="promena.jsp">Promenite podatke</a>
  317. <a href="logout">Izlogujte se</a>
  318. </body>
  319. </html>
  320. //web page: promena.jsp
  321. //strana na kojoj korisnik moze promeniti svoje podatke
  322. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  323. <!DOCTYPE HTML>
  324. <html>
  325. <head>
  326. <title>Korisnička aplikacija</title>
  327. </head>
  328. <body>
  329. <h3>Vaši podaci koje možete menjati</h3><br/><br/>
  330. <form action="izmena" method="post" >
  331. <table width="40%" border="3">
  332. <tr><td width="50%">Ime:</td>
  333. <td><input type="text" name="ime" value="${korisnik.ime}"
  334. size="30"/></td></tr>
  335. <tr><td>Prezime:</td>
  336. <td><input type="text" name="prezime"
  337. value="${korisnik.prezime}" size="30"/></td></tr>
  338. <tr><td>Email:</td>
  339. <td><input type="text" name="email" value="${korisnik.email}"
  340. size="30"/></td></tr>
  341. <tr><td>Telefon:</td>
  342. <td><input type="text" name="telefon"
  343. value="${korisnik.telefon}" size="30" /></td></tr>
  344. </table><br/>
  345. <input type="submit" value="Prihvatite izmenu"/>
  346. </form>
  347. </body>
  348. </html>
  349.  
  350. //web page: error.jsp
  351. //strana na kojoj se prikazuje poruka o gresci
  352. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  353. <!DOCTYPE HTML>
  354. <html>
  355. <head>
  356. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  357. <title>Greška</title>
  358. </head>
  359. <body>
  360. <h1>Greška u radu sa bazom podataka</h1>
  361. <h3>${errormsg}</h3>
  362. </body>
  363. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement