mkyong

mkyong

Software Engineer • Writer • Dad

20+ years hands-on, writing about Java, Spring, and AI. Every code example here is tested.

1,960 posts

Posts by mkyong

This example shows you how to get the HTTP request headers in Java. To get the HTTP request headers, you need this class HttpServletRequest : 1. HttpServletRequest Examples 1.1 Loop over the request header’s name and print out its value. WebUtils.java package com.mkyong.web.utils; import javax.servlet.http.HttpServletRequest; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; public class WebUtils { […]

Read more How To Get HTTP Request Header In Java

If you like my works and tutorials on “mkyong.com”, please consider making a donation of $10 or whatever you can to protect and sustain the following charities : Thanks. 1. Doctors Without Borders The Doctors Without Borders works in nearly 70 countries providing medical aid to those most in need regardless of their race, religion, […]

Read more Donate to Charity

A classic example, show you how to get started with TestNG unit test framework. Tools used : TestNG 6.8.7 Maven 3 Eclipse IDE 1. TestNG Dependency Add TestNG library in the pom.xml. pom.xml <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.8.7</version> <scope>test</scope> </dependency> 2. TestNG Example Review a simple class, has a method to return a fixed email “[email protected]”. […]

Read more TestNG Hello World Example

In this tutorial, we will show you how to include static resources like JavaScript or CSS in a JSP page. Summary steps : Put static resources like cs, js or images into this folder webapp\resources Create a Spring mvc:resources mapping Include in JSP page via JSTL tag c:url or Spring tag spring:url P.S This project […]

Read more Spring MVC – How to include JS or CSS files in a JSP page

This article shows how to solve the java.lang.OutOfMemoryError: Java heap space in Eclipse IDE. Table of contents 1. Eclipse – OutOfMemoryError: Java heap space 2. Temporary fix – Increase the heap size 3. eclipse.ini 4. The solution, find the reason behind the heap size error. 5. References 1. Eclipse – OutOfMemoryError: Java heap space In […]

Read more Eclipse – java.lang.OutOfMemoryError: Java heap space

Review following documents : Collection : domain { "_id" : 1001, "domainName" : "google.com" "tag" : [ "search engine", "search", "find anything", "giant" ] }, { "_id" : 1002, "domainName" : "yahoo.com" "tag" : [ "search engine", "online portal", ] }, { "_id" : 1003, "domainName" : "mkyong.com" } 1. Question How to find all […]

Read more MongoDB – find all documents where an array / list size is greater than N

This tutorial shows you how to work with java.util.Date and java.util.Calendar. 1. Java Date Examples Few examples to work with Date APIs. Example 1.1 – Convert Date to String. SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy"); String date = sdf.format(new Date()); System.out.println(date); //15/10/2013 Example 1.2 – Convert String to Date. SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); String […]

Read more Java Date and Calendar examples

Two Java examples show you how to print the elapsed time in days, hours, minutes and seconds format. 1. Standard JDK Date APIs You need to calculate the elapsed time manually. DateTimeUtils.java package com.mkyong.dateUtils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateTimeUtils { public static void main(String[] args) { DateTimeUtils obj = new DateTimeUtils(); […]

Read more Java – Time elapsed in days, hours, minutes, seconds

In Mongodb, you can use sort()to do the date sorting. 1. MongoDB Sorting Examples In Mongodb, to sort a “date” field, issues : //The ‘1’ = sort ascending (oldest to newest) db.domain.find().sort({lastModifiedDate:1}) { "_id" : 1, "lastModifiedDate" : ISODate("2013-08-13T07:18:04.774Z") } { "_id" : 2, "lastModifiedDate" : ISODate("2013-09-03T08:12:16.309Z") } { "_id" : 3, "lastModifiedDate" : ISODate("2013-10-03T08:12:16.309Z") […]

Read more Spring Data MongoDB : get last modified records (date sorting)

In SQL, the ‘like’ query is looks like this : select * from tags where tagName like ‘%apple%’ In MongoDB console, it looks like this : db.tags.find({"tagName": /apple/}) In Spring data mongodb, it implements with Criteria or BasicQuery : String tagName = "apple"; Query query = new Query(); query.limit(10); query.addCriteria(Criteria.where("tagName").regex(tagName)); mongoOperation.find(query, Tags.class); String tagName = […]

Read more Spring Data MongoDB : like query example

Review a simple jQuery example to loop over a JavaScript array object. var json = [ {"id":"1","tagName":"apple"}, {"id":"2","tagName":"orange"}, {"id":"3","tagName":"banana"}, {"id":"4","tagName":"watermelon"}, {"id":"5","tagName":"pineapple"} ]; $.each(json, function(idx, obj) { alert(obj.tagName); }); Above code snippet is working fine, prompts the “apple”, “orange” … as expected. Problem : JSON string Review below example, declares a JSON string (enclosed with single […]

Read more jQuery loop over JSON string – $.each example

There is no direct way to iterate over a Java List with jQuery, see the following case study : Spring controller @RequestMapping(value = "/", method = RequestMethod.GET) public ModelAndView getPages() { List<String> list = new ArrayList<String>(); list.add("List A"); list.add("List B"); list.add("List C"); list.add("List D"); list.add("List E"); ModelAndView model = new ModelAndView("somepage"); model.addObject("list", list); return model; […]

Read more jQuery and Java List example

In this tutorial, we show you how to find a location using an IP address, with the following technologies : Spring MVC frameworks. jQuery (Ajax Request). GeoLite database. Google Map. Review the tutorial’s flows A page with a text input and button. Type an IP address, and clicks on the button. jQuery fires an Ajax […]

Read more Spring MVC – find location using IP Address (jQuery + Google Map)

There are many ways the favicon can be recognized by the web browser : Example 1 <head> <link rel="icon" href="http://example.com/image.ico" /> </head> Example 2 <head> <link rel="icon" href="http://example.com/image.png" /> </head> Example 3 – weird, but Google use it. <head> <meta content="/images/google_favicon_128.png" itemprop="image" /> </head> 1. Jsoup Example Code snippets to get above favicon with Jsoup. […]

Read more Jsoup – Get favicon from html page

In this tutorial, we show you how to do exception handling in Spring MVC frameworks. Normally, we use @ExceptionHandler to decide which “view” should be returned back if certain exception is raised. P.S This @ExceptionHandler class is available since Spring 3.0 1. Project Structure Review the project directory structure, a standard Maven project. 2. Custom […]

Read more Spring MVC @ExceptionHandler Example

In this tutorial, we show you how to print the List values via JSTL c:forEach tag. P.S This web project is using Spring MVC frameworks v3.2 1. Project Structure Review the project directory structure, a standard Maven project. 2. Project Dependencies Add Spring and JSTL libraries. pom.xml <properties> <spring.version>3.2.2.RELEASE</spring.version> <jstl.version>1.2</jstl.version> </properties> <dependencies> <!– jstl –> […]

Read more Spring MVC and List Example

In this article, we show you 2 examples to join two lists in Java. JDK – List.addAll() Apache Common – ListUtils.union() 1. List.addAll() example Just combine two lists with List.addAll(). JoinListsExample.java package com.mkyong.example; import java.util.ArrayList; import java.util.List; public class JoinListsExample { public static void main(String[] args) { List<String> listA = new ArrayList<String>(); listA.add("A"); List<String> listB […]

Read more How to join two Lists in Java

Below code snippet shows you how to execute a JavaScript in Selenium WebDriver. WebDriver driver = new ChromeDriver(); if (driver instanceof JavascriptExecutor) { ((JavascriptExecutor) driver).executeScript("alert(‘hello world’);"); } 1. WebDriver Example In this example, it uses WebDriver to load “google.com”, and executes a simple alert () later. JavaScriptExample.java package com.mkyong.test; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; […]

Read more How to execute JavaScript in Selenium WebDriver

By default, the “.” doesn’t match line breaks. To match multiple lines, add (?s) prefix or enable the Pattern.DOTALL flag. 1. Example A address sample, we need to extract the “Address 1” only. Starting… Address 1: 88 app 2/8 superman taman, puchong 36100, Malaysia Address 2: abc End Failed : To extract “Address 1”, this […]

Read more Regular Expression matches multiple line example – Java

The Selenium WebDriver is closed, but the “chromedriver.exe” process is left hanging in the system. See figure : Problem Here is the code, a simple WebDriver example to load a URL and exists, but the chromedriver.exe never get killed. LoadWebPageExample.java package com.mkyong.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; public class LoadWebPageExample { public […]

Read more Many chromedriver.exe are left hanging on Windows – Selenium

In Java, by default, the regular expression (regex) matching is case sensitive. To enable the regex case insensitive matching, add (?) prefix or enable the case insensitive flag directly in the Pattern.compile(). A regex pattern example. Pattern = Registrar:\\s(.*) Case Insensitive, add (?) prefix. Pattern = (?)Registrar:\\s(.*) Case Insensitive, add Pattern.CASE_INSENSITIVE flag. Pattern.compile("Registrar:\\s(.*)", Pattern.CASE_INSENSITIVE); 1. […]

Read more Regular Expression case sensitive example – Java

A simple example to use Jackson to convert a JSON string to a Map. String json = "{name:\"mkyong\"}"; Map<String,String> map = new HashMap<String,String>(); ObjectMapper mapper = new ObjectMapper(); map = mapper.readValue(json, new TypeReference<HashMap<String,String>>(){}); Problem When the program is executed, it hits following error message org.codehaus.jackson.JsonParseException: Unexpected character (‘n’ (code 110)): was expecting double-quote to start […]

Read more Jackson : was expecting double-quote to start field name

A desktop computer, Windows 8 is installed, connect to a nearby router via a wireless USB adapter. D-Link DWA-132 – Wireless N USB Adapter D-Link Wireless N300 Router DIR-615 Fiber optic internet If the computer is idle sometime, it will interval drops the wifi connection, and reconnect it again. The desktop computer was installed Windows […]

Read more Windows 8 keeps dropping wifi connection

Developing a simple Java program to write a file in the C drive root directory (where Windows is installed), but the program prompts an “access is denied” error. Try to create an empty file in the C drive root directory manually, but no options to create any files, only new folder is allowed. P.S The […]

Read more Can’t create file in the C drive root directory – Windows 8

In this tutorial, we will show you how to use Spring TaskScheduler to schedule a batch job to run every 5 seconds. Tools and libraries used Maven 3 Eclipse 4.2 JDK 1.6 Spring Core 3.2.2.RELEASE Spring Batch 2.2.0.RELEASE 1. Project Directory Structure A standard Maven project. 2. Spring TaskScheduler Spring 3.0 introduces a TaskScheduler for […]

Read more Spring Batch + Spring TaskScheduler example

In this tutorial, we will show you how to read data from a MySQL database, with JdbcCursorItemReader and JdbcPagingItemReader, and write it into an XML file. Tools and libraries used Maven 3 Eclipse 4.2 JDK 1.6 Spring Core 3.2.2.RELEASE Spring OXM 3.2.2.RELEASE Spring Batch 2.2.0.RELEASE MySQL Java Driver 5.1.25 P.S This example – MySQL jdbc […]

Read more Spring Batch Example – MySQL Database To XML