IDEA下使用Tomcat无法接收到HTTP get消息,特来求助!
编译环境:Intellij IDEA 14.1.7
Tomcat 8.0.20
工程基于Maven,创建好工程并配置了Libraries,Facets,Artifacts以及Run/Debug启动配置,
在web.xml中增加了如下代码
<description>WebSrv</description>
<display-name>WebSrv</display-name>
<servlet>
<servlet-name>WebServTest</servlet-name>
<servlet-class>WebSrv.WebServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WebServTest</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
在工程WebSrv的java.WebSrv下增加文件WebServlet.java,并增加如下代码
package WebSrv;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class WebServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
}
}
能够正常启动程序,但是 http://localhost:8080/Test? 访问,上面doGet无法收到消息;
我在web.xml中增加代码
<listener>
<listener-class>WebSrv.TomcatListener</listener-class>
</listener>
并在java.WebSrv下增加文件TomcatListener.java,包含代码
package WebSrv;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TomcatListener implements ServletContextListener {
// @Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("开始启动web");
}
// @Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("关闭web");
}
}
启动后报错
[2017-12-15 11:22:25,563] Artifact AccWebSrv:war exploded: Artifact is being deployed, please wait...
15-Dec-2017 11:22:25.851 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Error listenerStart
15-Dec-2017 11:22:25.852 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
[2017-12-15 11:22:25,861] Artifact AccWebSrv:war exploded: Error during artifact deployment. See server log for details.
另外,以前做过一个没有用Maven的工程,在本机上运行是可以收到get消息的。当前工程依照老的工程做了比对并修改,但还是不行。
以前的工程 TomcatListener继承的函数可以加@Override,当前Maven工程里面的@Override要报错 @Override is not allowed when implementing interface method,所以注释掉了
请教大神看看,我是不是还有什么遗漏的步骤?