1.浏览器提交的请求是遵循HTTP协议的文本,这段文本由服务器(tomcat)接受,并封装成httpServletRequest类型的request对象。同时把输出流封装为httpServletResponse对象。
2.用户可以通过request对象获取到所有的http头信息,然后tomcat把request,response作为参数调用servlet的方法. 例如doGet(request,response),doPost(request,response)等。
1. get方式与post方式提交数据
get方式提交的数据不能超过256个字符。参数在浏览器中显示。
Post方式提交有两种类型,1.文本类型,2.二进制类型,且提交的参数不会在浏览器中显示。
2. 我们在web.xml描述文件中配置servlet的类文件与访问方式。也可以配置servlet的启动方式,初始化参数,上下文参数。
3. Forward与Redirect
Froward(转发),servlet根据forward请求转向另一个servlet或jsp.浏览器的地址不会变,它表示一次请求。
Redirect(重定向),客户请求服务器时,服务器会返回一个状态码和url。客户端根据状态码知道这是一个重定向的地址后,会向url再次发送请求。它相当于两次请求,并且浏览器的地址会有相应的变化。
4. servlet与线程安全
由于servlet只会有一个实例,多个用户同时访问服务器的时候。Tomcat会派生出多个线程去执行servlet.因此servlet有不安全的隐患。多个线程并发访问导致数据不同步的问题。所以属性尽量写在doGet或是doPost方法内。只读属性最好定义为final类型。