// HelloWorldPortlet.java
import javax.portlet.GenericPortlet;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import java.io.IOException;
public class HelloWorldPortlet extends GenericPortlet {
protected void doView(RenderRequest request, RenderResponse response) throws IOException {
response.setContentType("text/html");
response.getWriter().println("<h1>Hello World!</h1>");
}
}
<!-- portlet.xml -->
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_3_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_3_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_3_0.xsd"
version="3.0">
<portlet>
<portlet-name>HelloWorldPortlet</portlet-name>
<display-name>Hello World Portlet</display-name>
<portlet-class>HelloWorldPortlet</portlet-class>
<init-param>
<name>view-template</name>
<value>/WEB-INF/jsp/view.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
</portlet>
</portlet-app>
jsp
<!-- view.jsp -->
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<title>Hello World Portlet</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>