0% found this document useful (0 votes)
9 views

Program On Servlet

Uploaded by

Yash Goswami
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Program On Servlet

Uploaded by

Yash Goswami
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

UNIT-5(Part-1)

Programs on SERVLET

1. Program on Servlet Interface.


import java.io.*;
import javax.servlet.*;
public class firstS implements Servlet
{
ServletConfig config = null;
public void init (ServletConfig config)
{
this.config = config;
System.out.println ("servlet is initialized");
}
public void service (ServletRequest req, ServletResponse res) throws IOException,
ServletException
{
res.setContentType ("text/html");
PrintWriter out = res.getWriter ();
out.print ("<html><body>");
out.print ("<b>hello simple servlet</b>");
out.print ("</body></html>");
}
public void destroy ()
{
System.out.println ("servlet is destroyed");
}
public ServletConfig getServletConfig ()
{
return config;
}
public String getServletInfo ()
{
return "copyright 2007-2020";
}}

2. Program on Generic Servlet .


import java.io.*;
import javax.servlet.*;

public class firstGS extends GenericServlet{


public void service(ServletRequest req,ServletResponse res)
throws IOException,ServletException{

res.setContentType("text/html");

PrintWriter out=res.getWriter();
out.print("<html><body>");
out.print("<b>hello generic servlet</b>");
out.print("</body></html>");
}}

3. Program on HTTP Servlet.


import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class firstHS extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");//setting the content type
PrintWriter pw=res.getWriter();//get the stream to write the data

//writing html in the stream


pw.println("<html><body>");
pw.println("Welcome to HTTPSERVLET!!!!");
pw.println("</body></html>");

pw.close();//closing the stream


}}

4. PROGRAM TO DISPLAY CURRENT DATE

import javax.servlet.*;
import java.io.*;
import java.util.*;

public class HelloWorld extends GenericServlet {

public HelloWorld() {
System.out.println("SERVLET LOADED...");
}

public void init() {


System.out.println("I AM FROM init METHOD...");
}

public void service(ServletRequest req, ServletResponse res) throws ServletException,


IOException {
res.setContentType("text/html");
PrintWriter pw = res.getWriter();
Date d = new Date();
String s = d.toString();
pw.println("<h1> WELCOME TO SERVLETS <h1>");
pw.println("<h2> CURRENT DATE & TIME IS : " + s + "<h2>");
}
public void destroy() {

System.out.println("I AM FROM destroy METHOD...");


}}

5- ANOTHER PROG ON HTTPSERVLET USING HTML

(a) index.html
<!DOCTYPE html>
<html>
<head>
<title>Http Servlet Demo</title>
</head>
<body>
<a href="welcome">Click to call Servlet</a>
</body>
</html>

(b) ServletInterface.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ServletInterface extends HttpServlet
{
private String mymsg;
public void init () throws ServletException
{
mymsg = "Http Servlet Demo";
}
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// Setting up the content type of web page
response.setContentType ("text/html");
// Writing the message on the web page
PrintWriter out = response.getWriter ();
out.println ("<h1>" + mymsg + "</h1>");
out.println ("<p>" + "Hello Friends!" + "</p>");
}
public void destroy ()
{
// Leaving empty. Use this if you want to perform
// something at the end of Servlet life cycle.
}
}

(c) web.xml
<web-app>
<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>
<servlet>
<servlet-name>MyHttpServlet</servlet-name>
<servlet-class>ServletInterface</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyHttpServlet</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>
</web-app>

Output

Click the link on the above screen


6- Database connectivity through servlet

import java.io.*;
import java.sql.Driver;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {


@Override
public void doGet(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException
{
PrintWriter pw = res.getWriter();
pw.println("Hello");
res.setContentType("text/html");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/kiet","root","");
//here kiet is the database name, root is the username and password is not given
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next()){
pw.println(rs.getInt(1)+" "+rs.getString(2));
}
con.close();
}
catch (Exception e)
{
pw.println(e.toString());
}
}
}

// lib folder of our web app must contain 2- jar file: servlet-api.jar, mysql-connector.jar
7- Displaying the name of the user in the servlet. For this purpose, we
have used the getParameter method that returns the value for the given
request parameter name.

(a) Index.html
<html>
<form action="welcome" method="get">
User Name: <input type="text" name="uname"><br>
User Age: <input type="text" name="uage"><br>
<input type="submit" value="login">
</form> </html>

// keep this index.html in parallel to WEB-INF


And HelloWorld servlet.class inside class folder of WEB-INF
//In web.xml, provide the alias name “welcome” in <url-patteren> for correct
match with “HelloWorld”

(b) HelloWorld.java

import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException {
res.setContentType("text/html");
PrintWriter pw=res.getWriter();
String name=req.getParameter("uname");//will return value
String age=req.getParameter("uage");
pw.println("Welcome "+name);
pw.println("Name: "+name);
pw.println("Age: "+age);
pw.close();
}}

8. RequestDispatcher methods with examples in Servlet

Example: forward() vs include() method

In this example, I will be using both the methods include and forward.
Using include method, I will be changing the content of current page and when
I’m ready to transfer the control to the next page, I will use forward method.
(a) index.html
<form action="loginPage" method="post">
User Name:<input type="text" name="uname"/><br/>
Password:<input type="password" name="upass"/><br/>
<input type="submit" value="SUBMIT"/>
</form>

(b) Validation.java

