1.compatible:adj. 兼容的;能共处的;可并立的
2.web所有的请求都是http请求,http请求默认的编码是ISO-8859-1,
不支持utf-8,要统一设置前台和后台一样,才不会乱码。
3.dispatcher:调度,调度员,跳转
增加一个用户成功之后,后台经过处理,然后要跳转到另一个页面,让用户继续操作。
4.Servlet继承结构的设计好处;
a.便于类的扩展(Java对于扩展是允许的,对修改是关闭的)
注:万一那一天多了一个协议,那么只需要让该协议对应的类实现
该协议,然后继承字genericServlet类,即可完成需求。
5.HTTPServlet类的一个service方法
我们建的类,继承自它,重写了init、destroy、doGet、doPost、方法
在httpServlet中service方法,会判断来自客户端的请求,如果是request,
那么调用request方法,如果是response,那么调用response方法,
即就是:在调用doGet和doPost方法前是先调用父类的service方法
,在我们建的类中重写该方法,就能验证出这个事实。
总结
第一次请求Servlet时,服务器会先实例化该类,然后初始化,然后调用server方法
然后,调用doget或者dopost方法,然后做操作,最后在服务器关闭的时候消亡
实例化---初始化---服务---销毁==Servlet的生命周期
补充1:给XML文件的SaveServlet加一句<load-on-startup>0</load-on-startup>
还要1、2、3、优先级别。
效果:当服务器启动时,该类就初始化了。
作用:如果说有时我们会在里边加载一些配置文件,当服务器启动时。
补充2:一般的Java文件发布后,成为class文件,要改参数不好改
把参数配置在XML文件中方便改动。在哪个servlet里边配参数,这个就写到哪个servlet里边
<init-param> XML文件不会被编译,所以很方便。
<param-name>键</parame-name>
<param-value>值</param-value>
</init-param>
6.第一个例子:从前台input.jsp提交表单,到后台SaveServlet输出数据,
然后发送数据到另一个页面index.jsp
7.
//request跳转,请求转发,由A转到C,但是地址栏依然显示A,转发使用request,地址栏不会发生变化,并且可以携带request作用域的值
//可以通过request.setAttr传递数据
8.在地址栏是
重复提交时,因为没有输入任何参数,会报出500的错误,
fulfilling:使满足,叫人愉悦的。
9.request对象的方法两个
getParameter:从jsp得到参数,到Servlet取出参数
attribute:在服务器端(Servlet)设置参数以键值对的形式设置
然后到客户端(jsp页面取值)。
10.jsp页面中写Java代码<% java 代码 %>
输出数据:out.print();
11.必须掌握的request对象的方法
getRequestURI: 项目下的地址
getRequestURL: 项目的全路径:主机//端口/项目名/Servlet类
getServletPath: /Servlet类名
getContextPath:/项目名(前边说的工程名可以任意的改动)
getMethod:默认是doGet: