Web Technology Lab Manual 24-25
Web Technology Lab Manual 24-25
1. About Program i
2. Assignment List ii
Nowadays, there are a few companies that, if having a traditional business, do not have a web
presence. The Internet environment is not only a simple tool to promote a business, but it also
offers opportunities to supply information; it is an efficient platform to communicate with the
clients. The integration of Web technologies has an important place into the process of
accomplishing companies’ objectives to increase the competitiveness degree on the market by
building customer loyalty.
The Future of Web Development: Javascript has been ubiquitous on the front-end for a long time
and Node has grown into a well developed, enterprise ready technology with a massive amount of
support via the npm. New tools such as Ionic(mobile) and Electron(desktop) have made it possible
to build applications across all platforms using HTML, CSS and Javascript. The server side
applications are PHP, AJAX, Servlet, Ruby etc.
i
Web Technology Lab
Assignment List
1. Case study: Before coding of the website, planning is important, students should visit different
websites (Min 5) for the different client projects and note down the evaluation results for these
websites, either good website or bad website in given format.
2. Implement a web page index.htm for any client website (e.g., a restaurant website project) using
following:
a. HTML syntax: heading tags, basic tags and attributes, frames, tables,
images, lists, links for text and images, forms etc.
b. Use of Internal CSS, Inline CSS, External CSS.
3. Design the XML document to store the information of the employees of any business
organization and demonstrate the use of: a) DTD b) XML Schema, and display the content in
(e.g., tabular format) by using CSS/XSL.
4. Implement an application in Java Script using following:
a) Design UI of application using HTML, CSS etc.
b) Include Java script validation
c) Use of prompt and alert window using Java Script
5. Implement the sample program demonstrating the use of Servlet.
6. Implement the program demonstrating the use of JSP.
7. Build a dynamic web application using PHP and MySQL. Create a login module for the web
application using struts framework.
a. Create database tables in MySQL and create connection with PHP.
b. Create the add, update, delete and retrieve functions in the PHP web app interacting with
MySQL database.
8. Design a login page with entries for name, mobile number email id and login
button. Use struts and perform validations.
9. Design an application using Angular JS
10. Design and implement a business interface with necessary business logic for web
application using EJB.
ii
Web Technology Lab Manual
Assignment No. : 1
TECHNOLOGY
Case study: Before coding of the website, planning is important, students should visit
different websites (Min 5) for the different client projects and note down the evaluation
results for these websites, either good website or bad website in given format
OBJECTIVES
PROBLEM STATEMENT
Case study:
Before coding of the website, planning is important, students should visit different websites (Min.
5) for the different client projects and note down the evaluation results for these websites, either
good website or bad website in following format:
From the evaluation, students should learn and conclude different website design issues, which
Should be considered while developing a website.
OUTCOME
Students will be able to, planned and develop good web application considering all facts.
SOFTWARE & HARDWARE REQUIREMENTS
1. Browser with Internet Connection
THEORY-CONCEPT
Web Application:
A web application runs over the Internet. Ex. eBay,Amazon ,Google, facebooketc
A webapp contains five components:
1. HTTP Server: Examples are- Google Web Server , Apache HTTP Server, Apache
Tomcat Server, Microsoft Internet Information Server (IIS) etc
Trinity College of Engineering and Research, Pune Page 3
Web Technology Lab Manual
2. HTTP Client (Web Browser): Examples are- Internet Explorer, Firefox, Google Chrome,
Safari etc.
3. Database: Examples are- MySQL, Apache Derby, MS SQL Server, SQLite, PostgreSQL,
4. Client-Side Programs: It can be written in HTML Form,VBScript, JavaScript, Flash etc.
5.Server-Side Programs: could be written in Java Servlet/JSP, ASP, PHP, Perl, Python,
CGI, and others.
A web app is 3-tier (or multi-tier) client-server database application which run over the
Internet as shown in the following diagram,
1. To start a webapp, A user, issues a URL request via a web browser (HTTP client), to
HTTP server.
2. The HTTP server returns an HTML form (client-side program), which is loaded into the
client's browser.
3. The user fills up the query data inside the form and submits that form.
5. The server-side program receives the query parameters, queries the database based on
these parameters, and returns the query result to the client-side program.
EXECUTION STEPS
Hence, we have learned how plan the website also what points we consider while developing website.
Assignment Questions
CONCLUSION / ANALYSIS
Hence, we have analyzed various websites and came to know good points and limitations.
Assignment No. : 2
TECHNOLOGY
PROBLEM STATEMENT
Implement a web page index.htm for any client website (e.g., a restaurant website
project) using following:
b. HTML syntax: heading tags, basic tags and attributes, frames, tables,
images, lists, links for text and images, forms etc.
b. Use of Internal CSS, Inline CSS, External CSS.
OUTCOME
THEORY-CONCEPT
HTML: HTML is the standard markup language for creating Web pages.
• HTML Versions:
HTML 1991
HTML 2.0 1995
HTML 3.2 1997
HTML 4.01 1999
XHTML 2000
HTML 5 2014
Table.1: HTML Versions
CSS:
CSS stands for Cascading Style Sheet. It is nothing, but design language intended to simplify the
process of making web pages presentable.CSS handles the feel and look part of a web page.By
using CSS, one can control the color of text, style of fonts, spacing between paragraphs, layout
designs.
Advantages of CSS:
It saves the time, Pages load faster, Easy maintenance, Superior styles to HTML, Multiple
Device Compatibility, Global web standards, Offline Browsing, Platform Independence.
CSS3 Modules:
CSS3 Modules are having old CSS specifications as well as extension features.
• Box Model
• Selectors
• Background
• Animations
• 2D/3D Transformations
• Multiple Column Layout
• User Interface
TECHNOLOGY / TOOL
• Inline - by using the style attribute in HTML elements. An inline CSS is used to apply a
unique style to a single HTML element.
• Internal - by using a <style> element in the <head> section. An internal CSS is used to
define a style for a single HTML page. An internal CSS is defined in the <head> section
of an HTML page, within a <style> element.
Example:<style>
body {background-color: powderblue;}
h1 {color: blue;}
p {color: red;}
</style>
• External - by using an external CSS file. An external style sheet is used to define the style
for many HTML pages. With an external style sheet, you can change the look of an entire
web site, by changing one file!To use an external style sheet, add a link to it in the
<head> section of the HTML page.
• Use the HTML <head> element to store <style> and <link> elements
• Use the CSS color property for text colors
• Use the CSS font-family property for text fonts
• Use the CSS font-size property for text sizes
• Use the CSS border property for borders
• Use the CSS padding property for space inside the border
• Use the CSS margin property for space outside the border
TEST CASES
CONCLUSION/ANALYSIS
Hence, we have designed static web pages using HTML and CSS.
<html>
<head>
<Technology> WELCOME AT TCOER </Technology>
<link rel="stylesheet" type="text/css" href="homestyle.css">
</head>
<body>
<header>
<div class="home">
<div class="logo">
<img src="logo.png">
</div>
<ul>
<li><a href="#">HOME </li>
<li><a href="#">DEPT</li>
<li><a href="#">STUDENT CORNER </li>
<li><a href="#">CONTACT US </li>
</ul>
</div>
<div class="Technology">
<h1> TRIINITY COLLEGE OF ENGINEERING & RESEARCH</h1>
</div>
</header>
<div class="button">
<a href="#" class="btn"> STUDENT CORNER </a>
<a href="#" class="btn"> SPPU CORNER </a>
</div>
</header>
header{
background-image: url("images.jpg");
height: 25vh;
}
ul{
float: right;
margin-top: 25 px;
}
ul li{
}
.logo img{
float:left;
widht: 160px;
height: 160px;
display: inline-block;
background-color: red;
}
}
.Technology{
ul li a{
position: absolute;
color: white;
top: 25%;
padding: 5px 5px;
left: 25%
}
}
.button{
position: absolute;
ul li a:hover{
top: 40%;
background-color: green;
left: 25%
}
}
.logo img{
float:left;
.btn{
widht: 160px;
border: 1px solid red;
height: 160px;
display: inline-block;
padding: 10px 30px;
}
color: red;
.Technology{
}
position: absolute;
</style>
top: 25%;
left: 25%
}
.button{
position: absolute;
top: 40%;
Trinity Collegeleft: 25%
of Engineering and Research, Pune Page 12
}
.btn{
Web Technology Lab Manual
ORAL QUESTIONS
Assignment No. : 3
TECHNOLOGY
Technology: XML
PROBLEM STATEMENT
Design the XML document to store the information of the employees of any business
organization and demonstrate the use of: a) DTD b) XML Schema, and display the
content in (e.g., tabular format) by using CSS/XSL.
OUTCOMES
THEORY-CONCEPT
XML stands for Extensible Markup Language. It is nothing but the text-based markup language
which is derived from Standard Generalized Markup Language(SGML).
XML tags identify the data and are used to store and organize the data, rather than specifying how
to display it like HTML tags, which are used to display the data. XML is not going to replace
HTML in the near future, but it introduces new possibilities by adopting many successful features
of HTML.
There are three important characteristics of XML that make it useful in a variety of systems and
solutions −
• XML is extensible − XML allows you to create your own self-descriptive tags, or
language, that suits your application.
• XML carries the data, does not present it − XML allows you to store the data irrespective
of how it will be presented.
XML is a public standard − XML was developed by an organization called the World Wide
Web Consortium (W3C) and is available as an open standard.
TECHNOLOGY/TOOL
The XML document have an XML declaration, but it is optional, and it is written as−
<? xml version = "1.0" encoding = "UTF-8"?>
Where version is nothing but the version of an XML document and UTF specifies the character-
encoding used in the document.
Each XML-element needs to be closed either with start or with end elements as shown below −
<element>………</element>
An XML document can have only one root element.
<root>
<x>...</x>
<y>...</y>
</root>
XML Attributes:
Using a name/value pair, an attribute specifies a single property for an element. An XML-
element can have one or more attributes. For example −
DESIGN/EXECUTION STEPS
TEST CASES
CONCLUSION/ANALYSIS
Hence, we have designed static web pages using XML and CSS
PROGRAM CODE & OUTPUT
Book.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="book_catalog.css"?>
<CATALOG>
<BOOK>
<TECHNOLOGY>Database Management System</TECHNOLOGY>
<AUTHOR>Korth</AUTHOR>
<PRICE>500</PRICE>
<YEAR>1985</YEAR>
</BOOK>
<BOOK>
<TECHNOLOGY>Computer Network</TECHNOLOGY>
<AUTHOR>Tenenbaum</AUTHOR>
<PRICE>600</PRICE>
<YEAR>1985</YEAR>
</BOOK>
<BOOK>
<TECHNOLOGY>Software Engineering and project Management</TECHNOLOGY>
<AUTHOR>Roger Pressman</AUTHOR>
<PRICE>600</PRICE>
<YEAR>1985</YEAR>
</BOOK>
</CATALOG>
book_catalog.css
BOOK {
Display: block;
margin-left:0;
magin-bottom: 30pt;
}
CATALOG {
Width:100%;
background-color: #ffffff;
}
TECHN
OLOGY
{
Color: ff0000;
display: block;
font-size: 20pt;
}
AUTHOR {
display: block;
color: #0000ff;
font-size: 20pt;
}
YEAR, PRICE {
Color:#00000;
Display: block;
Margin-left: 20pt;
}Output:
ORAL QUESTIONS
Assignment No. - 4
TECHNOLOGY
PROBLEM STATEMENT
Design and implement a simple calculator using Java Script for operations like addition,
multiplication, subtraction, division, square of number etc
OUTCOMES
THEORY-CONCEPT
JavaScript is a programming language of HTML as well web. It is preferred for creating network-
centric applications.It is integrated and complimentary with Java. As JavaScript is integrated with
HTML it is very easy to implement. It is open as well as cross-platform.
Advantages:
• Increased interactivity
• Richer interfaces
Validation:
When client enters the all necessary data and press the submit button form validation is
done at server side If data entered by a client is incorrect or missing,the server needs to send all
data back to the client and request for resubmission of form with correct information. This is
really a lengthy process which puts a lot of load(burden) on the server.
So, JavaScript provides a way to validate form's data on the client's side itself before sending it
to the web server. Form validation performs two functions-
• Basic Validation –First of all the form must be checked to make sure all the mandatory
fields are filled in. It would require just a loop through each field in the form and check
for the data.
• Data Format Validation − Secondly, the data that is entered must be checked for correct
format and its value. The code must include appropriate logic to test correctness of data.
TECHNOLOGY/TOOL
JavaScript can be implemented using JavaScript statements that are placed within the <script>.
You can place the <script> tags, containing your JavaScript, anywhere within your web page,
but it is normally recommended that you should keep it within the <head> tags.
• Language − This attribute specifies what scripting language you are using. Typically, its
value will be JavaScript. Although recent versions of HTML (and XHTML, its successor)
have phased out the use of this attribute.
• Type − This attribute is what is now recommended to indicate the scripting language in
use and its value should be set to "text/javascript".
DESIGN/EXECUTION STEPS
TEST CASES
CONCLUSION/ANALYSIS
Input:
<!DOCTYPE html>
<html lang = "en">
<head> <Technology> JavaScript Calculator </Technology>
<style> h1 {
text-align: center;
padding: 23px;
background-color: skyblue;
color: white;
}
#clear{
width: 270px; border: 3px solid gray;
border-radius: 3px;
padding: 20px;
background-color: red;
}
.formstyle
{
width: 300px;
height: 530px;
margin: auto;
border: 3px solid skyblue;
border-radius: 5px;
padding: 20px;
}
input
{
width: 20px;
background-color: green;
color: white;
border: 3px solid gray;
border-radius: 5px;
padding: 26px;
margin: 5px;
font-size: 15px;
}
#calc{
width: 250px;
border: 5px solid black;
border-radius: 3px;
padding: 20px;
margin: auto;
}
<!-- This input box shows the button pressed by the user in calculator. -->
<input id = "calc" type ="text" name = "answer"> <br> <br>
. <!-- Display the calculator button on the screen. -->
<!-- onclick() function display the number prsses by the user. -->
<input type = "button" value = "1" onclick = "form1.answer.value += '1' ">
<input type = "button" value = "2" onclick = "form1.answer.value += '2' ">
. <input type = "button" value = "3" onclick = "form1.answer.value += '3' ">
<input type = "button" value = "+" onclick = "form1.answer.value += '+' ">
<br> <br>
<input type = "button" value = "4" onclick = "form1.answer.value += '4' ">
<input type = "button" value = "5" onclick = "form1.answer.value += '5' ">
<input type = "button" value = "6" onclick = "form1.answer.value += '6' ">
<input type = "button" value = "-" onclick = "form1.answer.value += '-' ">
<br> <br>
</form>
</div>
</body>
</html>
ORAL QUESTIONS
OBJECTIVES
PROBLEM STATEMENTS
SOFTWARE NEEDED
THEORY - CONCEPT
Java Server Pages (JSP): It is a server side programming technology that is used to create
dynamic web-based applications. JSP have right to use the complete Java APIs, including the
JDBC API to access the databases.
It is a technology that helps software developers to create dynamic web pages based on HTML,
XML and other document types. It was released in 1999 by Sun Microsystems. It is just like a
PHP and ASP, but it uses the Java programming language.
A JSP element is a type of java servlet that is designed to accomplish the role of a user interface
for a java web application. Web developers write JSPs as text files that combine HTML or
XHTML code, XML elements, and rooted JSP actions and commands.
Using JSP, you can collect input from users through webpage forms, current records from a
database or another source and create web pages dynamically.
JSP tags can be used for different purposes, such as retrieving information from a database or
registering user preferences, accessing JavaBeans components, passing control between pages,
and sharing information between requests, pages etc.
Servlet:
A Servlet is a server side program and written in Java. Servlet is a web component that is deployed
on the server for creating the dynamic web pages. A Java servlet is a Java program that extends
the capabilities of a server. Although servlets can respond to any types of requests, they most
commonly execute applications hosted on Web servers.
TECHNOLOGY/TOOL IN BRIEF
NetBeans: NetBeans is an IDE, used for quickly and easily developing java desktop, mobile, and
web applications, as well as HTML5 applications with HTML, JavaScript, and CSS. Also provides
a huge set of tools for PHP and C/C++ developers. It is free and open source tool and has a great
community of users and developers around the world.
MySQL: MySQL is a freely available open source Relational Database Management System
(RDBMS). It uses the Structured Query Language (SQL).
SQL is the most popular language for adding, accessing and managing data in a database. It is
most noted for its quick processing, proven reliability, ease and flexibility of use. MySQL is an
essential part of almost every open source PHP application. Good examples for PHP & MySQL-
based scripts are WordPress, Joomla, Magento and Drupal.
✓ From this page insert some data which will be insert into demo tables
On submit.
TEST CASES
Manual testing is used to validate the fields like username, password, mobile number and email
id’s of the users entered by user with the database.
CONCLUSION / ANALYSIS
Hence, we have performed the dynamic web application using Servlet and MySQL.
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.DriverManager;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
// Import Database Connection Class file
// Servlet Name
@WebServlet("/InsertData")
public class InsertData extends HttpServlet {
Class.forName(dbDriver);
Connection con = DriverManager.getConnection(dbURL + dbName,
dbUsername,
Assignment No. - 06
TECHNOLOGY
OBJECTIVES
PROBLEM STATEMENTS
1. Design and Build Employee Login Page using JSP and MySQL.
.
OUTCOMES
SOFTWARE NEEDED
THEORY - CONCEPT
Java Server Pages (JSP): It is a server side programming technology that is used to create
dynamic web-based applications. JSP have right to use the complete Java APIs, including the
JDBC API to access the databases.
It is a technology that helps software developers to create dynamic web pages based on HTML,
XML and other document types. It was released in 1999 by Sun Microsystems. It is just like a
PHP and ASP, but it uses the Java programming language.
A JSP element is a type of java servlet that is designed to accomplish the role of a user interface
for a java web application. Web developers write JSPs as text files that combine HTML or
XHTML code, XML elements, and rooted JSP actions and commands.
Using JSP, you can collect input from users through webpage forms, current records from a
database or another source and create web pages dynamically.
JSP tags can be used for different purposes, such as retrieving information from a database or
registering user preferences, accessing JavaBeans components, passing control between pages,
and sharing information between requests, pages etc.
<body>
<%
out.println("Welcome to JSP Class");
%>
</body>
</html>
Output:
Welcome to JSP Class
Servlet:
A Servlet is a server side program and written in Java. Servlet is a web component that is deployed
on the server for creating the dynamic web pages. A Java servlet is a Java program that extends
the capabilities of a server. Although servlets can respond to any types of requests, they most
commonly execute applications hosted on Web servers.
TECHNOLOGY/TOOL IN BRIEF
NetBeans: NetBeans is an IDE, used for quickly and easily developing java desktop, mobile, and
web applications, as well as HTML5 applications with HTML, JavaScript, and CSS. Also provides
a huge set of tools for PHP and C/C++ developers. It is free and open source tool and has a great
community of users and developers around the world.
MySQL: MySQL is a freely available open source Relational Database Management System
(RDBMS). It uses the Structured Query Language (SQL).
SQL is the most popular language for adding, accessing and managing data in a database. It is
most noted for its quick processing, proven reliability, ease and flexibility of use. MySQL is an
essential part of almost every open source PHP application. Good examples for PHP & MySQL-
based scripts are WordPress, Joomla, Magento and Drupal.
TEST CASES
Manual testing is used to validate the fields like username, password, mobile number and email
id’s of the users entered by user with the database.
CONCLUSION / ANALYSIS
Hence, we have performed the dynamic web application using JSP, Servlet and MySQL.
// index.jsp
<%--
Document : Login
Created on : Dec 31, 2017, 2:07:34 PM
Author : Admin
--%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<Technology> Login </Technology>
</head>
<body>
<table>
<tr>
<td width="300"></td>
<td> <font color="#339900" size="3.5">User Login</font>
<table>
<tr>
<td>
<form id="user1" method="post" action="User.jsp" name="s" onSubmit="return
valid()">
<table border="2.0">
<tr>
<td>
User Id</td>
<td><input type="text" name="user1"></td>
</tr>
<tr>
<td>
Password</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td>
</tr></table>
<center><table>
<tr>
<td>
<a href="SignUp.jsp"><font color="#000000" size="2"><b>New
User?</b></font></a></td></tr></table>
</td>
</tr></table></center>
</td>
</tr>
</table>
</form>
</body>
</html>
//SignUp.jsp
<%@ page import="java.sql.*"%>
<%@ page import = "java.util.Date,java.text.SimpleDateFormat,java.text.ParseException"%>
<%--
Document : SignUp
Created on : Dec 30, 2017, 11:52:03 PM
Author : Admin
--%>
<%
java.util.Date now = new java.util.Date();
String DATE_FORMAT1 = "dd/MM/yyyy";
SimpleDateFormat sdf1 = new SimpleDateFormat(DATE_FORMAT1);
String strDateNew1 = sdf1.format(now);
%>
<table border="black" bgcolor=" black" align ="center" >
<tr>
</tr>
<tr>
<td><font face="Times New Roman" size="+1"><strong>User ID</strong></font></td>
<td> <input type="text" name="uidd" id="name"></td>
</tr>
<tr>
<td><font face="Times New Roman"
size="+1"><strong>Password</strong></font></td>
<td> <input type="password" name="passs" class="b"></td>
</tr>
<tr>
<td><font face="Times New Roman" size="+1"><strong>Mobile</strong></font></td>
<td> <input type="text" name="mobb" class="b"></td>
</tr>
<tr>
<td><font face="Times New Roman" size="+1"><strong>Email
ID</strong></font></td>
<td> <input type="text" name="eidd" class="b"></td>
</tr>
<tr>
<td><font face="Times New Roman" size="+1"><strong>Date</strong></font></td>
<td> <input type="text" name="date" class="b"
value="<%=strDateNew1%>"></td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="s" value="submit"
class="b1" >
<input type="reset" name="r" value="clear" class="b1"></td>
</tr></td>
<td></td>
</table>
</form></td>
</tr></table>
<center> <table><tr><td> <a href="index.jsp"><font color="#000000" size="2"><b>Login
Here</b></font></a>
</td>
</tr></table></center>
</body>
</html>
//LoginSuccess.jsp
<%--
Document : LoginSuccess
Created on : Dec 31, 2017, 2:40:04 PM
Author : Admin
--%>
//LoginFailure.jsp
<%--
Document : LoginFailure
Created on : Dec 31, 2017, 2:42:21 PM
Author : Admin
--%>
//LoginServlet.jsp
<%@page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import = "java.util.Date,java.text.SimpleDateFormat,java.text.ParseException"%>
<%
String a = request.getParameter("uidd");
String x = request.getParameter("unn");
String b = request.getParameter("passs");
String c = request.getParameter("mobb");
String d = request.getParameter("eidd");
session.setAttribute("d",d);
//String f=request.getParameter("date");
//out.print(strDateNew1);
//out.print(x);
//out.print(b);
//out.print(c);
//out.print(d);
//out.print(f);
java.util.Date now = new java.util.Date();
String DATE_FORMAT = "yyyy-MM-dd";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
String strDateNew = sdf.format(now) ;
//response.sendRedirect("signup.jsp?message=success");
//String userid=null;
//String m="avl";
try
Trinity College of Engineering and Research, Pune Page 47
Web Technology Lab Manual
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/loginpage","root","root");
ps.executeUpdate();
response.sendRedirect("SignUp.jsp?success");
}
catch(Exception e1)
{
out.println(e1.getMessage());
response.sendRedirect("SignUp.jsp?Failure");%>
}
%>
//User.jsp
<%@ page import="java.sql.*;"%>
<%
String a=request.getParameter("user1");
String b=request.getParameter("pass");
String id=null,name=null,userid=null,email=null;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://localhost:3306/loginpage","root","root");
//Connection con = databasecon.getconnection();
PreparedStatement ps=con.prepareStatement("select sid,sname,suserid,email from student where
suserid='"+a+"' && spass='"+b+"'");
ResultSet rs=ps.executeQuery();
if(rs.next())
{
id=rs.getString("sid");
name=rs.getString("sname");
userid=rs.getString("suserid");
email=rs.getString("email");
session.setAttribute("sid",id);
session.setAttribute("sname",name);
session.setAttribute("suserid",userid);
session.setAttribute("email",email);
//response.sendRedirect("user5.jsp");
ORAL QUESTIONS
1. What is JSP?
2. What is Servlet?
3. What is the purpose of MySQL?
4. What is database?
5. What is the syntax of JSP?
6. How do we connect JSP file to database?
Assignments no: 07
TECHNOLOGY
Add dynamic web application essence using PHP, HTML and MySQL.
OBJECTIVES
To understand the principles and methodologies of PHP web based applications development
process,
PROBLEM STATEMENT
OUTCOMES
THEORY-CONCEPT
1. PHP:
The PHP Hypertext Preprocessor (PHP) began as a little open source venture that advanced as an
ever increasing number of individuals discovered how valuable it was. Rasmus Lerdorf released
the principal form of PHP route in 1994. PHP is a recursive acronym for "PHP: Hypertext
Preprocessor".
PHP is a server side scripting dialect that is installed in HTML. It is utilized to oversee dynamic
substance, databases, session following, even form whole internet business locales. It is
incorporated with various prevalent databases, including MySQL, PostgreSQL, Oracle, Sybase,
Informix, and Microsoft SQL Server.
PHP is pleasingly zippy in its execution, particularly when gathered as an Apache module on the
Unix side. The MySQL server, once began, executes even extremely complex questions with
colossal outcome sets in record-setting time.
PHP bolsters a substantial number of real conventions, for example, POP3, IMAP, and LDAP.
PHP4 included help for Java and conveyed question designs (COM and CORBA), making n- level
improvement a plausibility out of the blue. PHP is excusing: PHP dialect tries to be as pardoning
as would be prudent. PHP Syntax is C-Like.
PHP performs framework capacities, i.e. from documents on a framework it can make, open, read,
compose, and close them. PHP can deal with frames, i.e. accumulate information from records,
spare information to a document; through email you can send information, return information to
the client.
You include, erase, adjust components inside your database through PHP. Access treats factors
and set treats. Utilizing PHP, you can confine clients to get to a few pages of your site. It can
encode information.
Example:
To get a feel for PHP, first start with simple PHP scripts. Since "Hello, World!" is an essential
example, first we will create a friendly little "Hello, World!" script.
As mentioned earlier, PHP is embedded in HTML. That means that in amongst your normal
HTML (or XHTML if you're cutting-edge) you'll have PHP statements like this –
<html>
<head>
</head>
<body>
</body>
</html>
To create and run PHP Web pages three fundamental parts should be introduced on your PC
framework.
Web Server − PHP will work with for all intents and purposes all Web Server programming,
including Microsoft's Internet Information Server (IIS) however then regularly utilized is
unreservedly accessible Apache Server. Download Apache for nothing here −
https://httpd.apache.org/download.cgi
Database − PHP will work with for all intents and purposes all database programming, including
Oracle and Sybase yet most regularly utilized is uninhibitedly accessible MySQL database.
Download MySQL for nothing here − https://www.mysql.com/downloads/
PHP Parser − keeping in mind the end goal to process PHP content directions a parser must be
introduced to create HTML yield that can be sent to the Web Browser. This instructional exercise
will manage you how to introduce PHP parser on your PC.
2. MySQL:
MySQL is the most famous Open Source Relational SQL Database Management System.
MySQL is outstanding amongst other RDBMS being utilized for creating different online
programming applications. MySQL is created, advertised and upheld by MySQL AB, which is a
Swedish organization. This instructional exercise will give you a fast begin to MySQL and make
you OK with MySQL programming.
What is a Database?
A database is a different application that stores a gathering of information. Every database has at
least one unmistakable APIs for making, getting to, overseeing, seeking and recreating the
information it holds.
Different sorts of information stores can likewise be utilized, for example, records on the
document framework or vast hash tables in memory yet information getting and composing would
not be so quick and simple with those kind of frameworks.
These days, we utilize social database administration frameworks (RDBMS) to store and oversee
tremendous volume of information. This is called social database since every one of the
information is put away into various tables and relations are set up utilizing essential keys or
different keys known as Foreign Keys.
RDBMS Terminology
Before we continue to clarify the MySQL database framework, let us modify a couple of
definitions identified with the database.
MySQL Database
MySQL is a quick, simple to-utilize RDBMS being utilized for some little and huge
organizations. MySQL is produced, showcased and upheld by MySQL AB, which is a Swedish
organization. MySQL is winding up so famous as a result of numerous great reasons:
• MySQL is discharged under an open-source permit. So you don't have anything to pay to
utilize it.
• MySQL is a capable program in its own particular right. It handles a huge subset of the
usefulness of the most costly and intense database bundles.
• MySQL utilizes a standard type of the outstanding SQL information dialect.
• MySQL takes a shot at many working frameworks and with numerous dialects including
PHP, PERL, C, C++, JAVA, and so forth.
• MySQL works rapidly and functions admirably even with extensive informational
indexes.
• MySQL is amicable to PHP, the most refreshing dialect for web advancement.
• MySQL underpins huge databases, up to 50 million lines or more in a table. The default
document measure restrain for a table is 4GB, yet you can expand this (if your working
framework can deal with it) to a hypothetical utmost of 8 million terabytes (TB).
• MySQL is adaptable. The open-source GPL permit enables developers to alter the
MySQL programming to fit their own particular surroundings.
TECHNOLOGY/TOOL
1. Technology is to be used is PHP (PHP Hypertext Preprocessor) and tool XAMPP server is to
be used to execute PHP web application.
2. XAMPP server embeds the PHP, MySQL and phpmyadmin, these three tools must be
required to run php web application.
DESIGN/EXECUTION STEPS
For the design purpose html and CSS is to be used. For this design part contains the GUI of web
applications, how its looks like? When users going to use the web application.
Steps to install XAMPP and configure the PHP, MYSQL server.
1. Download the XAMPP using following link (download latest version as per your Operating system
Windows/ Linux). Here we are using Linux Ubuntu Systems. Copy and paste downloaded XAMPP
into home location. https://www.apachefriends.org/download.html
3. After ab
4. ove command following installation window will appear.
after successful completion of installation. It will ask to run XAMPP and here say to run. After run
the MySQL and Apache web server should be in running state. See below image.
As per above image you are ready with Apache Web Server and MySQL Database.
after you become the root just type the following command to enter the root directory
cd /
6. As you have successfully installed and started XAMPP now just navigate to htdocs by typing the
following command into terminal:
Note: to edit or create any file in htdocs you need to be root : sudo -i
cd /
8. To navigate to htdocs
cd opt/lampp/htdocs
gedit hello.php
Code for Sample Hello Script
<?php
?>
Here you can create the database and table inside database as per your need.Here we created “test”
database with “users” table contain four columns.
CONCLUSION/ANALYSIS
In this assignment, we have studied how to design and develop small web application using PHP
script, XAMPP server with apache server and MySQL as backend.
Here we have created “emp” directory in htdocs directory contain following files
1. index.php
2. add.html
3. add.php
3. edit.php
4.delete.php
5. config.php
6. database.sql(optional)
?php
$servername = "127.0.0.1";
$username = "root";
$password = "admin";
// Create connection
$conn = new mysqli($servername, $username, $password,"arshu");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
Trinity College of Engineering and Research, Pune Page 62
Web Technology Lab Manual
echo "<br>";
$sql = "SELECT * from GK";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "Got the User Data";
echo "<br>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["rollno"]. " - Name: " . $row["name"]. " <br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
OUTPUT
1. First Window
ORAL QUESTIONS
10. What is JOIN in MySQL? What are the different types of join?
Assignment No: 08
TECHNOLOGY
OBJECTIVES
1. To impart the efficient and available client side and server side technologies.
2. To implement the communication between computing nodes using client side and server
side technologies.
3. To design and implement the web services with content management.
PROBLEM STATEMENT
Design a login page with entries for name, mobile number email id and login button. Use struts
framework.
OUTCOMES
1. Implement the effective client side and server side technologies using struts framework.
2. Solve the complex problem of development using MVC framework.
Software’s: Java 1.7 or Higher, Apache Tomcat 7 or higher, Struts API’s, Eclipse IDE.
THEORY
The frameworks plays a vital role in industries for manageable and well designed application development
as well as enterprise application development. The core of the Struts framework is a flexible control layer
based on standard technologies like Java Servlets, JavaBeans, Resource Bundles, and XML, as well as
various Jakarta Commons packages. Struts encourages application architectures based on the Model 2
approach, a variation of the classic Model-View-Controller(MVC)
Struts gives its own particular Controller segment and incorporates with different advancements to give the
Model and the View. For the Model, Struts can collaborate with standard information get to advances, as
JDBC and EJB, and also most any outsider bundles, as Hibernate, iBATIS, or Object Relational Bridge.
For the View, Struts functions admirably with Java Server Pages, including JSTL and JSF, and in addition
Velocity Templates, XSLT, and other introduction frameworks.
The Struts system gives the undetectable underpinnings each expert web application needs to survive. Struts
causes you make an extensible advancement condition for your application, in view of distributed
guidelines and demonstrated outline designs.
ORM remains for Object/Relational mapping. It is the customized and translucent constancy of items in a
Java application in to the tables of a social database utilizing the metadata that portrays the mapping between
the articles and the database. It works by changing the information starting with one portrayal then onto the
next.
The "view" is the user interface, the screens that the end user of the application actually sees and
interacts with. In a J2EE web application, views are JSP files. For collecting user input, you will
have a JSP that generates an HTML page that contains one or more HTML forms. For displaying
output (like a report), you will have a JSP generates an HTML page that probably contains one or
more HTML tables. Each of these is a view: a way for the end user to interact with the system,
putting data in, and getting data out.
What is Struts?
Struts is a framework that advances the utilization of the Model-View-Controller engineering for
planning substantial scale applications. The structure incorporates an arrangement of custom label
libraries and their related Java classes, alongside different utility classes. The most intense part of
the Struts system is its help for making and preparing electronic structures. We will perceive how
this functions later in this section.
Struts Tags
Common Attributes
Almost all tags provided by the Struts framework use the following attributes:
Creating Beans
<!-- Copying an already existent bean, frijole, to a new bean, lima -->
<bean:define id="lima" name="frijole"/>
<!-- Copying an already existent bean, while specifying the class -->
<bean:define id="lima" name="frijole" class="com.SomePackageName.Beans.LimaBean"/>
The Struts framework provides other tags for dealing with issues concerning copying cookies,
request headers, JSP implicity defined objects, request parameters, web application resources,
Struts configuration objects, and including the dynamic response data from an action. These tags
are not discussed here, but it is important to be aware of their existence.
Bean Output
The <bean:message> and <bean:write> tags from the Struts framework will write bean and aplication
resources properties into the current HttpResponse object.
Frequently data should be gathered from a client and handled. Without the capacity to gather client
input, a web application would be futile. So as to get the clients data, a html shape is utilized.
Client information can originate from a few gadgets, for example, content fields, content boxes,
check takes care of, pop menus, and radio catches. The information comparing to the
client input is put away in an ActionForm class. A design document called struts-config.xml is
utilized to characterize precisely how the client input are handled. The following diagram roughly
depicts the use of Struts for using forms.
The Struts html tags are used to generate the widgets in the html that will be used in gathering the
user’s data. There are also tags to create a form element, html body elements, links, images, and
other common html elements as well as displaying errors. Below are the tags provided by html
section of the Struts framework and a short description of each.
<html:base>
Generates a <base> tag. This tag should be used inside of a <head>
tag.
<html:button> Generates an <input type="button"> tag. This tag should be used inside
a <form> element.
<html:cancel>
Generates an <input type="submit"> tag and causes the Action servlet
not to invoke its validate() method. This tag should be used inside a
<form> element.
<html:multibox>
<html:checkbox> Generates an <input type="checkbox">.
The purpose of the ActionForm class is to contain and provide validation of the user-input data.
This class is subclassed for application specific customization.
Here is a template for a customized ActionForm class with markers denoting where special items
should be located in the class with $ symbols.
package com.akurdi.action;
import com.opensymphony.xwork2.ActionSupport;
return "error";
if (this.username.equals("admin")
&& this.password.equals("admin123")) {
return "success";
} else {
addActionError(getText("error.login"));
return "error";
return username;
this.username = username;
return password;
this.password = password;
Do this:
1. Create the directory structure. The root directory is SimpleStruts, and it has the standard
WEB-INF directory with classes inside, and com.akurdi.action inside that. It also has a lib
directory within WEB-INF, which is something we haven't seen before; we'll see in a
minute what goes there.
2. Copy the Struts tag library descriptor files into WEB-INF. The files struts.tld, struts-bean.tld,
struts-form.tld, struts-html.tld, struts-logic.tld, and struts-template.tld are available in the lib
directory of your Struts installation.
3. Copy the Struts parser, struts.jar, into WEB-INF/lib/. This file is available in the lib directory
of your Struts installation
4. Create the tag descriptor library file for any custom tags you may use beyond the Struts
tags. In this case, the file defines no custom tags, but it's good practice to have it in place,
in case you need to add your own tags later.
There are three main sections to a struts-config.xml configuration file. They are the "Form
Bean Definitions" section, the "Global Forward Definitions" section, and the "Action
Mapping Definitions" section defines a forward called "success".
The web.xml web application configuration file will need to define the servlet ActionServlet,
to which control will be transferred whenever an appropriate URL pattern is accessed. The
servlet is defined just as any other servlet will be defined. The URL pattern is specified by
a servlet mapping. For this application, the URL pattern is any requested resource that ends
with a .do extension.
In order to use the Struts tags, the .tld files describing the tags will need to be included in
the configuration file. The references to these tags are made just as they were for our own
custom tags in the previous chapter. The Struts framework is simply a complex set of tag
libraries (struts*.tld), with associated code (struts.jar).
7. The ApplicationResources.properties file provides resources that will be used by any subclassed
Struts classes (for example, SetNameAction). This resources file provides a place to define
prompts, labels that will display on buttons, and other information that may change. By
placing this information in the ApplicationResources.properties file, recompiling any servlets
used in the application can be avoided, as well as encouraging separation of logic and
presentation.
8. Instances of the Name class are placed in the user sessions. Only one will exist in any
particular user session. It provides methods for accessing and mutating a name.
9. The view of the application is done with the JSP index.jsp. It represents the user interface
and allows the user to interact with the application.
10. Compile, create .war file and place it into the webapps folder of tocat.
TECHNOLOGY/TOOL
1) Eclipse IDE
2) Apache Tomcat 7.0 or higher
DESIGN/EXECUTION STEPS
Step 5) Map the request in (struts-config.xml) file and define the view components.
Step 7) start server and deploy the project or create .war file paste it in webapps folder and run
from manager-app.
TEST CASES
CONCLUSION/ANALYSIS
Hence we have successfully tested the Struts framework and tested the results.
ORAL QUESTIONS
Assignment No: 09
TECHNOLOGY
OBJECTIVES
1. Understand the design of single-page applications and how AngularJS facilitates their
development
2. Properly separate the model, view, and controller layers of your application and
implement them using AngularJS
3. Master AngularJS expressions, filters, and scopes
4. Build Angular forms
5. Elegantly implement Ajax in your AngularJS applications
6. Write AngularJS directives
PROBLEM STATEMENT
OUTCOMES
Students can able to,
THEORY-CONCEPT
utilize HTML as your layout dialect and gives you a chance to stretch out HTML's linguistic
structure to express your application parts plainly and compactly. Its information official and
reliance infusion take out a significant part of the code you as of now need to compose. Also,
everything occurs inside the program, making it a perfect band together with any server
innovation".
General Features
• AngularJS is a productive system that can make Rich Internet Applications (RIA).
• AngularJS gives designers a choices to compose customer side applications utilizing
JavaScript in a spotless Model View Controller (MVC) way.
• Applications written in AngularJS are cross-program agreeable. AngularJS consequently
handles JavaScript code reasonable for every program.
• AngularJS is open source, totally free, and utilized by a great many engineers the world
over. It is authorized under the Apache permit version2.0.
• By and large, AngularJS is a system to assemble expansive scale, elite, and simple to-
keep up web applications.
Core Features:
2. Scope: These are objects that allude to the model. They go about as paste amongst
controller and view.
5. Filters: These select a subset of things from a cluster and restore another exhibit.
7. Templates: These are the rendered see with data from the controller and model. These can
be a solitary record, (for example, index.html) or different perspectives in a single page
utilizing partials.
9. Model View Whatever: MVW is an outline design for isolating an application into various
parts called Model, View, and Controller, each with unmistakable obligations. AngularJS
does not actualize MVC in the conventional sense, yet rather something nearer to MVVM
(Model-View-ViewModel). The Angular JS group alludes it cleverly as Model View
Whatever.
10. Deep Linking: Deep connecting permits to encode the condition of use in the URL with
the goal that it can be bookmarked. The application would then be able to be re- established
from the URL to a similar state.
11. Dependency Injection: AngularJS has a worked in reliance infusion subsystem that
encourages the designer to make, comprehend, and test the applications effectively.
Advantages of AngularJS
• It gives the ability to make Single Page Application in a spotless and viable way.
• It gives information restricting ability to HTML. Along these lines, it gives client a rich
and responsive experience.
• AngularJS code is unit testable.
• AngularJS utilizations reliance infusion and make utilization of partition of concerns.
• AngularJS gives reusable segments.
• With AngularJS, the engineers can accomplish greater usefulness with short code.
• In AngularJS, sees are unadulterated html pages, and controllers written in JavaScript do
the business handling.
Model
The model is in charge of overseeing application information. It reacts to the demand from see and to the
directions from controller to refresh itself.
The View
An introduction of information in a specific arrangement, activated by the controller's choice to exhibit the
information. They are content based layout frameworks, for example, JSP, ASP, PHP and simple to incorporate
with AJAXinnovation.
The Controller
The controller reacts to client enter and performs communications on the information show objects. The controller
gets input, approves it, and afterward performs business operations that alter the condition of the information
demonstrate.
• An AngularJS application comprises of following three essential parts −ng-app − This directive
defines and links an AngularJS application to HTML.
• ng-model − This directive binds the values of AngularJS application data to HTML
input controls.
• ng-bind − This directive binds the AngularJS Application data to HTML tags.
DESIGN/EXECUTION STEPS
1. When a link https://angularjs.org/ is opened, there are two options to download AngularJS
library −
• View on GitHub − Click on this button to go to GitHub and get all of the latest scripts.
• Download AngularJS 1 − Or click on this button, a screen as below would be seen −
• CDN access − You also have access to a CDN. The CDN will give you access around the
world to regional data centers that in this case, Google host. This means using CDN moves
the responsibility of hosting files from your own servers to a series of external ones. This
also offers an advantage that if the visitor to your webpage has already downloaded a copy
of AngularJS from the same CDN, it won't have to be re- downloaded.
Example:
Now let us write a simple example using AngularJS library. Let us create an HTML
file myfirstexample.html as below –
<!doctype html>
<html>
<head>
<scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.2/angular.min.js"></script>
</head>
<bodyng-app="myapp">
<divng-controller="HelloController">
<h2>Welcome {{helloTo.Technology}} to the world of Tutorialspoint!</h2>
</div>
<script>
angular.module("myapp",[])
.controller("HelloController",function($scope){
$scope.helloTo={};
$scope.helloTo.Technology="AngularJS";
});
</script>
</body>
</html>
<head>
<scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
To update into latest version of Angular JS, use the following script source.
<head>
<scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.2/angular.min.js"></script>
</head>
<bodyng-app="myapp">
</body>
3. View
The view is this part −
<divng-controller="HelloController">
<h2>Welcome {{helloTo.Technology}} to the world of Tutorialspoint!</h2>
</div>
ng-controller tells AngularJS what controller to use with this view. helloTo.Technologytells
AngularJS
to write the "model" value named helloTo.Technology to the HTML at this location.
4. Controller
The controller part is −
<script>
angular.module("myapp",[])
.controller("HelloController",function($scope){
$scope.helloTo={};
$scope.helloTo.Technology="AngularJS";
});
</script>
This code registers a controller function named HelloController in the angular module named
myapp. The controller function is registered in angular via the angular.module(...).controller(...)
function call.
The $scope parameter passed to the controller function is the model. The controller function adds
a helloTo JavaScript object, and in that object it adds a Technology field.
5. Execution
Save the above code as myfirstexample.html and open it in any browser.
Output as below:
• At the point when the page is stacked in the program, following things happen −
• HTML archive is stacked into the program, and assessed by the program. AngularJS
JavaScript document is stacked, the precise worldwide question is made. Next, JavaScript
which registers controller capacities is executed.
• Next AngularJS look over the HTML to search for AngularJS applications and
perspectives. When see is found, it associates that view to the comparing controller work.
• Next, AngularJS executes the controller capacities. It at that point renders the perspectives
with information from the model populated by the controller. The page is presently
prepared.
TECHNOLOGY/TOOL
TEST CASES
Deploy the Html program run test the result for dynamic implementation of AngularJS.
CONCLUSION/ANALYSIS
With the help of this assignment it is helpful to understand features of AngularJS. MVC model
structure and its use in advanced web programming is studied.
<!DOCTYPE html>
<html>
<script
src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></sc
ript>
<body>
<form action="successful.html">
<div ng-app="" ng-init="firstName='TE'">
</div>
</body>
</html>
Note:: successful page details add sucessful.html code as per your requirement
ORAL QUESTIONS
Assignment No. - 10
TECHNOLOGY
Design and implement a business interface with necessary business logic for any web application
using EJB.
OUTCOMES
SOFTWARE NEEDED
THEORY – CONCEPT
Java Beans :
J2EE application container contains the components that can be used by the clients for executing
the business logic .These components are known as Enterprise Java Beans (EJB) .
J2EE platform has component based architecture to provide multi-tiered, distributed and highly
transactional features to enterprise level applications.
EJB mainly contains the business logic & business data. EJB component is an EJB class. It is a
java class written by EJB developer & this class implements business logic.
It is used for developing very much scalable and robust enterprise level applications to be
deployed Application Server such as JBOSS, Web Logic etc.
EJB 3.0 is being a large shift from EJB 2.0 and makes development of EJB based applications
relatively easy.
Features of EJBs:
Session Beans
• Session beans are intended to allow the application author to easily implement portions of
application code in middleware and to simplify access to this code.
• Represents a single client inside the server
• The client calls the session bean to invoke methods of an application on the server
• Perform works for its client, hiding the complexity of interaction with other objects in the
server
• Is not shared
• Is not persistent
When the client stops the session, the bean can be assigned to another client from the server
Session beans are divided into two types:
1. Stateless Session Bean:
Stateless Session Bean is intended to be simple and “light weight” components. The client, thereby
making the server highly scalable, if required, maintains any state. Since no state is maintained in
this bean type, stateless session beans are not tied to any specific client, hence any available
instance of a stateless session bean can be used to service a client.
• values only for the duration of the single invocation
• Except during method invocation, all instances of stateless
session bean are equivalent
Stateless Session Bean’s Life Cycle:
• The client invoke the create method
• The EJB container :
Instantiates the bean
Invokes the setSessionContext Invokes ejbCreate
• The bean is ready
• While in the ready state
Does not
Exist
1. setSessionConext ejbRemove
2. ejbcrete
Ready
Figure.9: Stateless Session Bean’s Life Cycle
Stateful session beans can access persistent resources on behalf of the client, but unlike entity
beans, they do not actually represent the data.
EJB container may activate a bean, moving it back to the ready stage, and then calls the bean's
ejbActivate method.
A client may invoke the remove method and the container calls the bean's ejbRemove
method
Stateless:
1. Normally data members are not put in stateless session bean
2. Stateless beans are pooled
Stateful:
1. Data members that represent state are present in stateleful session bean
2. Stateful beans are cached
3. Setting the tag idle-timeout-seconds determines how long data is maintained in stateful
session bean
4. Activation – Passivation used
An Entity Bean
The EJB architecture is an extension of Web architecture. It has an additional tier. The clients of
an enterprise bean can be a traditional java application lie, applet, JSP or Servlet.
Like in a web application, client browser has to go all the way to web container to use a servlet
or JSP, the communication between beans and clients is performed by the EJB container.
EJB server
EJB container
EJB home
interface
Client EJB
bean
EJB remote
interface
There are three types through which two or more activities may interfere:
1. Dirty read
2. Non-Repeatable read
3. Phantom read
• Clustering and Load-Balancing: Clustering is the process of combining the multiple
peripherals, computers and other resources into a single unit.
• A clustered system then works as load balanced system. In a distributed system when a
request is send to the server, an algorithm running on the server decides which server has
less load and sends the request to that server. EJB container encapsulates these features to
provide smooth and efficient service.
• Deployment Descriptor: A deployment descriptor is an XML file packaged with the
enterprise beans in an EJB JAR file or an EAR file. It contains metadata describing the
contents and structure of the enterprise beans, and runtime transaction and security
information for the EJB container.
• EJB Server: An EJB server is a high-level process or application that provides a run- time
environment to support the execution of server applications that use enterprise beans. An
EJB server provides a JNDI-accessible naming service. It manages and coordinates the
allocation of resources to client applications, provides access to system resources and
provides a transaction service.
TEST CASES
Manual testing is used to check the application is running properly in JBOSS server
CONCLUSION / ANALYSIS
Hence, we have created a simple EJB 3 stateless session bean and a local Java application client
which will call/invoke the bean to develop for performing addition of two numbers.
Open Eclipse IDE and create a new EJB project which can be done by clicking on, File menu -> New ->
EJB Project
Step 1:
▪ Click File –> New –> Other –> EJB –> EJB Project –> Next
Step 2 :
Now create Stateless session bean with its remote interface. Expand project –> expande
ejbModule –> Right click Session Bean –> New –> Session
Bean
}
}
Step 3:
Now we need to deploy the our EJB "addition" on server. Follow the steps mentioned bellow to
deploy this project on server.
Right click on "JBoss 7.1 Runtime Server" from Servers view and click on Start.
Step 4:
Now next step Go to Project-> addition -> right click -> run-> Run on server
Step 5:
After running the program you can see following message on console
Step 6:
Once this jar file is deployed to server now export EJB jar file save it in desktop -> Finish.
Step 7:
Step 8:
Step 9:
//form.html
Step 10 :
Copy the url from step 5 and add that url in wepappadd code as given above.
Step 11 :
ORAL QUESTIONS
1. What is EJB?
2. What is JSP?
3. What is the purpose of JBOSS?
4. What is the syntax of JSP?
5. How to deploy java beans to server?