昨天初学Servlet,我采用的是手动创建servlet类,但日常开发中,基本上都用自动创建,自动创建更方便快捷,不用手动继承HttpServlet类,不用去web.xml文件中注册该servlet类,可以更高效的开发。昨天的servlet中我重写了 service()方法,对于页面数据的2种提交方式(get和Post)提交的数据未做区分处理,这是不规范不严密的,实际开发中我们基本不用service()方法,servlet中有doGet()和doPost()2个方法可以达到相同的效果,且做了区分。
关于doGet()和doPost与service()的关系,可以这样理解,当项目运行的时候,由编译系统自己首先运行service()方法,再根据页面提交的方式调用我们在servlet类中编辑的相对应doGet()或是doPost()方法。为了方便统一,我始终让servlet执行doPost()方法。详情见下图:
给servlet配置有后缀的URL:
在web.xml文件的<servlet-mapping>标签中添加
<url-pattern>xxx.html</url-pattern>,可以让servlet地址(状态栏)看起来像一个网页(强迫症,一个页面就应该是个 网页),但其实它并不是一个网页。如图:
设置servlet的初始化时间:
即init()方法的执行时间,默认情况下:第一次访问servlet时被调用(该servlet被初始化),且只能被调用一次。
在web.xml文件的<servlet>标签中添加
<load-on-startup>1</load-on-startup>
1代表序号,越小越先开启。
eg.
HttpServletResponse接口:
HttpServletResponse对象是servlet程序和servlet引擎进行通讯的接口。
servlet程序通过HttpServletResponse对象将响应正文传递给servlet引擎。
再由servlet引擎将响应正文输出到客户端。
eg.
请求转发--服务器内部跳转:<