{"id":1543,"date":"2012-07-12T12:37:00","date_gmt":"2012-07-12T12:37:00","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/2012\/10\/spring-security-part-2-password-encryption-customize-404-and-403-error-page.html"},"modified":"2012-10-22T06:03:18","modified_gmt":"2012-10-22T06:03:18","slug":"spring-security-part-2-password","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html","title":{"rendered":"Spring Security Part 2 &#8211; Password Encryption, Customize 404 and 403 error page"},"content":{"rendered":"<div dir=\"ltr\" style=\"text-align: left\"><span style=\"background-color: white\">Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error pages. If you haven&#8217;t read part 1 just click                     <\/span><a href=\"http:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-1-simple-login.html\" target=\"_blank\">here<\/a><span style=\"background-color: white\">. Because we continue the part 1 project here.<\/span><\/p>\n<p>Download the Completed Project :                     <a href=\"http:\/\/www.mediafire.com\/?tkm2vd9ro7oqhmu\" target=\"_blank\">http:\/\/www.mediafire.com\/?tkm2vd9ro7oqhmu<\/a>                   <\/p>\n<p>First we will look at how to add password encryption to our project.                    <\/p>\n<p>Edit the spring security file like below.<\/p>\n<pre class=\"brush:java\"> &lt;authentication-manager&gt;  \r\n     &lt;authentication-provider&gt;  \r\n       &lt;password-encoder hash='md5'\/&gt;  \r\n       &lt;jdbc-user-service data-source-ref='dataSource'  \r\n                 users-by-username-query='select username,password, 'true' as enabled from USER_DETAILS where username=?'  \r\n                 authorities-by-username-query='select USER_DETAILS.username , USER_AUTH.AUTHORITY as authorities from USER_DETAILS,USER_AUTH  \r\n            where USER_DETAILS.username = ? AND USER_DETAILS.username=USER_AUTH.USERNAME '  \r\n           \/&gt;  \r\n     &lt;\/authentication-provider&gt;  \r\n   &lt;\/authentication-manager&gt;  <\/pre>\n<p>that&#8217;s it. We just added the md5 password encryption to our project.                    <div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>To test this we need to edit out test-data.sql file like below.<\/p>\n<pre class=\"brush:java\"> insert into USER_DETAILS values ('user','202cb962ac59075b964b07152d234b70'); -- password - 123  \r\n insert into USER_DETAILS values ('admin','21232f297a57a5a743894a0e4a801fc3'); -- password - admin  \r\n insert into USER_AUTH values ('user', 'ROLE_USER');  \r\n insert into USER_AUTH values ('admin', 'ROLE_ADMIN');  <\/pre>\n<p>Now we will look at how to customize the error pages based HTML status code. Otherwise the default error pages are very ugly. :D If you don&#8217;t have proper understanding about HTML status codes take a                     <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec10.html\" target=\"_blank\">look at this<\/a>.                    <\/p>\n<p>In here we are handling 403(Permission denied) and 404(resource not found) status code. Because if you are dealing with spring security we definitely need to handle these two status code.(Not a must but a good practice)                    <\/p>\n<p>There can be more that one way to do this. Changing spring security xml and add additional tag will do this but here we are not going to do that. Always keep it simple. So we are going to edit the web.xml and add error page tag to this task.                    <\/p>\n<p>before that we need to create 404 and 403 customize error pages. Create two jsp pages and place it under webapp directory (Not inside WEB-INF directory).                    <\/p>\n<p>after that change the web.xml and add below tags.<\/p>\n<pre class=\"brush:java\"> &lt;error-page&gt;  \r\n     &lt;error-code&gt;404&lt;\/error-code&gt;  \r\n     &lt;location&gt;\/404.jsp&lt;\/location&gt;  \r\n   &lt;\/error-page&gt;  \r\n   &lt;error-page&gt;  \r\n     &lt;error-code&gt;403&lt;\/error-code&gt;  \r\n     &lt;location&gt;\/403.jsp&lt;\/location&gt;  \r\n   &lt;\/error-page&gt;  \r\n<\/pre>\n<p>thats it. We just customize our error pages                    <\/p>\n<p>These are some basic things that we can do with spring security. In near future I&#8217;ll come up with more interesting article about spring security with CAS integration , LDAP integration and many more. Stay Tuned :)                    <\/p>\n<p><strong><i>Reference: <\/i><\/strong><a href=\"http:\/\/blog.rajithdelantha.com\/2012\/07\/spring-security-part-2-password.html\">Spring Security Part 2 \u2013 Password Encryption, Customize 404 and 403 error page<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/p\/jcg.html\">JCG partner<\/a> Rajith Delantha at the <a href=\"http:\/\/blog.rajithdelantha.com\/\">Looping around with Rajith&#8230;<\/a> blog.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error pages. If you haven&#8217;t read part 1 just click here. Because we continue the part 1 project here. Download the Completed Project : http:\/\/www.mediafire.com\/?tkm2vd9ro7oqhmu First &hellip;<\/p>\n","protected":false},"author":222,"featured_media":242,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[30,125],"class_list":["post-1543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-spring","tag-spring-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/rajith\" \/>\n<meta property=\"article:published_time\" content=\"2012-07-12T12:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-10-22T06:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rajith Delantha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/rajithrd\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rajith Delantha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html\"},\"author\":{\"name\":\"Rajith Delantha\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/78ccd26ef4da92da98888ca67c3797a5\"},\"headline\":\"Spring Security Part 2 &#8211; Password Encryption, Customize 404 and 403 error page\",\"datePublished\":\"2012-07-12T12:37:00+00:00\",\"dateModified\":\"2012-10-22T06:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html\"},\"wordCount\":341,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-security-logo.jpg\",\"keywords\":[\"Spring\",\"Spring Security\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html\",\"name\":\"Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-security-logo.jpg\",\"datePublished\":\"2012-07-12T12:37:00+00:00\",\"dateModified\":\"2012-10-22T06:03:18+00:00\",\"description\":\"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-security-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-security-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2012\\\/07\\\/spring-security-part-2-password.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Spring Security Part 2 &#8211; Password Encryption, Customize 404 and 403 error page\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/78ccd26ef4da92da98888ca67c3797a5\",\"name\":\"Rajith Delantha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g\",\"caption\":\"Rajith Delantha\"},\"description\":\"Rajith is an software engineer, open source contributor and love to develop application based on open source projects.\",\"sameAs\":[\"http:\\\/\\\/blog.rajithdelantha.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/rajith\",\"http:\\\/\\\/www.linkedin.com\\\/profile\\\/view?id=83825805&trk=hb_tab_pro_top\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/rajithrd\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/Rajith-Delantha\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks","description":"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error","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:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html","og_locale":"en_US","og_type":"article","og_title":"Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks","og_description":"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error","og_url":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_author":"https:\/\/www.facebook.com\/rajith","article_published_time":"2012-07-12T12:37:00+00:00","article_modified_time":"2012-10-22T06:03:18+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg","type":"image\/jpeg"}],"author":"Rajith Delantha","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/rajithrd","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Rajith Delantha","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html"},"author":{"name":"Rajith Delantha","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/78ccd26ef4da92da98888ca67c3797a5"},"headline":"Spring Security Part 2 &#8211; Password Encryption, Customize 404 and 403 error page","datePublished":"2012-07-12T12:37:00+00:00","dateModified":"2012-10-22T06:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html"},"wordCount":341,"commentCount":1,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg","keywords":["Spring","Spring Security"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html","url":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html","name":"Spring Security Part 2 - Password Encryption, Customize 404 and 403 error page - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg","datePublished":"2012-07-12T12:37:00+00:00","dateModified":"2012-10-22T06:03:18+00:00","description":"Here is the part 2 of spring security post. In this post I will show you how to encrypt password using MD5 and customize 403 and 404 status code error","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-security-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2012\/07\/spring-security-part-2-password.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Spring Security Part 2 &#8211; Password Encryption, Customize 404 and 403 error page"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/78ccd26ef4da92da98888ca67c3797a5","name":"Rajith Delantha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f86756d3ac05e2a739106e02af663d483ae536c79f1d76bd95f566f5b1c6eca6?s=96&d=mm&r=g","caption":"Rajith Delantha"},"description":"Rajith is an software engineer, open source contributor and love to develop application based on open source projects.","sameAs":["http:\/\/blog.rajithdelantha.com\/","https:\/\/www.facebook.com\/rajith","http:\/\/www.linkedin.com\/profile\/view?id=83825805&trk=hb_tab_pro_top","https:\/\/x.com\/https:\/\/twitter.com\/rajithrd"],"url":"https:\/\/www.javacodegeeks.com\/author\/Rajith-Delantha"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/222"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=1543"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/1543\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/242"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=1543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=1543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=1543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}