JavaWeb开发知识大全.docx

上传人:b****8 文档编号:9531823 上传时间:2023-05-19 格式:DOCX 页数:47 大小:37.67KB
下载 相关 举报
JavaWeb开发知识大全.docx_第1页
第1页 / 共47页
JavaWeb开发知识大全.docx_第2页
第2页 / 共47页
JavaWeb开发知识大全.docx_第3页
第3页 / 共47页
JavaWeb开发知识大全.docx_第4页
第4页 / 共47页
JavaWeb开发知识大全.docx_第5页
第5页 / 共47页
JavaWeb开发知识大全.docx_第6页
第6页 / 共47页
JavaWeb开发知识大全.docx_第7页
第7页 / 共47页
JavaWeb开发知识大全.docx_第8页
第8页 / 共47页
JavaWeb开发知识大全.docx_第9页
第9页 / 共47页
JavaWeb开发知识大全.docx_第10页
第10页 / 共47页
JavaWeb开发知识大全.docx_第11页
第11页 / 共47页
JavaWeb开发知识大全.docx_第12页
第12页 / 共47页
JavaWeb开发知识大全.docx_第13页
第13页 / 共47页
JavaWeb开发知识大全.docx_第14页
第14页 / 共47页
JavaWeb开发知识大全.docx_第15页
第15页 / 共47页
JavaWeb开发知识大全.docx_第16页
第16页 / 共47页
JavaWeb开发知识大全.docx_第17页
第17页 / 共47页
JavaWeb开发知识大全.docx_第18页
第18页 / 共47页
JavaWeb开发知识大全.docx_第19页
第19页 / 共47页
JavaWeb开发知识大全.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JavaWeb开发知识大全.docx

《JavaWeb开发知识大全.docx》由会员分享,可在线阅读,更多相关《JavaWeb开发知识大全.docx(47页珍藏版)》请在冰点文库上搜索。

JavaWeb开发知识大全.docx

JavaWeb开发知识大全

Java_Web_开发

 

第一章Web应用程序----概述

在这一章里面,我们要学习以下几点:

1:

Web应用程序与桌面应用程序的区别

2:

Web服务器与客户端

3:

Http协议

4:

Web应用程序体系结构

5:

Web应用程序的目录结构

6:

Get与Post提交方式

7:

用Jbulider开发第一个Web程序

8:

Web应用程序开发过程

9:

如何在TomCat5.0中配置Servlet

Web应用程序与桌面应用程序的区别

桌面应用程序:

在台式电脑上运行的应用程序称为桌面应用程序。

比如:

记事本,Word,Excel。

这种应用程序的特点是

1)缺少共享2)直接双击就可以运行,不需要IE3)一般以window的窗口形式存在

Web应用程序:

1)需要IE来执行2)一般以网页的形式的存在3)可以有很多的客户端来共享。

比如:

Web应用程序的优点:

1)能够实现最大的资源共享,

比如:

开发一个网站,放在Internet上,就可以让全世界的人都来共享

2)维护与部署起来成本低

Web应用程序只需要在服务器上安装一次,就可以通过网络给所有客户端共享,以后要修改

Web应用程序,只需要修改服务器上Web应用程序,则所有的客户端自动进行更新。

而桌面

应用程序必须在每台计算机上都安装一次,以后要修改时,每台计算机都要修改

Web应用程序的缺点:

响应速度比桌面应用程序要低很多,因为要通过Internet去访问远程网页.

Web服务器与客户端

Web服务器:

存放网页(*.jsp)的那一端被称为Web服务器

Web客户端:

浏览网页的那一端被称为客户端

工作原理:

客户端利用IE,通过Internet向Web服务器发出请求(Request),Web服务器在接到请求之后,进行处理

然后再把处理之后的结果通过Internet传给客户端,客户端再通过IE显示出来。

我们把服务器接受

客户端的请求并进行处理的这个过程称为响应(Response)。

注意:

请求是发给服务器的,而响应是发给客户端的

 

Http协议

Http协议:

HyperTextTransportProtocol超文本传输协议。

是客户端与服务器进行交互所共同遵守的一个规则。

可以把购房者看成是客户端把房产开发商看成是服务器端,购房者要能从开发商那里顺利的买到房子,

同时开发商要能够顺利地把房子卖给购房者,购房者与开发商必须要遵守购房合同。

这个合同就是所

谓的协议。

Http协议端口:

客户端要把请求发给服务器,服务器要把处理数据发给客户端,Http协议本身是办不到的。

Http协议只是

规定了客户端与服务器发送数据的规则,格式。

为了能够实现数据的发送与接受,就要在客户端与服务器之间建立一个通道,让客户端与服务器通过这个通道来传输数据。

这个通道在Web应用程序中被称为端口号

Web应用程序的端口号默认为80。

