0% found this document useful (0 votes)
2 views24 pages

Adva Java Lab Report

The document contains multiple Java programs demonstrating various concepts including JDBC for database manipulation, Swing for user login validation, RMI for a distributed chat system, JSP and Servlets for user registration and welcome message display, and Cookie and Session management. Each section includes code snippets for implementing these functionalities in Java. The programs cover a range of topics suitable for understanding Java application development and web technologies.

Uploaded by

pawanmc491
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views24 pages

Adva Java Lab Report

The document contains multiple Java programs demonstrating various concepts including JDBC for database manipulation, Swing for user login validation, RMI for a distributed chat system, JSP and Servlets for user registration and welcome message display, and Cookie and Session management. Each section includes code snippets for implementing these functionalities in Java. The programs cover a range of topics suitable for understanding Java application development and web technologies.

Uploaded by

pawanmc491
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

8.Write a swing program to connect database and display student details in JTable.

package awt;
import java.sql.*;
import java.io.*;
public class jdbc {
public static void main(String[] args) throws Exception {
Statement st;
ResultSet rs;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int ch, rno, n;
String na, ad, ph;

// Correct Driver
Class.forName("com.mysql.cj.jdbc.Driver");

// Correct Connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java",
"root", "1234");
st = conn.createStatement();

do {
System.out.println("\nDATABASE MANIPULATION USING JDBC");
System.out.println("1. INSERT");
System.out.println("2. DELETE");
System.out.println("3. UPDATE");
System.out.println("4. DISPLAY");
System.out.println("5. EXIT");
System.out.print("Enter your choice: ");
ch = Integer.parseInt(br.readLine());
switch (ch) {
case 1:
System.out.print("Enter Id to Insert: ");
rno = Integer.parseInt(br.readLine());
System.out.print("Enter name to Insert: ");
na = br.readLine();
System.out.print("Enter address to Insert: ");
ad = br.readLine();
System.out.print("Enter phone number to Insert: ");
ph = br.readLine();
try {
n = st.executeUpdate("INSERT INTO student_tab VALUES (" + rno + ",'"
+ na + "','" ad + "','" + ph + "')");
System.out.println(n + " row(s) Inserted!");
} catch (SQLException e) {
System.out.println("Insertion Error: " + e.getMessage());
}
break;

case 2:
System.out.print("Enter Id to Delete: ");
rno = Integer.parseInt(br.readLine());
try {
n = st.executeUpdate("DELETE FROM student_tab WHERE id=" + rno);
System.out.println(n + " row(s) Deleted!");
} catch (SQLException e) {
System.out.println("Deletion Error: " + e.getMessage());
}
break;
case 3:
System.out.print("Enter Id to Update: ");
rno = Integer.parseInt(br.readLine());
System.out.print("Enter new name: ");
na = br.readLine();
try {
n = st.executeUpdate("UPDATE student_tab SET name='" + na + "' WHERE
id=" + rno);
System.out.println(n + " row(s) Updated!");
} catch (SQLException e) {
System.out.println("Update Error: " + e.getMessage());
}
break;

case 4:
try {
rs = st.executeQuery("SELECT * FROM student_tab");
System.out.println("ID\tNAME\tADDRESS\tPHONE");
System.out.println("*****************************************");
while (rs.next()) {
System.out.println(rs.getInt(1) + "\t" + rs.getString(2) + "\t" +
rs.getString(3) + "\t" + rs.getString(4));
}
} catch (SQLException e) {
System.out.println("Display Error: " + e.getMessage());
}
break;

case 5:
System.out.println("Exiting Program.");
break;

default:
System.out.println("Invalid Choice! Please select between 1-5.");
}
} while (ch != 5);

st.close();
conn.close();
}
}

10. Write a swing program to check login validation by using database.


package awt;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;

public class LoginCheck extends JFrame {

JTextField userField;
JPasswordField passField;
JButton loginBtn;
JLabel statusLabel;

// Database connection info — change if needed


final String DB_URL = "jdbc:mysql://localhost:3306/testdb";
final String DB_USER = "root"; // <-- change this if your user is different
final String DB_PASS = "1234"; // <-- change this to your MySQL root password

public LoginCheck() {
setTitle("Login Checker");
setSize(350, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(null);

JLabel userLabel = new JLabel("Username:");


userLabel.setBounds(30, 30, 80, 25);
add(userLabel);

userField = new JTextField();


userField.setBounds(120, 30, 160, 25);
add(userField);
JLabel passLabel = new JLabel("Password:");
passLabel.setBounds(30, 70, 80, 25);
add(passLabel);

passField = new JPasswordField();


passField.setBounds(120, 70, 160, 25);
add(passField);

loginBtn = new JButton("Login");


loginBtn.setBounds(120, 110, 80, 25);
add(loginBtn);

statusLabel = new JLabel("");


statusLabel.setBounds(30, 140, 300, 25);
add(statusLabel);

loginBtn.addActionListener(e -> checkLogin());

setLocationRelativeTo(null);
setVisible(true);
}

private void checkLogin() {


String username = userField.getText().trim();
String password = new String(passField.getPassword()).trim();

System.out.println("Trying: " + username + " / " + password);

if (username.isEmpty() || password.isEmpty()) {
statusLabel.setText("Please fill both fields.");
return;
}

try {
// Load JDBC driver
Class.forName("com.mysql.cj.jdbc.Driver");

// Connect to database
Connection con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);

// Query with prepared statement


String sql = "SELECT * FROM users WHERE username=? AND password=?";
PreparedStatement pst = con.prepareStatement(sql);
pst.setString(1, username);
pst.setString(2, password);

ResultSet rs = pst.executeQuery();

if (rs.next()) {
JOptionPane.showMessageDialog(null, "Valid Username and Password",
"Success", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Invalid Username or Password", "Login
Failed", JOptionPane.ERROR_MESSAGE);
}

rs.close();
pst.close();
con.close();

} catch (Exception ex) {


ex.printStackTrace(); // Show in console
statusLabel.setText("⚠ Error: " + ex.getMessage());

}
}

public static void main(String[] args) {


SwingUtilities.invokeLater(LoginCheck::new);
}
}

11. Write a program create distributed system using RMI.


-RMIProject.Client
ClientApp.java
package RMIProject.client;
import RMIProject.shared.ChatServer;
import RMIProject.shared.ClientCallBack;

import javax.swing.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class ClientApp extends JFrame {


private JTextField inputField;
private JTextArea chatArea;
private JButton sendButton;
private ChatServer server;
private ClientCallBack clientStub;

public ClientApp() {
setTitle("RMI Chat Client");
setSize(400, 300);
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);

chatArea = new JTextArea();


chatArea.setBounds(30, 20, 320, 160);
chatArea.setEditable(false);
add(chatArea);

inputField = new JTextField();


inputField.setBounds(30, 200, 220, 30);
add(inputField);

sendButton = new JButton("Send");


sendButton.setBounds(260, 200, 90, 30);
add(sendButton);

try {
Registry registry = LocateRegistry.getRegistry("localhost", 1099);
server = (ChatServer) registry.lookup("ChatService");
clientStub = new ClientCallBackImpl(chatArea);
server.registerClient(clientStub);
} catch (Exception e) {
chatArea.setText("❌ Error connecting to server: " + e.getMessage());

sendButton.addActionListener(e -> {
String msg = inputField.getText();
if (!msg.isEmpty()) {
try {
chatArea.append("You: " + msg + "\n");
server.sendMessage(msg, clientStub);
inputField.setText("");
} catch (Exception ex) {
chatArea.append("❌ Error sending message\n");

}
}
});
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new ClientApp().setVisible(true));
}
}

- ClientCallBackImpl.java
package RMIProject.client;

import RMIProject.shared.ClientCallBack;

import javax.swing.*;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class ClientCallBackImpl extends UnicastRemoteObject implements ClientCallBack {


private JTextArea chatArea;

public ClientCallBackImpl(JTextArea chatArea) throws RemoteException {


this.chatArea = chatArea;
}

@Override
public void retrieveMessage(String msg) throws RemoteException {
chatArea.append(msg + "\n");
}
}

-RMIProject.server
ChatServerImpl.java
package RMIProject.server;
import RMIProject.shared.ChatServer;
import RMIProject.shared.ClientCallBack;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class ChatServerImpl extends UnicastRemoteObject implements ChatServer {


private ClientCallBack client;

public ChatServerImpl() throws RemoteException {


super();
}

@Override
public void sendMessage(String message, ClientCallBack client) throws RemoteException
{
System.out.println("Client says: " + message);
client.retrieveMessage("Server received: " + message);
}

@Override
public void registerClient(ClientCallBack client) throws RemoteException {
this.client = client;
}

public void broadcastFromServer(String msg) throws RemoteException {


if (client != null) {
client.retrieveMessage("Server: " + msg);
}
}

public void setClient(ClientCallBack client) {


this.client = client;
}}

-ServerApp.java
package RMIProject.server;

import RMIProject.shared.ClientCallBack;

import javax.swing.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class ServerApp extends JFrame {


private JTextArea chatArea;
private JTextField inputField;
private JButton sendButton;
private ChatServerImpl server;

public ServerApp() {
setTitle("RMI Chat Server");
setSize(400, 300);
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);

chatArea = new JTextArea();


chatArea.setBounds(30, 20, 320, 160);
chatArea.setEditable(false);
add(chatArea);

inputField = new JTextField();


inputField.setBounds(30, 200, 220, 30);
add(inputField);

sendButton = new JButton("Send");


sendButton.setBounds(260, 200, 90, 30);
add(sendButton);

try {
server = new ChatServerImpl() {
@Override
public void sendMessage(String message, ClientCallBack client) {
chatArea.append("Client: " + message + "\n");
try {
client.retrieveMessage("Server received: " + message);
} catch (Exception e) {
chatArea.append("❌ Error replying\n");

}
}

@Override
public void registerClient(ClientCallBack client) {
chatArea.append("✅ Client registered\n");

setClient(client);
}
};
Registry registry = LocateRegistry.createRegistry(1099);
registry.rebind("ChatService", server);
chatArea.append("🟢 Server is running...\n");

} catch (Exception e) {
chatArea.setText("❌ Server failed: " + e.getMessage());

sendButton.addActionListener(e -> {
String msg = inputField.getText();
if (!msg.isEmpty()) {
try {
server.broadcastFromServer(msg);
chatArea.append("You: " + msg + "\n");
inputField.setText("");
} catch (Exception ex) {
chatArea.append("❌ Error sending to client\n");

}
}
});
}

public static void main(String[] args) {


SwingUtilities.invokeLater(() -> new ServerApp().setVisible(true));
}}
-RMIProject.shared
-ChatServer.java
package RMIProject.shared;
import java.rmi.Remote;
import java.rmi.RemoteException;

public interface ChatServer extends Remote {


void sendMessage(String message, ClientCallBack client) throws RemoteException;
void registerClient(ClientCallBack client) throws RemoteException;
}

-ClientCallBack.java
package RMIProject.shared;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface ClientCallBack extends Remote {


void retrieveMessage(String msg) throws RemoteException;
}
12. Write a program using JSP and Servlet to accept user details through a form and
display a personalized welcome message.
-WelcomeServlet.java
package example;

import java.io.IOException;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

@WebServlet("/WelcomeServlet")
public class WelcomeServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

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


String email = request.getParameter("email");
String gender = request.getParameter("gender");
String country = request.getParameter("country");

request.setAttribute("name", name);
request.setAttribute("email", email);
request.setAttribute("gender", gender);
request.setAttribute("country", country);

RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp");
rd.forward(request, response);
}}
-index.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>User Form</title>
</head>
<body>
<h2>User Registration</h2>
<form action="WelcomeServlet" method="post">
Username: <input type="text" name="username" required><br><br>
Email: <input type="email" name="email" required><br><br>
Gender:
<input type="radio" name="gender" value="Male" checked> Male
<input type="radio" name="gender" value="Female"> Female<br><br>
Country:
<select name="country">
<option value="Nepal">Nepal</option>
<option value="India">India</option>
<option value="USA">USA</option>
</select><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>

-Welcome.jsp
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
<h2>Welcome Page</h2>
<p>
Welcome <strong><%= request.getAttribute("name") %></strong> from
<strong><%= request.getAttribute("country") %></strong>!<br>
We have sent a confirmation email to <strong><%= request.getAttribute("email")
%></strong>.<br>
Your gender: <strong><%= request.getAttribute("gender") %></strong>
</p>
</body>
</html>

-Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>WelcomeServlet</servlet-name>
<servlet-class>example.WelcomeServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WelcomeServlet</servlet-name>
<url-pattern>/WelcomeServlet</url-pattern>
</servlet-mapping> </web-app>
13.Write a Java Servlet program to demonstrate the use of Cookies and Session
management.
-CookieServlet.java
package cookie;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class CookieServlet extends HttpServlet {


protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = request.getParameter("username");
Cookie cookie = new Cookie("userName", name);
response.addCookie(cookie); // Store cookie in response
out.println("<html><body>");
out.println("<h2>Cookie Set!</h2>");
out.println("<p>Name stored in cookie: " + name + "</p>");
out.println("</body></html>");
}
}

-SessionServlet.java
package Session;

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

public class SessionServlet extends HttpServlet {


protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

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

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

HttpSession session = request.getSession(); // Get or create session


session.setAttribute("userName", name);

out.println("<html><body>");
out.println("<h2>Session Set!</h2>");
out.println("<p>Name stored in session: " + name + "</p>");
out.println("</body></html>");
}
}

-index.html
<!DOCTYPE html>
<html>
<head>
<title>Cookie and Session Example</title>
</head>
<body>
<h2>Enter Your Name</h2>
<form action="cookie-display/CookieServlet" method="post">
<label>Name (for Cookie):</label>
<input type="text" name="username">
<input type="submit" value="Send via Cookie">
</form>
<br><br>
<form action="session-display/SessionServlet" method="post">
<label>Name (for Session):</label>
<input type="text" name="username">
<input type="submit" value="Send via Session">
</form>
</body>
</html>

You might also like