想上傳程式碼可惜沒這個選項

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

arrow
arrow
    文章標籤
    簡單的 servlet log4j
    全站熱搜
    創作者介紹
    創作者 russelllee1999 的頭像
    russelllee1999

    RS & JAVA

    russelllee1999 發表在 痞客邦 留言(0) 人氣()