2. The content of the xml file need to specify the following:
<?xml version='1.0' encoding='utf-8'?>
<Context path="/myapp16" docBase="D:\projects\myapp_1.6\webapp"/>
<?xml version='1.0' encoding='utf-8'?>
<Context path="/myapp16" docBase="D:\projects\myapp_1.6\webapp"/>
<filterset id="variables.to.replace.when.configuring.tomcat">
<filter token="LOG_FILE" value="${env.CATALINA_HOME}/logs/${webapp.name}.log" />
</filterset>
<pathconvert dirsep="/" property="log">
<path path="${env.CATALINA_HOME}/logs/${webapp.name}.log"/>
</pathconvert>
<filterset id="variables.to.replace.when.configuring.tomcat">
<filter token="LOG_FILE" value="${log}" />
</filterset>
///////////////////////////// SERVLET START //////////////////////////////
package com.treyvus.mockobjects.example.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Yevgeniy Treyvus
*/
public class HelloWorldServlet extends HttpServlet {
public static final String NAME_NOT_PROVIDED_ERROR_MSG = "Name not provided.";
public static final String NAME_PARAM = "name";
/**
*
*/
private static final long serialVersionUID = 232520223006073222L;
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
String yourName = req.getParameter(NAME_PARAM);
if(yourName==null || yourName.trim().length()==0) {
res.sendError(HttpServletResponse.SC_BAD_REQUEST, NAME_NOT_PROVIDED_ERROR_MSG);
return;
}
res.getWriter().println(generateGreeting(yourName));
}
public static String generateGreeting(String yourName) {
return "Hello " + yourName + "!";
}
}
///////////////////////////// SERVLET END ////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
///////////////////////////// UNIT TEST START ////////////////////////////
package com.treyvus.mockobjects.example.servlet;
import javax.servlet.http.HttpServletResponse;
import junit.framework.TestCase;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
/**
* @author Yevgeniy Treyvus
*/
public class HelloWorldServletTest extends TestCase {
public void testHelloWorldServletSendsBadRequestResponseIfNoNameParameterProvided() throws Exception {
HelloWorldServlet helloWorldServlet = new HelloWorldServlet();
MockHttpServletRequest req = new MockHttpServletRequest();
MockHttpServletResponse res = new MockHttpServletResponse();
helloWorldServlet.doGet(req, res);
assertEquals(HttpServletResponse.SC_BAD_REQUEST, res.getStatus());
assertEquals(HelloWorldServlet.NAME_NOT_PROVIDED_ERROR_MSG, res.getErrorMessage());
}
public void testHelloWorldServletSendsSuccessResponseIfNameParameterIsProvided() throws Exception {
final String name = "Yevgeniy";
HelloWorldServlet helloWorldServlet = new HelloWorldServlet();
MockHttpServletRequest req = new MockHttpServletRequest();
req.setParameter(HelloWorldServlet.NAME_PARAM, name);
MockHttpServletResponse res = new MockHttpServletResponse();
helloWorldServlet.doGet(req, res);
assertEquals(HttpServletResponse.SC_OK, res.getStatus());
assertEquals(HelloWorldServlet.generateGreeting(name), res.getContentAsString().trim());
}
}
///////////////////////////// UNIT TEST END ////////////////////////////