Sei sulla pagina 1di 21

(1) Simple Server-Side Programming using Servlets

(A) Aim: Write a servlet that accepts single-valued (Name, Mobile No.) as well as
multi-
valued (Languages known, Hobbies) parameters like check boxes and multiple
selection list boxes from HTML document and outputs them to the screen.

Solution:

Servlet HTML Code:

<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>
<form method = get action = "ServletCode">
<table border = 1>
<tr><td>Name:</td>
<td><input type = text name = Name:></td></tr>
<tr><td>Mobile No:</td>
<td><input type = text name = Mobile_No:></td></tr>
<tr><td>Language known:</td>
<td><input type = checkbox name = Languages_known: value = English>English</td>
<td><input type = checkbox name = Languages_known: value = Marathi>Marathi</td>
<td><input type = checkbox name = Languages_known: value = Hindi>Hindi</td></tr>
<tr><td>Hobbies</td>
<td><select multiple size = 5 name = Hobbies:>
<option>Singing
<option>Cricket
<option>Computer Games
<option>Reading
<option>Swimming
</select></td></tr>
<tr>
<td><input type = submit value = Submit></td>
<td><input type = submit value = Reset></td>
</tr>
</table>
</form>
</div>
</body>
</html>

Servlet JavaCode:

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletCode extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ServletCode</title>");
out.println("</head>");
out.println("<body>");
Enumeration e = request.getParameterNames();
while (e.hasMoreElements())
{
String name = (String)e.nextElement();
out.println(name);
String [] value = request.getParameterValues(name);
for (int i = 0;i < value.length;i++)
{
out.print(value[i]+"\t");
out.print("<br>");
}
}
out.println("</body>");
out.println("</html>");
}
}
}

(B) Aim: Write a servlet program that accepts an integer n from html form, then
calculates
and displays the factorial of n. If the number is negative, it should
redirect to a
different error page having link to the html form.

Solution:

Servlet HTML Code:

<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>
<form method = "get" action ="ServletCode2">
<table>
<tr><td><b>Enter a value to find it's factorial:</b></td>
<td><input type = "number" name = "num"/></td>
</tr>
<tr>
<td></td>
<td><input type = "Submit" value = "Ok"/></td>
</tr>
</table>
</div>
</body>
</html>

Servlet Java Code:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletCode2 extends HttpServlet {


protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet ServletCode2</title>");
out.println("</head>");
out.println("<body>");
String nu = request.getParameter("num");
int num = Integer.parseInt(nu);
int j = 1;
for(int i = 1;i <= num; i++)
{
j = j*i;
}
out.print("The factorial is: "+j);
out.println("</body>");
out.println("</html>");
}
}
}

(2) Advance Server-Side Programming using Servlets

(A) Aim: Write two servlets in which one servlet will display a form in which data
entry
can be done for the field's dept-no, dept-name and location. In the same
form place a
button called as submit and on click of that button this record should be
posted to the
table called as DEPT in the database. This inserting of record should be done
in the
other servlet.

Solution:

Servlet Code:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class DataEntryServlet extends HttpServlet {


protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html><head><Title>Department Info</title></head>");
out.println("<body>");
out.println("<h1>Servlet DataEntryServlet at " +
request.getContextPath() + "</h1>");
out.println("<form name=frm method="+"get"+"
action=DeptEntryServlet>");
out.println("DepartmentNo:<input type=text name=txtNo><br>");
out.println("DepartmentName:<input type=text name=txtName><br>");
out.println("Location:<input type=text name=txtLoc><br>");
out.println("<input type=submit name=Submit>");
out.println("<input type=reset name=Reset>");
out.println("</body>");
out.println("</form>");
out.println("</html>");
}
}
}

Servlet Code:

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = {"/DeptEntryServlet"})
public class DeptEntryServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
try {
int dno;
String dname, dlc, sqr;
dno = Integer.parseInt(request.getParameter("txtNo"));
dname = request.getParameter("txtName");
dlc = request.getParameter("txtLoc");
sqr = "insert into DEPT values("+dno+", '"+dname+"', '"+dlc+"')";
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection cn =
DriverManager.getConnection("jdbc:derby://localhost:1527/Company");
Statement st = cn.createStatement();
st.executeUpdate(sqr);
}
catch(Exception e)
{
out.print(e.getMessage());
}
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet DeptEntryServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Records inserted successfully</h1>");
out.println("</body>");
out.println("</html>");
}
}
}