当客户端通过IE去游览网页时,要按照以下格式输入:

http:

//网站名:

端口号--------->比如:

:

80。

只不过由于80端口号是默认的所

以可以省略这个端口号

Http协议是无状态的:

客户端使用Http协议通过端口号80向Web服务器发出请求,Web服务器接受请求,并与客户端创建一个连接

Web服务器进行数据处理,并把处理的结果传给客户端。

一旦应答了客户的请求,服务器则关闭,这样以前与客户端的连接的信息就全部都丢失了。

所以Htpp被称为没有状态。

相当于你到菜场去买菜,你是客户端菜贩是服务器,一旦你与菜贩完成一次买菜交易,菜贩是不会把你买菜的过程记录下来的。

这样即使你事发现找钱错了,也无法证明

Http协议的状态码:

200:

代表处理成功

404:

指定客户输入的网页不存在

 

Web应用程序体系结构

表示层:

用户界面

业务层:

包含系统业务的功能,就是用一些类去封装

数据层:

具体与数据进行交互的类

表示层不能直接向数据层发请求,表示层应把处理请求发给数据层,数据层再把请求发给数据层

数据层进行处理之后,把结果传给业务层,业务层把数据再传给表示层。

此种模式也被称为MVC模式

优点:

各层之间相互独立,一个层出现错误不会影响其它层

 

Web应用程序的目录结构

用Java技术去开发Web应用程序只有两种类型应用程序。

一个是servlet一个是Jsp。

最早期都是

servlet,Jsp是在servlet的基础上发展起来的。

servlet就是一个java类,它接受客户的请求并进行处理,然后把处理的结果返回给客户端,这个类与普通的java类的区别是,普通的java类可以运行在单机上而servlet只能够运行在Internet上。

一个Web应用程序的目录结构:

顶层目录:

假设为Book