import java.io.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Validation extends HttpServlet
{
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter pwriter = response.getWriter();
String name=request.getParameter("uname");
String pass=request.getParameter("upass");
if(name.equals("seema") &&
pass.equals("krishna"))
{
RequestDispatcher dis=request.getRequestDispatcher("welcome");
dis.forward(request, response);
}
else
{
pwriter.print("User name or password is incorrect!");
RequestDispatcher dis=request.getRequestDispatcher("index.html");
dis.include(request, response);
} } }
(c ) WelcomeUser.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class WelcomeUser extends HttpServlet {

public void doPost(HttpServletRequest request,


HttpServletResponse response)
throws ServletException, IOException
{

response.setContentType("text/html");
PrintWriter pwriter = response.getWriter();

String name=request.getParameter("uname");
pwriter.print("Hello "+name+"!");
pwriter.print(" Welcome to WEB TECHNOLOGY");
}}

(d) web.xml
<web-app>

<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>

<servlet>
<servlet-name>Validation</servlet-name>
<servlet-class>Validation</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Validation</servlet-name>
<url-pattern>/loginPage</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>WelcomeUser</servlet-name>
<servlet-class>WelcomeUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeUser</servlet-name>
<url-pattern>/welcome</url-pattern>
</servlet-mapping>

9. Program of sendRedirect method in servlet

DemoServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class DemoServlet extends HttpServlet{


public void doGet(HttpServletRequest req,HttpServletResponse res)
throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter pw=res.getWriter();

res.sendRedirect("http://www.google.com");

pw.close();
}}

ServletConfig to get initialization parameter

10. Program to get one initialization parameter from the web.xml file and
printing this information in the servlet.

(a) DemoServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class DemoServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
ServletConfig config=getServletConfig();
String driver=config.getInitParameter("driver");
out.print("Driver is: "+driver);
out.close();
} }

web.xml

<servlet>
<servlet-name>DemoServlet</servlet-name>
<servlet-class>DemoServlet</servlet-class>

<init-param>
<param-name>driver</param-name>
<param-value>sun.jdbc.odbc.JdbcOdbcDriver</param-value>
</init-param>

</servlet>

<servlet-mapping>
<servlet-name>DemoServlet</servlet-name>
<url-pattern>/DS</url-pattern>
</servlet-mapping>

SESSION :
11. Program to demonstrate the usage of HttpSession. All the files
mentioned below are required for the program.

1) index.html
<form method="post" action="Validate">
User: <input type="text" name="user" /><br/>
Password: <input type="text" name="pass" ><br/>
<input type="submit" value="submit">
</form>

2) web.xml
<web-app..>
<servlet>
<servlet-name>Validate</servlet-name>
<servlet-class>Validate</servlet-class>
</servlet>
<servlet>
<servlet-name>Welcome</servlet-name>
<servlet-class>Welcome</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Validate</servlet-name>
<url-pattern>/Validate</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Welcome</servlet-name>
<url-pattern>/Welcome</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>

3) Validate.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Validate extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

String name = request.getParameter("user");


String pass = request.getParameter("pass");

if(pass.equals("1234"))
{
//creating a session
HttpSession session = request.getSession();
session.setAttribute("user", name);
response.sendRedirect("Welcome");
}
} }

4) Welcome.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Welcome extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
String user = (String)session.getAttribute("user");
out.println("Hello "+user);
} }
12. Program to demonstrate the usage of Cookies

1) index.html
<form method="post" action="validate">
Name:<input type="text" name="user" /><br/>
Password:<input type="text" name="pass" ><br/>
<input type="submit" value="submit">
</form>
2) web.xml
<web-app...>

<servlet>
<servlet-name>validate</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validate</servlet-name>
<url-pattern>/validate</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>First</servlet-name>
<servlet-class>First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>
3) MyServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {


protected void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String name = request.getParameter("user");
String pass = request.getParameter("pass");

if(pass.equals("1234"))
{
Cookie ck = new Cookie("username", name);
response.addCookie(ck);
response.sendRedirect("First");
}
}
}

4) First.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class First extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Cookie[] cks = request.getCookies();
out.println("Welcome "+ cks[0].getValue());
}
}
13. Program to demonstrate the usage of URL rewriting.
Files required are:

1) index.html
<form method="post" action="validate">
Name:<input type="text" name="user" /><br/>
Password:<input type="text" name="pass" ><br/>
<input type="submit" value="submit">
</form>

2) web.xml
<web-app...>

<servlet>
<servlet-name>validate</servlet-name>
<servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>validate</servlet-name>
<url-pattern>/validate</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>First</servlet-name>
<servlet-class>First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>

3) MyServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String name = request.getParameter("user");
String pass = request.getParameter("pass");

if(pass.equals("1234"))
{
response.sendRedirect("First?user_name="+ name);
}
}
}
4) First.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class First extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String user = request.getParameter("user_name");
out.println("Welcome "+user);
}
}
14. Program to demonstrate the usage of Hidden Form Field for Session

1) index.html
<form method="post" action="first">
Name:<input type="text" name="user" /><br/>
Password:<input type="text" name="pass" ><br/>
<input type="submit" value="submit">
</form>

2) web.xml
<web-app...>

<servlet>
<servlet-name>First</servlet-name>
<servlet-class>First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>First</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>Second</servlet-name>
<servlet-class>Second</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Second</servlet-name>
<url-pattern>/Second</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>

</web-app>

3) First.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class First extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//getting value submitted in form from HTML file
String user = request.getParameter("user");

//creating a new hidden form field


out.println("<form action='Second'>");
out.println("<input type='hidden' name='user' value='"+user+"'>");
out.println("<input type='submit' value='submit' >");
out.println("</form>");
}
}

4) Second.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Second extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();

//getting parameter from the hidden field


String user = request.getParameter("user");
out.println("Welcome "+user);
}
}

Like we created a hidden field in First Servlet, populated the value


of user, and sent it to the Second Servlet, now Second servlet also
has the user information. Similarly we will have to keep sending
this information, wherever we need this, using hidden fields.

You might also like