想上傳程式碼可惜沒這個選項
web.xml
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.rs.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/classes/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>step1</servlet-name>
<servlet-class>com.rs.Step1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>step1</servlet-name>
<url-pattern>/step1</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
index.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<form action="/SimpleServlet/step1" method="post" >
請輸入
<input type="text" name="str">
<input type="button" onclick="submit()" value="send"><br>
<c:out value="${error}" escapeXml="false"/>
</form>
</body>
</html>
Step1.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
logger.info("start");
System.out.println(logger);
String str = request.getParameter("str");
RequestDispatcher dispatcher = null;
if(str == null || "".equals(str.trim())){
dispatcher = getServletContext().getRequestDispatcher("/index.jsp");
request.setAttribute("error", "<font color=red>不可空白<font>");
}else{
dispatcher = getServletContext().getRequestDispatcher("/WEB-INF/step1.jsp");
request.getSession().setAttribute("str", str);
}
dispatcher.forward(request,response);
}
Log4jInit .java
public class Log4jInit extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 5989587824179414231L;
static Logger logger = Logger.getLogger(Log4jInit.class.getName());
@Override
public void init(ServletConfig config) throws ServletException {
String prefix = config.getServletContext().getRealPath("/");
String file = config.getInitParameter("log4j-init-file");
// if the log4j-init-file context parameter is not set, then no point in
// trying
if (file != null) {
PropertyConfigurator.configure(prefix + file);
System.out.println("Log4J Logging started: " + prefix + file);
} else {
System.out.println("Log4J Is not configured for your Application: "
+ prefix + file);
}
super.init(config);
}
}
log4j.properties
log4j.rootLogger=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=switch.log
log4j.appender.R.MaxFileSize=5MB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
lib
commons-logging-1.0.4.jar
jstl-1.1.2.jar
log4j-1.2.14.jar
servlet-api.jar
standard-1.1.2.jar