换了mac之后觉得IDEA的界面更好看,这次是要用Servlet实现一个MVC,在第一次使用IDEA写Servlet的过程中碰到了许多问题。
一、HttpServlst包没有导入
在IDEA默认的web项目中,Servlet-api这个包并不属于JavaSE的范围,所以HttpServlet并不在自动导入的范围中,所以这里我们需要自己导入。
1.项目右键选择Open Module Settings
2.选择Library,点加号
3.选择自己tomcat/lib下的api-servlet.jar
4.完成
二、方法自动生成
这里HelloServlet类需要继承HttpServlet,doGet和doPost方法使用IDEA自动生成.
HelloServlet类
package servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
//继承HttpServlet
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
super.doGet(request, response);
System.out.println("处理get请求");
PrintWriter out=response.getWriter();
out.println("<b>Hello Servlet</b> ");
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// super.doPost(request, response);
}
}
运行的时候报错了,说是doGet不支持,懵逼ing
回去重新检查了doGet方法,发现IDEA在生成doGet方法的时候多加了一行
super.doGet(request, response);
因为idea默认生成的super调用,删除了就可以了!