Servlet JSP
Servlet JSP
Web Component
|
|-- Servlet
|
|-- JSP
+ Servlet JSP
Web Server
---------
+ Apache Tomcat
Example:
Tomcat Enhydra Lotus etc
Download
------------
+ https://tomcat.apache.org/download-90.cgi
After Download Extract it
+++++++++++++++++++++++++
if not
-------------------------------------------------------------
----------------
Apache Tomcat
-------------
bin --> scripts to start server and stop server
conf --> contains xml file contains configuration of web server
lib --> libraries [a lot jar files] [what is jar---> java archive file ]
logs --> for maintaining logs
temp --> for temp files
webapps --> Hot deployment directory -- where web application deployed
work --> associated with jsp file
+++++++++++++++++++++++++++
3: Select JAVA EE
5:Click On IT
9:Confirm
-------------------------------------------------------------
------
http://servername:portNo/app/webpage
Request Content:
----------------------
1: Server Name & port no --> localhost 8080
4:Request Length
6: Cookies
7:Request Body
HTTP Response
--------------
3: Response Length
5: Cookies
6: Response Body
------------------------------------------------
HTTP Request Method
1: GET
2: POST
GET POST
Servlet(I)
Servlet
------
Servlet is a java class ,which is executed within web container when client
makes request and it generates response is sent to the client
interface javax.servlet.Servlet{
Example
--------
MyServlet.java
------------------
package pack;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
@Override
public void destroy() {
System.out.println("Destroy Method Executes");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void init(ServletConfig config) throws ServletException {
@Override
public void service(ServletRequest req, ServletResponse res) throws
ServletException, IOException {
System.out.println("Service Executes");
--------------------------
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>pack.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/visit</url-pattern>
</servlet-mapping>
</web-app>
-------------------------------------------------
void init(ServletConfig config)
+ For the first request from the client , web container loads servlet class
in
a memory and creates its Object
void destroy()
--------------------------------------------------------
--------------------------------------------------
Example
Form.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
++++++++++++++++++++++++++++++++++++
package p1;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FirstServlet
*/
@WebServlet("/FirstServlet")
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public FirstServlet() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String n=request.getParameter("uname");
out.print("<h1>");
out.print(n.toUpperCase());
out.print("</h1>");
}
++++++++++++++++++++++++++++++++++++
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID"
version="4.0">
<display-name>SecondApp</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<br>
Languages:
<br>
<input type="radio" name="fav_language" value="HTML">
<label for="html">HTML</label><br>
<input type="radio" name="fav_language" value="CSS">
<label for="css">CSS</label><br>
<input type="radio" name="fav_language" value="JavaScript">
<label for="javascript">JavaScript</label>
<br>
Belonging :
<br>
<input type="checkbox" id="vehicle1" name="vehicle" value="Bike">
<label for="vehicle1"> I have a bike</label><br>
<input type="checkbox" id="vehicle2" name="vehicle" value="Car">
<label for="vehicle2"> I have a car</label><br>
<input type="checkbox" id="vehicle3" name="vehicle" value="Boat">
<label for="vehicle3"> I have a boat</label>
<br>
Comment BOX:
<br>
<textarea name="message" rows="7" cols="20">
The cat was playing in the garden.
</textarea>
<br>
<input type="submit" value="Submit">
<input type="reset">
</form>
</body>
</html>
++++++++++++++++++++++++++++++
package p1;
import java.io.IOException;
import java.io.PrintWriter;
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("/ReadData")
public class ReadData extends HttpServlet {
private static final long serialVersionUID = 1L;
public ReadData() {
super();
// TODO Auto-generated constructor stub
}
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.print("<body>");
out.print("<b> Name "+ request.getParameter("fname")+" </b> <br>");
out.print("<b> Last Name "+ request.getParameter("lname")+" </b> <br>");
out.print("<b> CARS "+ request.getParameter("cars")+" </b> <br>");
out.print("<b> FAV Language "+ request.getParameter("fav_language")+"
</b> <br>");
out.print("<b> Message "+ request.getParameter("message")+" </b> <br>");
out.print("Vechiles : <br>");
String vechile[]=request.getParameterValues("vehicle");
out.print("</body>");
}
++++++++++++++++++++++++++++++++++++++++++++
BOOK Project
Model
package model;
// Bean Class Entity Model class POJO
public class Book {
private int id;
private String name;
private double price;
public Book() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + ", price=" + price + "]";
}
+++++++++++++++++++++++++++++
Html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="InsertData" method="get">
</form>
</body>
</html>
++++++++++++++++++
Utility
package utility;
import java.sql.Connection;
import java.sql.DriverManager;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/junejuly",
"root", "root");
}catch (Exception e) {
// TODO: handle exception
}
return con;
}
}
++++++++++++++++++++++++
InsertServlet
controller
package controller;
import java.io.IOException;
import java.io.PrintWriter;
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 dao.BookDAO;
import model.Book;
@WebServlet("/InsertData")
public class InsertData extends HttpServlet {
private static final long serialVersionUID = 1L;
BookDAO dao;
@Override
public void init() throws ServletException {
dao=new BookDAO();
public InsertData() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String id=request.getParameter("bid");
int bId=Integer.parseInt(id);
String name=request.getParameter("bname");
String price=request.getParameter("bprice");
double bPrice=Double.parseDouble(price);
int i=dao.insertBook(book);
++++++++++++++++++++++++++++++
Dao
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import model.Book;
import utility.DBUtilities;
ps.setInt(1, book.getId());
ps.setString(2, book.getName());
ps.setDouble(3, book.getPrice());
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
ps.setInt(1, book.getId());
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
ps.setInt(3, book.getId());
ps.setString(1, book.getName());
ps.setDouble(2, book.getPrice());
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
}
try {
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Book book = new Book();
book.setId(rs.getInt(1));
book.setName(rs.getString(2));
book.setPrice(rs.getDouble(3));
list.add(book);
}
rs.close();
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
}
+++++++++++++++++++++++++++++++++
RequestDispatcher(I)
---------------------
forward()
include()
------------------------------------------
Methods of RequestDispatcher interface
The RequestDispatcher interface provides two methods. They are:
:Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file)
on the server.
Includes the content of a resource (servlet, JSP page, or HTML file) in the response.
-------------------------------------------------------------------------
RequestDispatcher(I)
// RequestDispatcher
RequestDispatcher rd=request.getRequestDispatcher("SecondServlet");
rd.include(request, response);
ServletConfig And ServletContext
package p1;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class First
*/
//@WebServlet("/First")
public class First extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public First() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter pw=response.getWriter();
ServletConfig config=getServletConfig();
String mob=config.getInitParameter("mobile");
pw.print(mob+"<br>");
ServletContext context=getServletContext();
String value=context.getInitParameter("fruit");
pw.print(value);
+++++++++++++++++++
Web.xml
<context-param>
<param-name>fruit</param-name>
<param-value>Mango</param-value>
</context-param>
<servlet>
<servlet-name>First</servlet-name>
<servlet-class>p1.First</servlet-class>
<init-param>
<param-name>mobile</param-name>
<param-value>123456789</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
</web-app>
NOTE
ServletConfig (I)
--------------------------------
+ In Order to access values as init param form web.xml then will use
ServletConfig
+ How To read it
1: ServletConfig config=getServletConfig();
// Here We are Getting Servet Config Object
2: String value=config.getInitParameter("anykey");
ServletContex (I)
-------------------
1: This Object is created only once and this Object is Singleton
In Web.xml
<context-param>
<param-name>language</param-name>
<param-value>java</param-value>
</context-param>
ServletContext context=getServletContext();
String name=context.getInitParameter("language");
++++++++++++++++++++++++++++++++++++++++++++++++
out.print("<form action='UpdateData'>");
out.print("</form>")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
JSP
JSP
-------------------
SERVLET
[Servlet is used to create dynamic web page Basically Servlet is java class]
Scriptlet Tag
<% %>
Expression
<%= %>
Declaration Tag
<%! %>
EX NO 1:
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<br>
DATE:
<% out.print(new Date()); %>
</h1>
<hr>
<hr>
<%=x %>
</h2>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
+++++++++++++++
Form.jsp
<%
String name=request.getParameter("uname");
String lName=request.getParameter("lname");
%>
<h3>
<%= name+" "+lName %>
</h3>
</body>
</html>
<%
request.getRequestDispatcher("show.jsp").include(request,
response); %>
++++++++++++++++++++++++
Scope
Index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
++++++++++++++
From.jsp
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
String name = request.getParameter("uname");
String lName = request.getParameter("lname");
%>
<h3>
<%=name + " " + lName%>
</h3>
<%
ArrayList<String> list = new ArrayList<String>();
list.add("HI");
list.add("BYE");
list.add("COOL");
request.setAttribute("words", list);
%>
<%
request.getRequestDispatcher("show.jsp").forward(request, response);
%>
</body>
</html>
+++++++++++++++
Show.jsp
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body bgcolor="green">
<h1>SHOW PAGE</h1>
<%
ArrayList<String> list=(ArrayList<String>)request.getAttribute("words"); %>
<%
for(String val : list){
out.print(val);
%>
<br>
<% }
%>
</body>
</html>
—------------------------
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
++++++++++++++++++++++++++++++++++++
InserData
package controller;
import java.io.IOException;
import java.io.PrintWriter;
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 dao.BookDAO;
import model.Book;
@WebServlet("/InsertData")
public class InsertData extends HttpServlet {
private static final long serialVersionUID = 1L;
BookDAO dao;
@Override
public void init() throws ServletException {
dao=new BookDAO();
public InsertData() {
String id=request.getParameter("bid");
int bId=Integer.parseInt(id);
String name=request.getParameter("bname");
String price=request.getParameter("bprice");
double bPrice=Double.parseDouble(price);
int i=dao.insertBook(book);
if(i>=1) {
out.print("<h2> BOOK ADDED SUCCES !!! </h2>");
request.getRequestDispatcher("view.jsp").include(request,
response);
}
+++++++++++++++++++++++++++
View.jsp
<%@page import="java.util.Iterator"%>
<%@page import="model.Book"%>
<%@page import="java.util.List"%>
<%@page import="dao.BookDAO"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid white;
border-collapse: collapse;
}
th, td {
background-color: #96D4D4;
}
</style>
</head>
<body>
<%!BookDAO dao = null;
<%
List<Book> listBooks = dao.getAllBooks();
%>
<table style="width:100%">
<tr>
<th>ID</th>
<th>Name</th>
<th>Price</th>
<th>DELETE</th>
<th>UPDATE</th>
</tr>
<%
Iterator<Book> itr = listBooks.iterator();
while (itr.hasNext()) {
Book book = itr.next();
%>
<tr>
<td><%=book.getId()%></td>
<td><%=book.getName()%></td>
<td><%=book.getPrice()%></td>
<td><a href="DeleteData?id="<%book.getId();%>>Delete</a></td>
<td><a href="UpdateData">Update</a></td>
<tr>
<%
}
%>
</table>
</body>
</html>
+++++++++++++++++++++++++++++++++
Model
package model;
// Bean Class Entity Model class POJO
public class Book {
private int id;
private String name;
private double price;
public Book() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + ", price=" + price +
"]";
}
+++++++++++++++++++++++++++++++
Dao
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import model.Book;
import utility.DBUtilities;
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
ps.setInt(1, book.getId());
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
ps.setInt(3, book.getId());
ps.setString(1, book.getName());
ps.setDouble(2, book.getPrice());
i = ps.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}
if (i >= 1) {
return 1;
} else {
return 0;
}
try {
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
Book book = new Book();
book.setId(rs.getInt(1));
book.setName(rs.getString(2));
book.setPrice(rs.getDouble(3));
list.add(book);
}
rs.close();
} catch (Exception e) {
// TODO: handle exception
}
return list;
}
ResultSet rs = ps.executeQuery();
while (rs.next()) {
book.setId(rs.getInt(1));
book.setName(rs.getString(2));
book.setPrice(rs.getDouble(3));
}
rs.close();
} catch (Exception e) {
// TODO: handle exception
}
return book;
}
+++++++++++++++++++++++++++++++++
DeleteServlet
package controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class DeleteData
*/
@WebServlet("/DeleteData")
public class DeleteData extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DeleteData() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request,
HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String id=request.getParameter("id");
System.out.println("======>"+id);
}
+++++++++++++++++++++++++++++++
Utilities
package utility;
import java.sql.Connection;
import java.sql.DriverManager;
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/bookdetails",
"root", "root");
}catch (Exception e) {
// TODO: handle exception
}
return con;
}
+++++++++++++++++++++++++++++++++
<jsp:forward page="two.jsp"></jsp:forward>
</body>
</html>
+++++++++++++++++
</body>
</html>
Ex No 2:
jsp:include
<jsp:include page="two.jsp"></jsp:include>
</body>
</html>
+++++++++++++++++
</body>
</html>
++++++++++++++++++++++++++++++++++++++++
Ex
package model;
import java.io.Serializable;
public CapBean() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "CapBean [word=" + word + "]";
}
++++++++++
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
++++++++++++++++++=
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="model.CapBean" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>
<jsp:getProperty property="word" name="bean"/>
</h2>
<br>
<h2>
<%= bean.getCapital() %>
</h2>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOTES
Difference between RequestDispatcher and SendRedirect
SendRedirect
● This is the method of object HttpServletResponse.
● Request is redirected to the client (Browser), and it will process the new
URL.
● End User can see on which page, url is redirected.
● In Nutshell, Processing done at client side.
RequestDispatcher
● This object can be accessed from HttpServletRequest.
● Servlet will internally forward the request to another servlet or jsp page.
● End user doesn't know which page is processed internally.
● In Nutshell, Processing done at server side.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sate Management
—----------------
State Management
-------------------
+ less secure
+ it requires space
+ More secure
------------------------------------------------------------------
Cookie
----------
Cookie Type
------------
+ Temporary Cookie
+ Persistent Cookie
javax.servlet.http.Cookie{
}
--------------------------------
response.addCookie(ck); //
---------------------------------------------
for(int i=0;i<ck.length;i++){
out.print("<br>"+ck[i].getName()+" "+ck[i].getValue());//printing name and value of
cookie
}
—-----------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
++++++++++++++++++++
Login.jsp
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<b style="font-family: fantasy;color: blue; font-size: large;">
<a href="index.html"> Login</a>
<a href="profile.jsp"> Profile</a>
<a href="logout.jsp"> LogOut</a>
</b>
<br>
<%
String name=request.getParameter("uname");
String pass=request.getParameter("pass");
out.print(name);
out.print(pass);
%>
<br>
<h1>
<% if(pass.equals("123")){
out.print("Welcome "+name);
Cookie ck=new Cookie("ckid",name);
response.addCookie(ck);
}
else{
out.print("Invalid Password !!! "+request.getContextPath());
%>
<jsp:include page="index.html"></jsp:include>
<%
}
%>
</h1>
</body>
</html>
+++++++++++++++++++++++++++++++++++++
Profile.jsp
<h1>
<%
boolean flag=false;
Cookie ck[]=request.getCookies();
if(ck!= null){
for(int i=0;i<ck.length;i++){
if(flag){
}
else{
out.print("Session Expires Please Relogin Again !!!!!");
%>
<jsp:include page="index.html"></jsp:include>
<%}
}
%>
</h1>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++++++++++
Logout.jsp
<%
Cookie ck=new Cookie("ckid","");
ck.setMaxAge(0);
response.addCookie(ck);
%>
</body>
</html>
+++++++++++++++++++++++++++++++++++++++
Question
1) How many objects of a servlet is created?
RequestDispacher interface
sendRedirect() method etc.
RequestDispatcher rd=request.getRequestDispatcher("/login.jsp");
rd.forward(request,response);
18) How can we perform any action at the time of deploying the project?
By the help of ServletContextListener interface.
20) How can we upload the file to the server using servlet?
One of the way is by MultipartRequest class provided by third party.
To create war file from console, you can write following code.
27) Which event is fired at the time of session creation and destroy?
HttpSessionEvent.
28) Which event is fired at the time of setting, getting or removing attribute
from application scope?
ServletContextAttributeEvent.
++++++++++++++++++++++++++++++++++++++++++++++
HiddenFormField
JSP EL
JSP EL
The Expression Language (EL) simplifies the accessibility of data stored in the Java
Bean component, and other objects like request, session, application etc.
${ expression }
Three Scope
Request
Session
Application (Servlet Context)
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" session="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<hr>
<h2>
${ requestScope.name }
</h2>
%>
<% application.setAttribute("list", list); %>
<hr>
<h2>
<a href="process.jsp"> Process</a>
</h2>
</body>
</html>
++++++++++++++++++++++++++++++
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" session="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<br>
<h2>Application Scope : ${applicationScope.list }</h2>
</body>
</html>
+++++++++++++++++++++++++++++++
JSTL
JSTL
---------------------------
https://mvnrepository.com/artifact/javax.servlet/jstl/1.2
1 step to use jstl download jstl jar
3: ADD jstl jar in lib folder (make sure jar must be extract (not a zip))
+++++++++++++++++++++
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>JSTL</h1>
<br>
<br>
<hr>
<b> <c:out value="${num }"></c:out>
</b>
</body>
</html>
+++++++++++++++++++++++++
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>JSTL</h1>
<br>
<br>
<hr>
<b> <c:out value="${num }"></c:out>
</b>
<hr>
</c:if>
<br>
<c:choose>
<c:otherwise>
</c:choose>
<hr>
</body>
</html>
+++++++++++++++++++
COMPLETE
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>JSTL</h1>
<br>
<br>
<hr>
<b> <c:out value="${num }"></c:out>
</b>
<hr>
</c:if>
<br>
<c:choose>
</c:choose>
<hr>
<hr>
</c:forTokens>
<hr>
<hr>
<c:remove var="x"/>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++
JSTL
—---
package model;
import java.io.Serializable;
// JAVA BEAN
public class Employee implements Serializable {
int id;
String name;
String role;
public Employee() {
}
//
}
+++++++++++++++++++++
package controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 model.Employee;
/**
* Servlet implementation class EmployeeController
*/
@WebServlet("/EmployeeController")
public class EmployeeController extends HttpServlet {
private static final long serialVersionUID = 1L;
request.setAttribute("empList", empList);
RequestDispatcher rd=request.getRequestDispatcher("home.jsp");
rd.forward(request, response);
++++++++++++++++++++++++
<%@page import="model.Employee"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<style type="text/css">
td,th{
border: 2px solid black;
}
</style>
</head>
<body>
<table >
<thead>
<tr>
<th><b>ID</b></th>
<th><b>Name</b></th>
<th><b>Role</b></th>
</tr>
</thead>
<c:forEach items="${requestScope.empList }" var="emp">
<tr>
</tr>
</c:forEach>
</table>
</body>
</html>
++++++++++++++++++++++++++++++++++++++++
Implicit Object
1: request
2: response
3: out JSPWriter
4: config (ServletConfig)
5: application (ServletContext)
6: session (HttpSession)
7: page (this)
8: exception (Throwable)
exception
Ex-
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
++++++++++++++
process.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" errorPage="error.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
int n1=Integer.parseInt(request.getParameter("n1"));
int n2=Integer.parseInt(request.getParameter("n2"));
%>
<b>
DIV IS :
</b>
</body>
</html>
++++++++++++++++++++++++++++++++
error.jsp
++++++++++++++++++++++++++
Question
What is JSP?
---------------------------
View --> Presention Logic -->JSP Page
Model --> JAVA BEAN ex-> Customer Employee User
Controller --> Servlet / Filter
-------------------------------------
Introduction to MVC
---------------------
Model-View-Controller (MVC) is a pattern used in software engineering
to separate the application logic from the user interface. As the name
implies,
the MVC pattern has three layers.
It's independent of the presentation layer, the controller fetches the data
from the Model layer and sends it to the View layer.
The requests are further sent to Model layer for data processing, and once
they are processed, the data is sent back to the Controller and then
displayed on the View.
+++++++++++++++++++++++++++++++++++++++++++++++
Model
package com.empcrud.model;
public Employee() {
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", salary=" +
salary + "]";
}
++++++++++++++++++++++++++++++
Register.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
</form>
</body>
</html>
+++++++++++++++++++++++++++++++++++
Controller
package com.empcrud.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
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 com.empcrud.dao.EmployeeDAO;
import com.empcrud.model.Employee;
/**
* Servlet implementation class RegisterServlet
*/
@WebServlet("/RegisterServlet")
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
EmployeeDAO dao;
@Override
public void init() throws ServletException {
dao=new EmployeeDAO();
}
public RegisterServlet() {
super();
// TODO Auto-generated constructor stub
}
response.setContentType("text/html");
PrintWriter out=response.getWriter();
int id=Integer.parseInt(request.getParameter("id"));
String name=request.getParameter("uname");
double
salary=Double.parseDouble(request.getParameter("salary"));
try {
dao.saveEmployee(emp);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
+++++++++++++++++++++++++++++++++++++
Dao
package com.empcrud.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import com.empcrud.model.Employee;
import com.empcrud.utility.DBConnection;
Connection con=DBConnection.getDBConnection();
String sql="insert into employee values (?,?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setInt(1, emp.getId());
ps.setString(2, emp.getName());
ps.setDouble(3, emp.getSalary());
ps.executeUpdate();
con.close();
}
void deleteEmployeeById(int id) {
List<Employee> getAllEmployee() {
return null;
}
++++++++++++++++++++++++++++++++++++
package com.empcrud.utility;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
return
DriverManager.getConnection("jdbc:mysql://localhost:3306/empinfo", "root",
"root");
+++++++++++++++++++++++++++++++++++++++
THANK YOU !!!
http://www.java2s.com/Code/Jar/c/Downloadcosjar.htm
Index.html
<html>
<body>
<form action="fileuploadservlet" method="post" enctype="multipart/form-data">
Select File:<input type="file" name="photo"/><br/>
<input type="submit" value="upload"/>
</form>
</body>
</html>
++++++++++++++++++
package p1;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
} else {
System.out.println("*****************");
}
int row = 0;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if (inputStream != null) {
// fetches input stream of the upload file for the blob
column
preparedStatement.setBlob(1, inputStream);
}
} catch (SQLException e) {
System.out.println(e);
}
}
+++++++++++++++++++++++++++++++