之前先复习:
1、Servlet:
Servlet接口。
MyServlet extends HttpServlet。
(HttpServlet继承自GenericServlet,GenericServlet实现了Servlet接口。)
2、java web的 servlet技术:
Java程序和页面之间的桥梁。Servlet对象放在tomcat web服务器,web容器,servlet容器。
3、调用。当请求出现时,tomcat根据映射路径找到对应的类,创建对应的对象,调用父类写好的service()方法,最终实现,对于doGet(),或者doPose()方法的调用。
4、Servlet的作用:
(1)从页面获取数据 request
(2)处理数据
(3)向客户端作出反馈 response
5、servlet类对象的创建时机?
(1)默认情况下,是在第一次请求的时候进行创建,同时立刻调用初始化方法。创建对象和初始化方法都是只执行一次。(故servlet是单例的。)
(2)在web.xml里面的<servlet>标签里设置<load-on-startup>属性,可以给非负整数,如果是0则创建优先级最高。
6、servlet的创建和消亡过程,servlet的生命周期。
构造函数,init(),init(ServletConfig sc),service(),doGet(),goPost(),destory()
7、在获得请求之后,servlet会创建ServletConfig对象(装载web.xml里面的配置属性),Response对象和Resquest对象。
请求和响应:
1、请求转发和重定向
2、得到请求数据:
数据按来源可以分为:普通属性,有参数信息,单选框的信息,多选框的信息
(1)浏览器中地址栏中问号参数。这个请求时通过get方式传递的,属于url传值
公式:
http://主机名:端口号/WebRoot/ResponseAddress(Both In Web.xml And form Action)?key=value;
举例:http://localhost:8080/Web04Servlet/Test1Servlet.do?username=zhangsan
(2)超链接的形式,传递数据,url传值,href
<a href="Test1Servlet.do?username=wangwu">Test1Servlet</a>
(3)表单的形式,最终还会转化成url
注意:凡是从浏览器客户端请求过来的数据都是参数。
3、信息在两个或者多个servlet之间传递。
(1)得到请求属性值和参数
两个servlet之间发生请求转发,不管使用forward还是 include实际上都再次经过了第一个servlet之后才做出最终的响应。
真是开发中,一般在forward和 include方法调用之后,这个servlet后面不再写代码。
Jsp中forward和include将会有明显区别,即forward完完全全把大权转让不再过问,而include将会在其他的servlet执行完相应逻辑之后,再回到当前的servlet继续执行。
Servlet只创建一个但是每一次请求都会新建一个request对象,交给servlet的service()处理。
复制工程后,右键工程->properties->web->修改 Web Context-root。像极了android里面的menifest文件。