

{"id":79202,"date":"2020-07-10T19:47:39","date_gmt":"2020-07-10T14:17:39","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=79202"},"modified":"2020-07-10T20:12:28","modified_gmt":"2020-07-10T14:42:28","slug":"java-project-chat-application","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/","title":{"rendered":"Java Project &#8211; Develop Real-time Chat Application with JSPs and Servlets"},"content":{"rendered":"<p><strong>Work on real-time chat application and sharpen your Java skills<\/strong><\/p>\n<p>The emergence of computer networks and telecommunication technologies allows people to communicate in a new way. Chatting is a method of using technology to bring people and ideas together despite geographical barriers. The technology has been available for years but the acceptance was quite recent.<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79232\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg\" alt=\"java project real time chat application\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<h3>Objective<\/h3>\n<p>This is one of the top projects for beginners. It provides client application which runs on the users&#8217; desktop and server application which runs on any machine on the network. To start chatting our client should get connected to a server where they can do group and private chatting.<\/p>\n<p>The objective of this project is to develop a java chat application. Let&#8217;s develop an instant messaging solution to enable users to seamlessly communicate with each other. The project should be very easy to use enabling even a beginner to use it.<\/p>\n<h3>Software requirements of the project<\/h3>\n<ul>\n<li>Windows &amp; Higher version (32\/64-bit) license copies as per requirement<\/li>\n<li>Tomcat9 Server<\/li>\n<li>JDBC connectivity<\/li>\n<\/ul>\n<h3>Implementation Languages used to develop the project<\/h3>\n<ul>\n<li>Java<\/li>\n<li>Socket Programming<\/li>\n<li>AJAX<\/li>\n<li>HTML<\/li>\n<li>CSS<\/li>\n<li>JavaScript<\/li>\n<\/ul>\n<h3>Database<\/h3>\n<p>The total number of tables in the database that was identified to build our system is 6. They are:<\/p>\n<ul>\n<li>Closed_account<\/li>\n<li>Friend<\/li>\n<li>Friend_request<\/li>\n<li>Member<\/li>\n<li>Message<\/li>\n<li>Notification<\/li>\n<\/ul>\n<h3>Backend<\/h3>\n<p><strong>JDBC:<\/strong> JDBC stands for Java Database Connectivity. It is a part of JavaSE (Java Standard Edition). JDBC API uses JDBC drivers to connect with the database.<\/p>\n<p><strong>JSP &amp; Servlets: <\/strong>Java Server Pages (JSP) is a server-side technology that allows development of Web-based applications.<\/p>\n<p>JSP stands for Java Server Page. It is used to create a web application just like Servlet technology. We can think of JSP as an extension to Servlet because it provides more functionality than servlets such as expression language, JSTL, etc.<\/p>\n<h3>Frontend<\/h3>\n<p><strong>HTML (HyperText Markup Language)<\/strong><\/p>\n<p>HTML stands for HyperText Markup Language and it is a standard markup language for creating Web pages. It describes the structure of Web pages.<\/p>\n<p><strong>CSS (Cascading Style Sheets)<\/strong><\/p>\n<p>CSS is a language that describes the style of an HTML document. It describes how HTML elements should be displayed.<\/p>\n<h3>Servlets used in the project<\/h3>\n<p>There are 15 servlets used in this project:<\/p>\n<p><strong>acceptFriendRequest.java<\/strong>: This servlet add friend request in the friend request list.<\/p>\n<p><strong>addFriendRequest.java:<\/strong> This servlet adds the friend request to the user in the friend request list when the user sends the friend request.<\/p>\n<p><strong>AddMessage.java:<\/strong> This servlet adds messages to the message box and shows them to the users.<\/p>\n<p><strong>ApplicationSetting.java:<\/strong> This servlet implements the Serializable interface and sets the number of notifications.<\/p>\n<p><strong>Authenticator.java:<\/strong> This servlet is used to authenticating the user when he login to the system. It checks whether the username and password are correct or not.<\/p>\n<p><strong>CloseAccount.java:<\/strong> This servlet deletes the user account from the database and closes the account.<\/p>\n<p><strong>FriendList.java:<\/strong> This servlet shows the friend list of a user. In this list all the friends that are being added by accepting the friend request.<\/p>\n<p><strong>Logout.java:<\/strong> This servlet is used to logout the user from the application.<\/p>\n<p><strong>MessageList.java:<\/strong> This java file shows the message ists to the user in the message box.<\/p>\n<p><strong>ProfileUpdater.java:<\/strong> This servlet is used to update the user profile like username, name, and password.<\/p>\n<p><strong>removeFriend.java:<\/strong> This servlet removes the friend from the friend list.<\/p>\n<p><strong>RemoveFriendRequest.java:<\/strong> This servlet removes the friend request.<\/p>\n<p><strong>UserAvatar.java:<\/strong> This servlet fetches the images from the images folder and shows them on the webpage of the user profile.<\/p>\n<p><strong>userCreator.java:<\/strong> This servlet creates a new user and adds to the database.<\/p>\n<p><strong>usernameAvailabilityVerifier.java:<\/strong> This servlet checks the username availability at the time of registration. If the user tried to enter the already registered username, then there will be an error message shown that asks the user to choose other usernames.<\/p>\n<h3>Download Project Source Code<\/h3>\n<p>Please download the project: <a href=\"https:\/\/data-flair.training\/blogs\/download-chat-application-project-source-code\/\"><strong>Chat Application Source Code<\/strong><\/a><\/p>\n<h3>Running the Project<\/h3>\n<p>To run this project you need to install the tomcat9 server and apache derby and Java on your system.<\/p>\n<p>1. Now extract the downloaded project: tmchat.zip<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79203\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract.jpg\" alt=\"extract\" width=\"1280\" height=\"687\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract.jpg 1280w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract-300x161.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract-1024x550.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract-150x81.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract-768x412.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/extract-520x279.jpg 520w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/a><\/p>\n<p>2. Open the cmd and type startnetworkserver command to open the apache derby server:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79223\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver.png\" alt=\"startnetworkserver\" width=\"1680\" height=\"253\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver.png 1680w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-300x45.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-1024x154.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-150x23.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-768x116.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-1536x231.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/startnetworkserver-520x78.png 520w\" sizes=\"auto, (max-width: 1680px) 100vw, 1680px\" \/><\/a><\/p>\n<p>3. Open another cmd window and type ij command:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79212\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij.png\" alt=\"ij command\" width=\"868\" height=\"256\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij.png 868w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij-300x88.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij-150x44.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij-768x227.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/ij-520x153.png 520w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a><\/p>\n<p>4. Now open the tomcat9 server:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79224\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat.png\" alt=\"tomcat\" width=\"1148\" height=\"682\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat.png 1148w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat-300x178.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat-1024x608.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat-150x89.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat-768x456.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/tomcat-520x309.png 520w\" sizes=\"auto, (max-width: 1148px) 100vw, 1148px\" \/><\/a><\/p>\n<p>5. Now type http:\/\/localhost:8080 link on the browser, you will see the login page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79213\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login.png\" alt=\"login\" width=\"593\" height=\"703\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login.png 593w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login-253x300.png 253w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login-127x150.png 127w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login-520x616.png 520w\" sizes=\"auto, (max-width: 593px) 100vw, 593px\" \/><\/a><\/p>\n<p>6. You can create an account by registering to the application:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79221\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi.png\" alt=\"register\" width=\"584\" height=\"764\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi.png 584w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi-229x300.png 229w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi-115x150.png 115w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/regi-520x680.png 520w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79207\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done.png\" alt=\"registaration done\" width=\"716\" height=\"289\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done.png 716w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done-300x121.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done-150x61.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/done-520x210.png 520w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/a><\/p>\n<p>7. Now, Login:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79214\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1.png\" alt=\"login\" width=\"602\" height=\"715\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1.png 602w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1-253x300.png 253w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1-126x150.png 126w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/login1-520x618.png 520w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>8. After successful login, there is a home page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79211\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home.png\" alt=\"home\" width=\"1902\" height=\"904\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home.png 1902w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-300x143.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-1024x487.png 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-150x71.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-768x365.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-1536x730.png 1536w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/home-520x247.png 520w\" sizes=\"auto, (max-width: 1902px) 100vw, 1902px\" \/><\/a><\/p>\n<p>9. If you try to register with the existing username, you will the following error:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79219\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1.png\" alt=\"username not available\" width=\"576\" height=\"803\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1.png 576w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1-215x300.png 215w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1-108x150.png 108w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/reg1-520x725.png 520w\" sizes=\"auto, (max-width: 576px) 100vw, 576px\" \/><\/a><\/p>\n<p>10. You can log in using google account:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79210\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login.png\" alt=\"google login\" width=\"833\" height=\"875\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login.png 833w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login-286x300.png 286w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login-143x150.png 143w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login-768x807.png 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/google-login-520x546.png 520w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><\/a><\/p>\n<p>11. You can view your profile:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/profile.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79217\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/profile.png\" alt=\"profile\" width=\"312\" height=\"391\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/profile.png 312w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/profile-239x300.png 239w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/profile-120x150.png 120w\" sizes=\"auto, (max-width: 312px) 100vw, 312px\" \/><\/a><\/p>\n<p>12. Notifications page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79204\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7.png\" alt=\"notification\" width=\"703\" height=\"295\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7.png 703w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7-300x126.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7-150x63.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture7-520x218.png 520w\" sizes=\"auto, (max-width: 703px) 100vw, 703px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79205\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8.png\" alt=\"notification details\" width=\"604\" height=\"206\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8.png 604w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8-300x102.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8-150x51.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/Capture8-520x177.png 520w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/a><\/p>\n<p>13. Friend request page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-request.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79209\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-request.png\" alt=\"friend request\" width=\"357\" height=\"402\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-request.png 357w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-request-266x300.png 266w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-request-133x150.png 133w\" sizes=\"auto, (max-width: 357px) 100vw, 357px\" \/><\/a><\/p>\n<p>14. Friend list page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79208\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-list.png\" alt=\"friend list\" width=\"288\" height=\"385\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-list.png 288w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-list-224x300.png 224w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/friend-list-112x150.png 112w\" sizes=\"auto, (max-width: 288px) 100vw, 288px\" \/><\/a><\/p>\n<p>15. Remove friend page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79222\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend.png\" alt=\"remove friend\" width=\"698\" height=\"582\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend.png 698w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend-300x250.png 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend-150x125.png 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/remove-friend-520x434.png 520w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/p>\n<p>16. Update Profile page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79225\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro.png\" alt=\"update profile\" width=\"678\" height=\"843\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro.png 678w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro-241x300.png 241w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro-121x150.png 121w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/update-pro-520x647.png 520w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/a><\/p>\n<p>17. New Connections page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79216\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn.png\" alt=\"new connections\" width=\"603\" height=\"750\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn.png 603w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn-241x300.png 241w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn-121x150.png 121w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/new-Conn-520x647.png 520w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/p>\n<p>18. Delete Account page:<\/p>\n<p><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-79206\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account.png\" alt=\"delete account\" width=\"645\" height=\"758\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account.png 645w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account-255x300.png 255w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account-128x150.png 128w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/delete-account-520x611.png 520w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Conclusion<\/h2>\n<p>This project is a chat application where you can add your friends and chat with them. You will have to ensure that the tomcat9 server and the apache derby server are connected and they both should be open while running the project. This project covers each and every fundamental aspect of Java language form OOPs concepts to the web development concepts. We hope you have found this project interesting and would have learned a lot from it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Work on real-time chat application and sharpen your Java skills The emergence of computer networks and telecommunication technologies allows people to communicate in a new way. Chatting is a method of using technology to&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":79232,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32],"tags":[22594,22420,22595,22479,22481,22423,22480],"class_list":["post-79202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-chat-application","tag-core-java-projects","tag-java-chat-project","tag-java-project","tag-java-project-for-beginners","tag-java-project-topics-for-computer-science","tag-java-project-with-source-code"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Java Project - Develop Real-time Chat Application with JSPs and Servlets - DataFlair<\/title>\n<meta name=\"description\" content=\"Work on real-time chat application in Java with source code. This is a good project for beginners to sharpen their skills and master Java, JSPs, servlets, etc.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Project - Develop Real-time Chat Application with JSPs and Servlets - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Work on real-time chat application in Java with source code. This is a good project for beginners to sharpen their skills and master Java, JSPs, servlets, etc.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-10T14:17:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-10T14:42:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Java Project - Develop Real-time Chat Application with JSPs and Servlets - DataFlair","description":"Work on real-time chat application in Java with source code. This is a good project for beginners to sharpen their skills and master Java, JSPs, servlets, etc.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/","og_locale":"en_US","og_type":"article","og_title":"Java Project - Develop Real-time Chat Application with JSPs and Servlets - DataFlair","og_description":"Work on real-time chat application in Java with source code. This is a good project for beginners to sharpen their skills and master Java, JSPs, servlets, etc.","og_url":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2020-07-10T14:17:39+00:00","article_modified_time":"2020-07-10T14:42:28+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"Java Project &#8211; Develop Real-time Chat Application with JSPs and Servlets","datePublished":"2020-07-10T14:17:39+00:00","dateModified":"2020-07-10T14:42:28+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/"},"wordCount":865,"commentCount":14,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg","keywords":["chat application","core java projects","java chat project","java project","java project for beginners","java project topics for computer science","java project with source code"],"articleSection":["Java Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/","url":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/","name":"Java Project - Develop Real-time Chat Application with JSPs and Servlets - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg","datePublished":"2020-07-10T14:17:39+00:00","dateModified":"2020-07-10T14:42:28+00:00","description":"Work on real-time chat application in Java with source code. This is a good project for beginners to sharpen their skills and master Java, JSPs, servlets, etc.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/java-project-chat-application\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2020\/07\/java-project-real-time-chat-application.jpg","width":1200,"height":628,"caption":"java project real time chat application"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/java-project-chat-application\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Java Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/java\/"},{"@type":"ListItem","position":3,"name":"Java Project &#8211; Develop Real-time Chat Application with JSPs and Servlets"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=79202"}],"version-history":[{"count":1,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79202\/revisions"}],"predecessor-version":[{"id":79233,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/79202\/revisions\/79233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/79232"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=79202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=79202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=79202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}