(B) Aim: Write a servlet that accepts a User Name from HTML form and stores it as a

session variable. Write another servlet that returns the value of this
session variable
and displays it.

Solution.

HTML Code:

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>
<form action="SessionServlet1">
Enter Name: <input type="text" name="txt1" value="" />
<input type="submit" value="Submit" />
</form>
</div>
</body>
</html>

Servlet Code 1:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class SessionServlet1 extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet SessionServlet1</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet SessionServlet1 at " +
request.getContextPath() + "</h1>");
String str = request.getParameter("txt1");
HttpSession session = request.getSession(true);
session.setAttribute("un", str);
response.sendRedirect("SessionServlet2");
out.println("</body>");
out.println("</html>");
}
}
}

Servlet Code 2:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SessionServlet2 extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse


response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet SessionServlet2</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet SessionServlet2 at " +
request.getContextPath() + "</h1>");
String ans = (String) request.getSession(false).getAttribute("un");
out.println(ans);
out.println("</body>");
out.println("</html>");
}
}
}
(3) Simple Server-Side programming using JSP

3. Aim: Write JSP file that accepts a number from HTML form and
Displays whether its even or odd.
Its factorial
Multiplication table

Solution:

HTML Code:

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="EvenFactMul.jsp" method="GET">
<h3>Calculate Factorial , Even/Odd and Table of given Number.</h3><br>
Enter Number: <input type="text" name="num">
<input type="submit" value="submit">
</form>
</body>
</html>

JSP Code:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<% String str;
int n;
str=request.getParameter("num");
n=Integer.parseInt(str);%>
<h3>Display Factorial </h3>
<% try {
int fact=1,j;
for(j=1;j<=n;j++)
{
fact=fact*j;
}
out.print("Factorial of "+ n+" is "+fact);
}
catch(Exception e)
{
}
%>
<%! int m; %>
<h3>Display EVEN/ODD </h3>
<%
if(n%2==0)
{
out.print("Even Number");
}
else
{
out.print("Odd Number");
}
%>
<%
int t;
%>
<h3>Display Table </h3>
<%
for(t=1;t<=10;t++)
{
out.println(n+" x "+t+" = "+t*n);
out.print("<br>");
}
%>
</body>
</html>

(4) Advance Server-Side programming using JSP

(A) Aim: Write a JSP page, which displays three text boxes for user name, password
and
email. On click of the submit button call another JSP page which will enter
the values in
the database with the help of PreparedStatement class.

Solution.

JSP Code 1:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form name=frm method=get action=DeptEntry.jsp>
Username: <input type="text" name="uname"><br><br>
Password: <input type="password" name="pwd"><br><br>
Email: <input type="text" name="mail"><br><br>
<input type="submit" name="Submit">
<input type="reset" name="Reset">
</form>
</body>
</html>

JSP Code 2:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%@page import="java.sql.*" %>
<%
try {
String dname, dpass, dmail, sqr;
dname = request.getParameter("uname");
dpass = request.getParameter("pwd");
dmail = request.getParameter("mail");
sqr = "insert into employee values('"+dname+"', '"+dpass+"',
'"+dmail+"')";
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection cn =
DriverManager.getConnection("jdbc:derby://localhost:1527/Company");
Statement st = cn.createStatement();
st.executeUpdate(sqr);
out.println("Record inserted successfully");
}
catch(Exception e)
{
out.print(e.getMessage());
}
%>
</body>
</html>

(5) Developing Simple Enterprise Java Beans

(A) Aim: Develop Converter Stateless Session Bean. Write Enterprise application
for
converting Japanese yen currency to Eurodollars currency. Converter consists
of an
enterprise bean, which performs the calculations, and a web client
(JSP/Servlet) or
Application client.

Solution.

Java Session Bean Code:

package converter.ejb;
import java.math.BigDecimal;
import javax.ejb.Stateless;

