昨晚,写了这一段中遇到的一些事,而且,其中有些问题和知识点没有详细的说明,“继往开来”的再一次提笔。
一些知识的理解:
servlet的作用:首先,我们应该了解什么是servlet(是使用Java serlvet应用程序设计接口(API)及相关类和方法的Java 程序,是一种服务器端的java应用程序,用于创建web动态页面)Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
1、客户端发送请求至服务器端;
2、服务器将请求信息发送至Servlet
3、Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求
4、服务器将响应返回给客户端
servlet中doGet,doPost,service的方法:
doGet,doPost对应的是客户端发起的get和post请求,而service能解决所有的类型的请求,到这里不得不说说get和post的区别:1、在浏览器中的地址栏显示的内容的不同-----post请求的参数不会在浏览器上显示,2、所能发送数据大小不一样------post所能发送的数据可以无限大
servlet请求转发的三种方法的区别:
1、include:包含转发其中包含了servlet和html,地址栏不改变,在服务器中完成
2、forward:地址栏也不改变,也在服务器中完成,但是转发的是url中的内容
3、sendRedirect:重定向发送,前两种是在服务端做的重定向,而sendRedirect是在客户端做的重定向
2和3的区别(参考于:http://www.javawind.net/5b016f381b62cd71011b6d11c9580125.jhtml)
1、forward重定向是在容器内部实现的同一个Web应用程序的重定向,所以forward方法只能重定向到同一个Web应用程序中的一个资源,重定向后浏览器地址栏URL不变,而sendRedirect方法可以重定向到任何URL, 因为这种方法是修改http头来实现的,URL没什么限制,重定向后浏览器地址栏URL改变。
2、forward重定向将原始的HTTP请求对象(request)从一个servlet实例传递到另一个实例,而采用sendRedirect方式两者不是同一个application。
3、基于第二点,参数的传递方式不一样。forward的form参数跟着传递,所以在第二个实例中可以取得HTTP请求的参数。sendRedirect只能通过链接传递参数,response.sendRedirect(“login.jsp?param1=a”)。
4、sendRedirect能够处理相对URL,自动把它们转换成绝对URL,如果地址是相对的,没有一个‘/’,那么Web container就认为它是相对于当前的请求URI的。比如,如果为response.sendRedirect("login.jsp"),则会从当前servlet 的URL路径下找login.jsp: http://10.1.18.8:8081/dms/servlet/Servlet 重定向的URL: http://10.1.18.8:8081/dms/servlet/login.jsp,如果为response.sendRedirect("/login.jsp")则会从当前应用径下查找url:http://10.1.18.8:8081/login.jsp。而forward不能这样处理相对路径。
session和request这两种存储数据的方式的区别:
在做博客小项目的时候,在保存对象和数据的时候这个很重要。比如,再登陆成功后,将用户存放到session中,文章和评论发表成功后,将他们放在request中。在后面删除文章和删除评论的时候,可以得到对应的ID,而这两种的区别是什么呢?
1、生命周期不一样:request只在一个请求应答中有效,session只要浏览器不关闭就存在
2、对象不一样:reque转发请求时共享数据,session存放用户的相关数据对象
分享到:
相关推荐
Java基础知识回顾 一:java概述 Java的三种技术架构 JAVAEE: Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE: Java Platform Standard Edition,完成桌面应用程序...
python 零基础学习篇
KG 2015 - 知识图谱的知识表现方法回顾与展望.pdf KG 2015 - Building a Knowledge Graph by Reading the Web.pdf KG 2015 - Entity Linking wih a Knowledge Base for Heterogenous Data.pdf KG 2015 - The Future ...
python 零基础学习篇
python 零基础学习篇
python 零基础学习篇
python 零基础学习篇
Java Web编程宝典-十年典藏版.pdf 是PDF电子书,不是源码。共分2个包。 《Java Web编程宝典(十年典藏版)》是一本集技能、范例、项目和应用为一体的学习手册,书中介绍了应用Java Web进行程序开发的各种技术、技巧。...
python 零基础学习篇
python 零基础学习篇
python 零基础学习篇
1.1 知识点回顾 1.2 设计思路 1.3 设计步骤 1.4 实例讲解 2 用户登录实例 2.1 知识点回顾 2.2 设计思路 2.3 设计步骤 2.4 实例讲解 3 用户管理实例 3.1 知识点回顾 3.2 设计思路 3.3 设计步骤 3.4 实例讲解 4 ...
主要是描述了web框架,什么是框架技术,还有一些相关知识的回顾。
知识管理领域,尤其是SECI模式,在丰富患者对疾病及其并发症的知识方面具有巨大的价值。 尽管有效,知识管理在沙特阿拉伯王国的医疗保健... 这项审查通过解决王国中的一些文化障碍,有助于为知识管理提供新的中位数。
⼤家回顾⼀下发展的关键⾥程碑: 2. 1956年的达特茅斯会议标志着"⼈⼯智能"概念的诞⽣。约翰·麦卡锡提出了"⼈⼯智能"⼀词,标志着⼈⼯智能这门学科的诞⽣。 麦卡锡也因此被誉为是"⼈⼯智能之⽗"。 3. 1977年,在五...
本资源免费下载供大家阅读使用,全程知识点,使用思维导图的方式对知识进行梳理,包含各技术名词的概念及代码,内容清晰有序,适合初学者学习使用——每日一个 ,亦可以作为开发老鸟回顾知识的笔记。选择下载该内容...
本资源为准备参加...及时复习: 复习是巩固知识的关键,及时回顾已学内容,保持知识的新鲜度和熟练度。 通过认真学习和充分准备,相信您一定能够顺利通过计算机全国等级考试二级,取得优异的成绩。祝您考试顺利。
经过这两个星期的动态网页制作,我们学习了不少知识,包括对上学期学过的ASP.NET编程的回顾,还有就是对以前掌握很少的数据库操作方面的知识进行了学习。总的来说,我们学会了如何去用ASP.NET程序设计技术开发一个...
本次课程设计是对前面学过的Java web编程知识的一个整合实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次课程设计所要用到的技术点从书本和网络上搜索、以及查阅相关的书籍资料。通过编写一个使用...