Java Programs
Java Programs
demo/
├── src/
│ └── main/
│ └── java/
│ └── com/
│ └── FirstwebApp/
│ └── helloworld.java
├── webapp/
│ └── WEB-INF/
| └── web.xml
│ └── index.jsp
├── target/
└── pom.xml
Code:
package com.FirstwebApp;
Code:
<html>
<body>
<h2>Hello World! </h2>
<h1><a href= “. /firstservlet">Click here</a></h1>
</body>
</html>
Output:
The servlet outputs a simple message: 'Hello from Servlet'.
• Web.xml:
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.myServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
</web-app>
2. SignIn Servlet Program:
Program Description:
This servlet processes a user's login credentials by retrieving the
username and password from the request. It prints the credentials to
the console and also displays them in the HTTP response.
Code - signin.java:
package com.example;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
}
Code - index.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form action="./submit" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Output:
• Web.xml:
<!DOCTYPE web-app PUBLIC
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<servlet>
<servlet-name>submit</servlet-name>
<servlet-class>com.example. signin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>submit</servlet-name>
<url-pattern>/submit</url-pattern>
</servlet-mapping>
</web-app>
3. Cookies:
Program Description:
Stores username in a cookie in the first servlet and retrieves it in the second
servlet.
Folder Structure:
cookies/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── CookiesServlet1.java
│ │ └── CookiesServlet2.java
│ └── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
└── pom.xml
Code: CookiesServlet1.java
package com.example;
import java.io. * ;
import javax. servlet. *;
import javax. servlet. http. * ;
// Create a cookie
Cookie cookie = new Cookie ("username", username);
response. addCookie(cookie);
out. println ("<h1>Welcome " + username + "</h1>");
out. println ("<a href='cookieservlet2'>Go to Second Servlet</a>");
}
}
Code: CookiesServlet2.java
package com.example;
import java.io. * ;
import javax. servlet. * ;
import javax. servlet. http. * ;
response. setContentType("text/html");
// Read cookies
if (cookies! = null) {
} else {
out. println("<h1>No cookies found! < /h1>");
Web.xml:
<web-app>
<servlet>
<servlet-name>CookiesServlet1</servlet-name>
<servlet-class>com.example. CookiesServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CookiesServlet1</servlet-name>
<url-pattern>/cookieservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CookiesServlet2</servlet-name>
<servlet-class>com.example. CookiesServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CookiesServlet2</servlet-name>
<url-pattern>/cookieservlet2</url-pattern>
</servlet-mapping>
</web-app>
Index.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Login with Cookies</title>
</head>
<body>
<form action="cookieservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
Output:
4. Hidden Form Fields:
Program Description:
Passes username using a hidden form field between servlets.
Folder Structure:
hidden_form/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── HiddenFormServlet1.java
│ │ └── HiddenFormServlet2.java
│ └── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
└── pom.xml
Code: HiddenFormServlet1.java
package com.example;
import java.io. *;
import javax. servlet. *;
import javax. servlet. http.*;
Code: HiddenFormServlet2.java
package com.example;
import java.io. * ;
response. setContentType("text/html");
Web.xml:
<web-app>
<servlet>
<servlet-name>HiddenFormServlet1</servlet-name>
<servlet-class>com.example. HiddenFormServlet1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HiddenFormServlet1</servlet-name>
<url-pattern>/hiddenformservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>HiddenFormServlet2</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>HiddenFormServlet2</servlet-name>
<url-pattern>/hiddenformservlet2</url-pattern>
</servlet-mapping>
</web-app>
Index.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Login with Hidden Form</title>
</head>
<body>
<form action="hiddenformservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
Folder Structure:
http_session/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── SessionServlet1.java
│ │ └── SessionServlet2.java
│ └── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
└── pom.xml
Code: SessionServlet1.java
package com.example;
Code: SessionServlet2.java
package com.example;
import java.io. * ;
// Retrieve session
if (session! = null) {
}
else {
Index.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Login with HTTP Session Management</title>
</head>
<body>
<h2>Login</h2>
<form action="sessionservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"
required><br><br>
<button type="submit">Login</button>
</form>
</body>
</html>
Output:
Web.xml :
<web-app>
<servlet>
<servlet-name>SessionServlet1</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>SessionServlet1</servlet-name>
<url-pattern>/sessionservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SessionServlet2</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>SessionServlet2</servlet-name>
<url-pattern>/sessionservlet2</url-pattern>
</servlet-mapping>
</web-app>
6. URL Rewriting:
Program Description:
Passes username via URL query parameters between servlets.
Folder Structure:
url_rewriting/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── URLRewritingServlet1.java
│ │ └── URLRewritingServlet2.java
│ └── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
└── pom.xml
Code: URLRewritingServlet1.java
package com.example;
import java.io. * ;
}
Index.jsp:
<!DOCTYPE html>
<html>
<head>
<title>Login with URL Rewriting</title>
</head>
<body>
<form action="urlrewritingservlet1" method="GET">
<label for="username">Username:</label>
<input type="text" id="username" name="username"
required><br><br>
<button type="submit">Submit</button>
</form>
</body>
</html>
Output:
Web.xml:
<web-app>
<servlet>
<servlet-name>URLRewritingServlet1</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>URLRewritingServlet1</servlet-name>
<url-pattern>/urlrewritingservlet1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>URLRewritingServlet2</servlet-name>
</servlet>
<servlet-mapping>
<servlet-name>URLRewritingServlet2</servlet-name>
<url-pattern>/urlrewritingservlet2</url-pattern>
</servlet-mapping>
</web-app>