@Stateless
public class ConverterBean implements ConverterBeanRemote {
private BigDecimal eurorate=new BigDecimal("0.0070");
private BigDecimal yenrate=new BigDecimal("112.58");
@Override
public BigDecimal dollarToYen(BigDecimal dollars)
{
BigDecimal result=dollars.multiply(yenrate);
return result.setScale(2,BigDecimal.ROUND_UP);
}
@Override
public BigDecimal YenToEuro(BigDecimal yen)
{
BigDecimal result=yen.multiply(eurorate);
return result.setScale(2,BigDecimal.ROUND_UP);
}
}

Remote Java Bean Code:

package converter.ejb;
import java.math.BigDecimal;
import javax.ejb.Remote;

@Remote
public interface ConverterBeanRemote {
public BigDecimal dollarToYen(BigDecimal dollars);
public BigDecimal YenToEuro(BigDecimal yen);
}

Client Bean Code:

package converter.client;
import converter.ejb.ConverterBeanRemote;
import java.math.BigDecimal;
import javax.ejb.EJB;

public class ConverterClient {


@EJB
private static ConverterBeanRemote converter;
public ConverterClient(String[] args)
{
}
public static void main(String args[])
{
ConverterClient client =new ConverterClient(args);
client.doConversion();

}
public void doConversion()
{
try{
BigDecimal param =new BigDecimal("100.00");
BigDecimal yenAmount=converter.dollarToYen(param);
System.out.println("$"+param+ "is" +yenAmount+"Yen");
BigDecimal euroAmount=converter.YenToEuro(yenAmount);
System.out.println(yenAmount +"yen is"+euroAmount+"Euro");
System.exit(0);
}
catch(Exception e)
{
System.err.println("Caught an unexpected exception");
}
}
}

JSP Code:

<%@page import="converter.ejb.ConverterBeanRemote,java.math.*,javax.naming.*"%>
<%!
private ConverterBeanRemote converter=null;
public void jspInit()
{
try
{
InitialContext ic=new InitialContext();
converter=(ConverterBeanRemote)ic.lookup(ConverterBeanRemote.class.getName());
}
catch(Exception e)
{
System.out.println("Couldnt create converter bean" +e.getMessage());
}
}
public void jspDestroy()
{
converter=null;
}
%>
<html>
<head>
<title>converter</title></head>
<body>
<p>Enter an amount to convert</p>
<form method="get">
<input type="text" name="amount">
<p><input type="submit" value="submit">
<p><input type="reset" value="reset">
</form>
<%
String amount=request.getParameter("amount");
if(amount!=null && amount.length()>0)
{
BigDecimal d=new BigDecimal(amount);

BigDecimal yenAmount=converter.dollarToYen(d);
%>
<p><h2><%=amount%> Dollar = <%=yenAmount%> Yen</h2></p>
<%
BigDecimal euroAmount=converter.YenToEuro(yenAmount);
%>
<h2><%=yenAmount%> Yen = <%=euroAmount%> Euro</h2>
<%}
%>
</body>
</html>

(B) Aim: Develop Calculator Stateless Session Bean. Write Enterprise application
for
adding, subtracting, multiplying and dividing two numbers. Calculator
consists of an
enterprise bean, which performs the calculations, and a web client
(JSP/Servlet) or
Application client.

Solution:

Java Session Bean Code:


package Calculator.ejb;
import java.math.*;
import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
public class CalculatorBean implements CalculatorBeanRemote {
public float add(float x, float y){
return x + y;
}
public float subtract(float x, float y){
return x - y;
}
public float multiply(float x, float y){
return x * y;
}
public float division(float x, float y){
return x / y;
}
}

Remote Java Bean Code:

package Calculator.ejb;
import java.math.*;
import java.lang.annotation.*;
import javax.ejb.Remote;

@Remote
public interface CalculatorBeanRemote {
public float add(float x, float y);
public float subtract(float x, float y);
public float multiply(float x, float y);
public float division(float x, float y);
}

JSP Client Code:

<%@ page contentType="text/html; charset=UTF-8" %>


<%@ page import="Calculator.ejb.*,javax.naming.*"%>

<%!
private CalculatorBeanRemote calculator = null;
float result=0;

