初学servlet,
先来个警告框
Server Tomcat v8.5 Server at localhost failed to start.
控制台报错如下:
警告: The web application [emps] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:748)
代码如下:
@WebServlet("emps/emp.do")
public class EmpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private EmpService es = new EmpServiceImpl();
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String action = request.getParameter("action");
if (action == null) {
throw new RuntimeException("没有指定调用方法");
}
switch (action) {
case "login":
Login(request, response);
break;
case "search":
search(request, response);
break;
case "remove":
remove(request, response);
break;
case "modify":
modify(request, response);
case "showdept":
showdept(request, response);
}
}
......
}
错误原因
@WebServlet(“emps/emp.do”)
正确写法
@WebServlet("/emps/emp.do")
tips: action="" 、href="" 加“/”会从根目录找起。