Issue
I have a report.jsp page which looks like below (NOTE: I have just added codes which are necessary).
<form name="report" action="../printOrganization" method="post">
<table>
<tr>
<td>
Organization name: <input type="text" name="orgName" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit" name="action" />
</td>
</tr>
</table>
When user clicks "Submit" button of report.jsp page. The request is sent to servlet called OrganizationServlet. And the request is handle by doPost method. The code in OrganizationServlet looks like below:
public class OrganizationServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String organizatio = request.getParameter("orgName");
if (organizatio.equals("ABC")) {
printAllOrganization();
}
}
public void printAllOrganization()
{
PrintWriter pw = response.getWriter();
response.setContentType("text/html");
pw.println("<!DOCTYPE html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n");
pw.println("<html>\n");
pw.println("<head>\n");
pw.println("<title> Print Organization </title>\n");
pw.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"../styles/myStyle.css\">\n"); // This style sheet doesn't show effect when program run in browser
pw.println("</head>\n");
pw.println("<body>\n");
//printing all organization code is here!
pw.println("</body>\n");
pw.println("</html>\n");
pw.close();
}
The part of web.xml which handles request is shown below:
<servlet>
<servlet-name>servletForOrganization</servlet-name>
<servlet-class>com.project.report.OrganizationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletForOrganization</servlet-name>
<url-pattern>/printOrganization</url-pattern>
</servlet-mapping>
My css file is located in this path:
MyProject > resource > styles > myStyle.css
When I run my application in the browser, the css style which is in printAllOrganization() method of OrganizationServlet servlet doesn't show any effect. Could someone please help me how to sort this problem. Thank you in advance.
Solution
Add in your home JSP file:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<link rel="stylesheet" href="<c:url value="/resource/styles/myStyle.css" />">
Add in dispatcher-servlet.xml:
<mvc:resources mapping="/resource/**" location="/resource/" />
modify your class:
public class OrganizationServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String organizatio = request.getParameter("orgName");
if (organizatio.equals("ABC")) {
printAllOrganization(request);
}
}
public void printAllOrganization(HttpServletRequest request) {
PrintWriter pw = response.getWriter();
response.setContentType("text/html");
pw.println("<!DOCTYPE html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n");
pw.println("<html>\n");
pw.println("<head>\n");
pw.println("<title> Print Organization </title>\n");
pw.println("<link rel=\"stylesheet\" type=\"text/css\" HREF=\"" + request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/resource/styles/myStyle.css\">\n");
pw.println("</head>\n");
pw.println("<body>\n");
//printing all organization code is here!
pw.println("</body>\n");
pw.println("</html>\n");
pw.close();
}
Answered By - Ismail Raju