public void jspInit() {


try {
InitialContext ic = new InitialContext();
calculator=(CalculatorBeanRemote)ic.lookup(CalculatorBeanRemote.class.getName());
System.out.println("Loaded Calculator Bean");
} catch (Exception ex) {
System.out.println("Error:"+
ex.getMessage());
}
}
public void jspDestroy() {
calculator = null;
}
%>
<%
try {
String s1 = request.getParameter("num1");
String s2 = request.getParameter("num2");
String s3 = request.getParameter("group1");

System.out.println(s3);

if ( s1 != null && s2 != null ) {


Float num1 = new Float(s1);
Float num2 = new Float(s2);

if(s3.equals("add"))
result=calculator.add(num1.floatValue(),
num2.floatValue());
else if(s3.equals("sub"))
result=calculator.subtract(num1.floatValue(),
num2.floatValue());
else if(s3.equals("multi"))
result=calculator.multiply(num1.floatValue(),
num2.floatValue());
else
result=calculator.division(num1.floatValue(),
num2.floatValue());

%>
<p>
<b>The result is:</b> <%= result %>
<p>
<%
}
}
catch (Exception e) {
e.printStackTrace ();
}
%>

JSP Code:

<html>
<head>
<title>Calculator</title>
</head>
<body>
<h1>Calculator</h1>
<hr>
<form action="CalculatorClient.jsp" method="POST">
<p>Enter first value:
<input type="text" name="num1" size="25"></p>
<br>
<p>Enter second value:
<input type="text" name="num2" size="25"></p>
<br>
<b>Select your choice:</b><br>
<input type="radio" name="group1" value ="add">Addition<br>
<input type="radio" name="group1" value ="sub">Subtraction<br>
<input type="radio" name="group1" value ="multi">Multiplication<br>
<input type="radio" name="group1" value ="div">Division<br>
<p>
<input type="submit" value="Submit">
<input type="reset" value="Reset"></p>
</form>
</body>
</html>

(6) Developing Advance Enterprise Java Beans

(A) Aim: Develop CommonDivMul Stateless Session Bean. Write Enterprise


application
for calculating the GCD and LCM of two numbers. CommonDivMul consists of an

enterprise bean, which performs the calculations, and a web client


(JSP/Servlet) or
Application client.

Solution:

Java Session Bean Code:

package GcdLcm.ejb;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

@Stateless
@LocalBean
public class GcdLcmBean implements GcdLcmBeanLocal {
int r=-1;
public int gcd(int c,int d)
{
while(r!=0)
{
r=c%d;
c=d;
d=r;
}
return c;
}
public int lcm(int c,int d)
{
int r=-1;
int a1=c;
int a2=d;
while(r!=0)
{
r=a1%a2;
a1=a2;
a2=r;
}
return((c*d)/a1);
}
}
Servlet Code:
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import GcdLcm.ejb.*;
import static java.lang.System.out;
import javax.servlet.annotation.WebServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="GcdLcmServlet", urlPatterns={"/GcdLcmServlet"})
public class GcdLcmServlet extends HttpServlet {
@EJB
private GcdLcmBean obj;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
int a=Integer.parseInt(request.getParameter("t1"));
int b=Integer.parseInt(request.getParameter("t2"));
out.println("GCD of two numbers is: "+obj.gcd(a, b));
out.println("<br>");
out.println("LCM of two numbers is: "+obj.lcm(a, b));
} finally {
out.close();
}
}
}

JSP Code:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h2>To Find GCD and LCM of two Numbers</h2>
<form action="GcdLcmServlet" method="get">
Enter First Number: <input type="text" name="t1"><br><br>
Enter Second Number: <input type="text" name="t2"><br><br>
<input type="submit" value="submit">
</form>
</body>
</html>

(B) Aim: Design a servlet that accepts mobile name from HTML page and shows mobile
price and features to user by accessing mobile bean .

Solution:

Java Session Bean Code:

package mobile.ejb;
import javax.ejb.Stateful;

@Stateful
public class MobileBean implements MobileBeanRemote {
int price;
String model,feature;
@Override
public void setModelName(String s) {
model=s;
}
@Override
public int getPrice() {
if(model.equals("Samsung"))
{
price= 43000;
}
if(model.equals("Apple"))
{
price=60000;
}
return price;
}
@Override
public String getFeature() {
if(model.equals("Samsung"))
{
feature="Hybrid Dual SIM, Motion Panorama, Water & dust resistant";
}
if(model.equals("Apple")){
feature="High Resolution Dual 12 MP Cameras, Most Powerful Chip in a
Smartphone";
}
return feature;
}
}

