手写ServletDemo

慕课网“JAVA遇见HTML——Servlet篇”视频范例。

写类继承HttpServlet

重写doGet()和doPost()方法:IDEA中使用快捷键ctrl+o选择要重写的方法。

在web.xml中注册Servlet

添加servlet和servlet-mapping标签

代码

index.jsp

  

第一个servlet小例子


Get方式请求HelloServlet
``` `web.xml`在web-app标签中添加如下内容:


HelloServlet

servlet.HelloServlet




HelloServlet

/servlet/HelloServlet

`HelloServlet.java`省略import的内容

public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("处理Get请求...");
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=utf-8");
out.println("Hello Servlet!
"); }
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("处理Post请求...");
PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=utf-8");
out.println("Hello Servlet!
"); }}

####出现的问题
post请求按钮总是返回405:这篇文章虽然没有帮助解决,但看了也有收获。
http://www.cnblogs.com/panjun-Donet/archive/2009/04/04/1429585.html
里面谈及的情况都是没有成功覆写doGet和doPost方法导致的调用父类自己的do*方法,默认返回400或405。但检查我自己的代码,并没有出现上述问题。
最终关闭tomcat并重启后正常运行了。

####Servlet生命周期

#####以下三种时刻Servlet容器装载Servlet

######Servlet容器启动时自动装载某些servlet

1、在`web.xml`中添加代码`1`,数字越小优先级越高。
2、Servlet容器启动后,客户端首次向Servlet请求servlet实例时。这时先调用构造方法,再调用初始化方法,继而调用service方法,由它判断该请求的类型,进而调用doGet()还是doPost()方法。整个servlet周期内,init方法只被调用一次。
3、Servlet类文件被更新后,重新装载Servlet。

你可能感兴趣的:(手写ServletDemo)