Vezbe 06 - JSP I Servleti

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

VEBE 06 JSP i SERVLETI (UVOD U MVC)

Ovde uraditi vezbe gde se sa neke jsp salje na servlet i on vraca odgovor na jsp
koji se prikazuje
PRIMER 1: Modifikovati Primer 5 sa prolih vebi tako da ako je pri sabiranju 2
sabirka celobrojnog tipa zbir:

vei od 10 : TITLE jsp stranice e biti VECI a body bgcolor =blue.

manji od 10 : TITLE jsp stranice e biti MANJI a body bgcolor =green.

Jednak 10 : TITLE jsp stranice e biti TACNO a body bgcolor =red.

NAPOMENA: Na jednoj JSP stranici definisati formu (kao to je raeno u HTML


jeziku), a zatim pozvati drugu JSP stranicu koja e generisati rezultat i ispisati ga.
Na error.jsp stranici da pise GRESKA.
<!-- index.jsp -->
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head>
<title>Sabiranje pomocu JSP</title>
</head>
<body>
<form name="forma" method="post" action="rezultat.jsp">
prvi : <input type="text" name="prvi">
<br>
drugi : <input type="text" name="drugi">
<br>
<input type="submit" value="Saberi">
</form>
</body>
</html>
<!-- rezultat.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page errorPage="error.jsp"%>
<%! int a,b, zbir;
String prvi, drugi;
%>
<%

prvi=request.getParameter("prvi");
drugi=request.getParameter("drugi");
a=Integer.parseInt(prvi);
b=Integer.parseInt(drugi);
zbir=a+b;

%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
<%if (zbir>10){%>
VECE
<%}else if (zbir<10){%>
MANJE
<%}else{%>
TACNO
<%}%>
</title>
</head>
<body
bgcolor="<%if (zbir>10){%>
Blue
<%}else if (zbir<10){%>
Green
<%}else{%>
Red
<%} %>">
<h2>
Zbir je
<%if (zbir > 10){%>
veci od 10.
<%}else if (zbir < 10){%>
manji od 10.
<%}else{%>
tacno 10.
<%}%>
</h2></body>
</html>
<!-- error.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page isErrorPage="true" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Error Page</title>
</head>
<body>
<h2>Greska!</h2>
<h3><%=exception%></h3>
</body>
</html>

MANE: mnogo logike na jednoj strani i kod postaje pomalo konfuzan za praenje
pogotovu pri sloenijim primerima

PRIMER 2: UVOD U MVC: Modifikovati Primer 1 tako da postoje 3 jsp stranice:


manje, vece, tacno, error, na kojima nema java koda ve su statiki pripremljene
da stranica:

Vece.jsp ima : TITLE VECI , body bgcolor =blue, ispis Zbir je veci od 10.

Manje.jsp ima : TITLE MANJI a body bgcolor =green, ispis Zbir je manji
od 10.

Tacno.jsp ima : TITLE TACNO a body bgcolor =yellow, ispis Zbir je tacno
10.

Error.jsp ima TITLE GRESKA a body bgcolor =red i ispis Greska

Na index.jsp stranici definisati HTML formu za unos dva broja koja e post
metodom da pozove MathServlet koji ima za cilj da u zavisnosti od prosleenih
vrednosti dva broja donese odluku na koju stranicu e da prosledi klijentu.
<!-- index.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>MVC prvi primer</title>
</head>
<body>
<H2>MVC pristup resavanja problema </H2>
<form action="MathServlet" method="post">
Unesite prvi broj: <input type="text" name="prvi"/><br/>
Unesite drugi broj: <input type="text" name="drugi"/><br/>
<input type="submit" value="Uporedi"/>
</form>
</body>
</html>
<!-- vece.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Vece</title>
</head>
<body bgcolor="green">
<h1>Zbir je veci od 10</h1>
</body>
</html>

<!-- manje.jsp -->


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Manje</title>
</head>
<body bgcolor="blue">
<h1>Zbir je manji od 10.</h1>
</body>
</html>
<!-- tacno.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Nula</title>
</head>
<body bgcolor="yellow">
<h1>Zbir je tacno 10.</h1>
</body>
</html>
<!-- error.jsp -->
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Error Page</title>
</head>
<body bgcolor="red">
<h2>Greska!</h2>
</body>
</html>

package servlets;
import java.io.IOException;
import
import
import
import
import

javax.servlet.RequestDispatcher;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;

public class MathServlet extends HttpServlet {


private static final long serialVersionUID = 1L;
protected void doPost
(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String prvi = request.getParameter("prvi");
String drugi = request.getParameter("drugi");
String address;
int a = 0, b = 0;
try {

a = Integer.parseInt(prvi);
b = Integer.parseInt(drugi);
int zbir = a + b;
if (zbir > 10) {
address = "/vece.jsp";
} else if (zbir < 10) {
address = "/manje.jsp";
} else {
address = "/tacno.jsp";
}
} catch (NumberFormatException nfe) {
address = "/error.jsp";
}
// prosledjivanje odgovarajuce stranice : address
request.getRequestDispatcher(address).forward(request, response);
}
}

You might also like