Remote Java Bean Code:

package mobile.ejb;
import javax.ejb.Remote;

@Remote
public interface MobileBeanRemote {
public void setModelName(String s);
public int getPrice();
public String getFeature();
}

Servlet Code:

import mobile.ejb.MobileBeanRemote;
import javax.naming.InitialContext;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
import static java.lang.System.out;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(name="MobileServlet", urlPatterns={"/MobileServlet"})
public class MobileServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
String str=request.getParameter("t");
InitialContext ct=new InitialContext();
MobileBeanRemote
mb=(MobileBeanRemote)ct.lookup("java:global/Test_EJB/MobileBean");
mb.setModelName(str);
out.println("Price = "+mb.getPrice());
out.println("<br>Features = "+mb.getFeature());
} catch(Exception e) {
out.print(e);}
}
}

HTML Code:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mobile</title>
</head>
<body>
<form name="f" action="MobileServlet" method="get">
Enter mobile model name: <input type="text" name="t">
<br><br>
<input type="submit" value="submit">
</form>
</body>
</html>

(7) Developing Simple Web services in Java

(A) Aim: Create a web service that gives (i) NSE Index, (ii) BSE Index, (iii)
Gold Rate. The
values are stored in database. Also create a web client for a share trading
firm that
displays these values on its home page

Solution:

Java Web Service Code:

package trade.ws;
import java.sql.*;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

@WebService(serviceName = "Trade_WS")
public class Trade_WS {
@WebMethod
public String giveRate(@WebParam(name = "item") String item)
{
String rate="1";
Connection con=null;
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
con=DriverManager.getConnection("jdbc:derby://localhost:1527/db1");
}
catch(Exception e)
{
System.err.println(e);
}
try {
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from trade where Index='" + item + "'");
while(rs.next())
{
rate=rs.getString(2);
} }
catch(SQLException e)
{
System.err.println(e);
}
return rate; }
}

JSP Code 1:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Trading Rate</h1>
<%
String str=request.getParameter("selitem");
try
{
trade.ws.Trade_WS port = new trade.ws.Trade_WS();
String result=port.giveRate(str);
out.println("Rate is = "+result);
}
catch(Exception e){}
%>
</body>
</html>
JSP Code 2:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="Trade.jsp" method="POST">
<h1>Share & Commodities Trading </h1>
<hr>
Select item to know the rate
<select name="selitem" >
<option value="NSE">NSE Index
<option value="BSE">BSE Index
<option value="GOLD">Gold Rate
</select>
<input type="Submit" value="submit">
</body>
</html>

(8) Developing Advance Web services in Java

(A) Aim: Create a web service for UGC that contains a method which accepts college
name
as parameter and returns the NAAC rating. The college names and their ratings
are
stored in database. Design a web client to test the above web service.

Solution:

Java Web Service Code:

package ugc.ws;
import java.sql.*;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

@WebService(serviceName = "UGC_WS")
public class UGC_WS {
public String getRating(@WebParam(name = "cname") String cname)
{
String rating="A";
Connection con=null;
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
con=DriverManager.getConnection("jdbc:derby://localhost:1527/db1");
}
catch(Exception e)
{
System.err.println(e);
}
try {
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from NAAC where college='" + cname + "'");
while(rs.next())
{
rating=rs.getString(2);
} }
catch(SQLException e)
{
System.err.println(e);
}
return rating; }
}

JSP Code 1:

<%@page import="ugc.ws.UGC_WS"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>UGC NAAC Rating</h1>
<%
String str=request.getParameter("selitem");
try
{
ugc.ws.UGC_WS port = new ugc.ws.UGC_WS() ;
String result=port.getRating(str);
out.println("UGC NAAC Rating of "+str +" is: "+result);
}
catch(Exception e){}
%>
</body>
</html>

JSP Code 2:

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<form action="NAAC_Test.jsp" method="POST">
<h1>UGC NAAC Rating</h1>
<hr>
Select College to know the rating
<select name="selitem" >
<option value="MVLU">MVLU College
<option value="Bhavans">Bhavans College
<option value="Sathe">Sathe College
<option value="Mithibai">Mithibai College
</select>
<input type="Submit" value="submit">
</body>
</html>

Potrebbero piacerti anche