/*.html

/*.jsp

/images/*.jpg

/WEB-INF/WEB.XML

/WEB-INF/classes/*.class

Get与Post提交方式

客户端向服务器发出请求(Request)有两种方式。

一种是Get方式与post方式。

它们的区别是

Get提交:

A:

把要传递的数据,放在查询字符串(URL)的后面,传递的数据是可见的。

比如:

网页名?

变量名=值1&变量名=值2

B:

传递的数据大小有限制

C:

由于数据是可见的,所以安全性比较低

D:

Get提交方式仅适合于传递数据量少,且数据安全性要求不高的数据

Post提交:

A:

把要传递的数据放在表单的元素中,通过表单传给服务器,传递的数据是不可见的

B:

对传递的数据大小没有限制

C:

适合于传递安全性比较高的数据。

比如:

传递密码

如何设置一个页面的传递方式:

A:

设置为post方式:

B:

设置为Get方式:

通常用超链接

变量名=值">

用Jbulider开发第一个Web程序

步骤:

1)先创建一个工程

2)再创建一个Web模块

3)创建一个标准的Servlet

9)运行

 

Web应用程序开发过程

1)设计目录结构:

2)编写Web应用程序。

包括Servlet类、Jsp页面、Html页面

3)编写部署描述文件:

Web.xml

4)打包Web应用程序。

将所有与Web应用程序相关的文件打包为一个*.war文件

5)部署Web应用程序。

将步骤4中打包的*.war文件安装到目的计算机中

如何在TomCat5.0中配置Servlet

1)什么是TomCat

TomCat就是一个Web应用程序的容器。

Web应用程序必须要在Web应用程序的容器的支持下才能够正确运行。

目录有很多的Web容器。

Tomat,Welogic,resin,websphere等。

最流行是

容是TomCat

2)在安装了Jublider之后,系统在Borland\JBuilder2006\thirdparty下面会有两种版本的TomCat。

Tomcat4.0与Tomcat5.0。

3)在安装Tomcat的目录下面D:

\Borland\JBuilder2006\thirdparty\jakarta-tomcat-5.5.9\bin找到"startup.bat"启动文件

加上下面代码

rem---------------------------------------------------------------------------

setJAVA_HOME=D:

\Borland\JBuilder2006\jdk1.5***********

remGuessCATALINA_HOMEifnotdefined

4)用Jbudlider创建一个标准的Servlet,假设为"MyServlet",模块文件为"WebMod"

4)找到在创建Servlet时指定的Web模块文件夹"C:

\Demo\WebModel\WEB-INF\classes"

5)在TomCat的\conf\Catalina\localhost文件夹下面创建一个与Web模块名相同的

Xml文件,在这里面应该是WebModel.xml。

在这个文件里面添加如下内容:

虚拟目录实际的物理路径

reloadable="true"privileged="true"/>

6)在WEB-INF下面创建一个web.xml(部署描述文件),输入以下内容:

xmlversion="1.0"encoding="UTF-8"?

>

xsi="http:

//www.w3.org/2001/XMLSchema-instance"xsi:

schemaLocation="version="2.4">

WebModel

MyServlet

demo.MyServlet

其中demo是创建MyServlet时指定的包名,如果没有包名

则直接写上"MyServlet"

MyServlet

/MyServlet

不过这个文件Jbulider已经绑我们做好了,我们不需要修改

7)启动TomCat,在IE中输入:

http:

//localhost:

8080/WebModel/MyServlet来访问

8)上面的配置只适合于开发阶段调试时使用,一旦Web应用程序开发完毕之后,要进行移植时,

就要把Web应用程序打包成War文件(Web归档文件)。

具体步骤:

A)进入开发Web应用程序的模块文件下面。

比如为:

WebModel下面

B)执行jarcvfWebModel.war*.*(注意要先设置Jdk环境变量,jar是jdk的一个工具)

C)在模块文件下面就会产生一个WebModel.war文件

D)把WebModel.war文件复制到Tomcat的webapps下面。

E)启动Tomcat,TomCat会自动把WebModel.war解压成为一个WebModel文件夹,

*****注意要删除在TomCat的\conf\Catalina\localhost文件夹下面创建一个与Web模块名相同的Xml文件,否则不会解压

F)在IE里面执行:

http:

//localhost:

8080/WebMod[模块名]/MyServlet[Servlet类名]

注意Servlet会区分大小写

http:

//localhost:

8080/webmod[模块名]/myservlet[Servlet类名]会出现错误

 

第二章Servlet使用入门

在这一章里面我们将要学习以下几点内容:

1:

CGI与Servlet的区别

2:

Servlet体系结构

3:

Servlet的基础知识

4:

Servlet的输出

5:

Servlet的生命周期

6:

HttpServletResponse与HttpServletRequest几个重要方法

 

CGI与Servlet的区别

1)在最早期的Web应用程序主要是CGI(CommonGateWayInterface通用网关接口)。

2)这类Web应用程序是使用如Perl这样的语言来编写的。

3)CGI有个致命的缺点,就是对每一个客户端,必须创建一个新的实例,这将占用大量的内存

4)为了解决这个问题,Servlet出现了。

5)Servlet是一个用Java编写的类,在服务器上运行,处理客户端的请求,并把结果放给客户端。

6)对于每一个客户端的请求,只需要创建一个Servlet的实例。

从而大大的节省了内存

Servlet体系结构

客户端:

客户端----------->Web服务器----->Web容器---->Servlet

http请求

服务器端:

Servlet------->Web容器----->Web服务器---->客户端

Servlet的基础知识

1)要编写一个Servlet,一般继承自HttpServlet抽像类。

所以一般要导入包javax.servlet.*与javax.servlet.http.*;

2)自定义的Servlet一般要重写doGet()方法和doPost()方法

3)doGet方法用来处理客户端通过Get方法发出的请求

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throws

ServletException,IOException

4)doPost()方法用来处理客户端通过Post方法发出的请求

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throws

ServletException,IOException

5)request参数用来表示客户端的请求,response参数用来服务器对客户端的响应

6)为了让一个Serlvet能够处理Get请求与Post请求。

一般会在doPost的方法里面写上

doGet(request,response)表示把所有的请求转化成为Get请求

Servlet的输出

1)Servlet可以通过两种方法来输出运算的结果

A:

通过System.out.Print方法。

此方法会把结果输出到Cmd中,也就是TomCat中。

B:

通过response参数的getWriter()方法得到一个PrintWriter对像进行输出,

此输出会把计算结果输出到IE上,一般用此方法

PrintWriterout=response.getWriter();

out.println

Servlet的生命周期

1)Servlet的生命周期是指从一个Servle的创建开始到消亡的全过程

2)Servlet的生命周期各阶段如下:

A:

实例化:

也就是创建一个Servlet类的实例

B:

初始化:

向window申请资源。

此时会自动去执行Init方法

C:

服务:

去不断地接受客户端的请求,并做出响应

D:

释放:

把以前分配的资源进行归还给操作系统,此时会自动执行destroy方法

举例:

做一个servlet计数器,用来输出servlet被调用了多少次

步骤:

1)定义一个全局变量

2)在Init中赋初值为0

3)在doGet把变量加1,并输出

提问:

1)同时打开另外一个IE浏览器,做一个新的客户端,讨论计数器会不会清零

结论:

不管有多少个客户端,都只有一份实例。

2)讨论什么时候计数器才会清零,关闭TomCat容器

结论:

说明Web容器一旦关闭,则容器里面的servlet也就会消亡

 

HttpServletResponse与HttpServletRequest几个重要方法

1:

HttpServletResponse

A:

response.setContentType("编码")

设置向客户端输出的文本的编码,一般设为"text/html;charset=GBK"

response.setContentType("text/html;charset=GBK");

如果不设置,可能会出现乱码

B:

PrintWriterout=response.getWriter();

产生一个PrintWriter对像,此对像能够把信息输入到网页中去

此对像不仅可以输出普通字符,还可以输出html标记

在不使用此对像时,应该关闭该对像。

out.close();

C:

response.sendRedirect("Index.html");

使页面进行跳转

2:

HttpServletRequest

A:

request.getParameter("变量名")

B:

如果接受中文再输出会是乱码,为了解决这个问题,可以在接受之间加上

request.setCharacterEncoding("GBK");

request.getParameter("变量名")

可以得到客户端以Post或Get方法提交过来的变量

举例:

1:

创建一个登录的Html页面,通过Post提交到Servlet中,通过Servlet来判断数据库中用户名是否正确,

如果正确则跳到主页面,否则打印错误,并提供"返回"超链接

2:

编写一个用于注册会员的html页面,让用户填写会员的资料后,能够把这些资料保存到数据库中去

第三章会话跟踪简介

在这一章里面我们将要学习以下几点内容:

1:

Servlet中页面跳转的方法

2:

Sevlet中session对像

3:

Serlvet中Cookie对像

4:

Serlvet上下文

Servlet中页面跳转的方法

1:

request.getRequestDispatcher("目标").forward(request,response);

2:

response.sendRedirect("目标");

3:

forward与sendRedirect的区别:

A:

forward跳转之后在地址栏中显示依然是旧网页的地址,sendRedirect显示的是新网页的地址

B:

forward只能跳转到当前Web程序中的页面,而sendRedirect可以跳到任何目录。

比如:

request.getRequestDispatcher("").forward(request,response);错误

response.sendRedirect("");正确

 

什么是Session对像

1:

首先你应该把session想像成为一个大盒子,里面用来存放客户的数据

2:

当你打开一个网站的首页时,服务器就会为你创建一个大盒子,并且为这个大盒子编一个号,

于是这个大盒子就可以让你在这个网站的不同页面之间共享,直到你离开这个网站的时候,这服务器又会收回这个大盒子

3:

可见session对像的其中的一个功能就是为了实现让同一个客户端在不同页面之间实现数据共享.

但是一旦用户离开这个网站,那么session也就会自动消失

4:

一个网站可以被很多人同时访问,访问的每一个人在打开主页时,都会有一个大盒子,即session.

如果另一个用户也同时访问网站,他也拥有自己的Session,但两个用户之间无法通过Session共享信息

5:

以游泳分配一个柜子为例来说明sesson的用法

6:

session对像的常用手法:

A:

在一个页面里面创建一个session变量.

B:

在另外一个页面里面去使用该session变量.

Session对像的方法

1)在Servlet中要使用Session,必须要使用HttpSession接口

2)Session对像是一个数据集合,也就是一个Session对像里面可以放很多session变量,

每一个Session变量都可以存放数据

3)if(request.getSession().getAttribute("IsLogin")!

=null)

判断一个Session变量IsLogin是否存在,只有存在才可以继续读取里面的数据

3)得到一个IsLogin变量的值

if(request.getSession().getAttribute("IsLogin")!

=null)只有判断存在了,才可以读数据

request.getSession().getAttribute("IsLogin"):

4)request.getSession().setAttribute("IsLogin","Yes");设置session中IsLogin里面的值

 

什么是Cookies对像

cookies对像可以客户端长期保存信息。

在客户端的计算机里面会有一个cookies文件夹,那里就是存放客户端的信息的。

当客户端第一次去访问某个网站时,该网站就会在客户端的计算机里面偷偷地写入一个Cookies

下一次再访问该网站时,它就会读取你的计算机硬盘上cookies,并将新的信息保存在你的计算机上。

跟session不同的,cookies是把信息存储在客户端,不是在服务器里面。

操作cookies

1:

得到所有的Cookies

Cookie[]cookies=request.getCookies();

2:

得到指定Cookies的名字:

Cookie.getName()

3:

得到指定Cookies的值

Cookie.getValue();

4:

设置指定Cookies的值

cookie.setValue(值)

5:

添加一个Cookies

cookie=newCookie("Visted","1");

cookie.setMaxAge(10000);设置cookie的过期时间以钞为单位

response.addCookie(cookie);

4:

修改指定cookie的值:

注意修改之后也要重新添加,否则添加之后无效

cookie.setValue(值);

cookie.setMaxAge(1000);

response.addCookie(cookie);

应用举例:

1:

证明正常情况下,一个网页或Servlet的数据是不能给另外一个网页或servelt共享

做两个servlet,一个servlet里面给一个session变量赋值,给一个私有变量赋值

在另外一个ser

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2