博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet
阅读量:2388 次
发布时间:2019-05-10

本文共 4920 字,大约阅读时间需要 16 分钟。

第7天:ServletB
1.理解WEB应用程序
a.基于浏览器/服务器(B/S)结构的应用程序。
b.WEB应用是基于TCP/IP的网络应用。
c.WEB应用的客户端(如:IE)实际上是一个TCP/IP网络程序的客户端。
d.WEB应用程序的服务端(Web服务器)实际上是一个TCP/IP网络程序的服务端。服务端通常由一些厂家进行了实现。J2EE而言,有众多厂家提供了如tomcat,
e.WEB应用的客户端和服务端是使用基于TCP/IP协议之上的Http协议进行通讯。
f.WEB应用程序的执行过程就是请求/响应过程。有请求才有响应,没请求就没响应。
g.请求必须要有URL,理解URL的概念及组成部份。
1)URL是统一资源定位,它用于唯一标识Internet上的资源。
2)URL包含4部份:协议,IP,端口,资源路径。
B
2.理解Http协议
a.http协议是客户机和服务器之间的通信协议,它是基于TCP/IP协议的可靠协议。
b. http协议可分为请求的协议和响应的协议。
c.请求协议包含4部份:
1)请求行
:请求方式GET/POST/…,请求的资源,协议和协议版本
2)请求头
:以名称:值对的形式存在,可以有很多的请求头,分别代表了不同的含义。
3)空行:
4)请求内容:如果是POST请求,在这里放置请求的参数。
d.响应协议包含4部份:
1)状态行:请求方式GET/POST/…,请求的资源,协议和协议版本
2)响应头:以名称:值对的形式存在,可以有很多的请求头,分别代表了不同的含义。
3)空行:
4)响应内容:就是服务器发给客户端的内容,常见的有html,图片的二进制码,css等。
A
3.get请求和post请求的区别
a.GET和POST是客户端最常见的请求方式,附此之外还有另外的方式,如PUT,HEAD等很少使用。
b.GET和POST的区别主要在于客户端传递参数的时候。
c.GET把请求参数跟在URL后面,用问号隔开,如:/Web30/yy?login=yyyyyyy&password=123
d.POST把请求参数放到http请求协议的内容里。
e.URL会显示在浏览器地址栏里,所以不如POST安全。
f.不同的浏览器会对URL的长度进行限制,所以GET不能传太多的参数。
g.GET请求只能传文本给服务器,POST可以传广本和二进制数据,如上传文件。
h.地址栏输入URL,超链接,表单中设置method=’get’,都是常见的GET方式请求。
i.只有表单设置method=’post’,是Post请求。
A
Web服务器是什么?它能做什么?
a.WEB服务器是一个TCP/IP的服务端。
b.WEB服务器等待接收客户端的请求,并把请求的资源(通常是html)发送给客户端。
A
J2EE的Web容器是什么?有什么用?
a.客户端对可能需要服务器做一些运算,而不仅仅是传送一个文件到客户端。
b.容器可以接收到客户端的URL请求,并调用URL对应的类的方法完成计算。
c.我们需要做的就是完成被容器调用的类,这个类就是servlet。
d.servlet被容器管理和运行。
A
4.Servlet的概念作用及编写步骤。
a.servlet是一个基于java技术的web组件,该组件被容器管理和调用。
b.servlet是J2EE规范中的一种,这种技术用于服务器端程序的编写。
A
5.Servlet的编写步骤
a.编写一个Java类,继承HttpServlet,覆盖doGet和doPost方法,
b.可以用request.getParameter(“参数名”)取得客户端请求参数
c.可以用response.getWriter(),取得向客户端的输出字符流,向客户端输出文本。
d.可以用response.getOutputStream(),取得向客户端的输出字节流,向客户端输出二进制数据,如图片,文件等。
e.在web.xml中配置Servlet对应的URL,这个步骤又称为URL映射,如下例:
<servlet>
 
 
 
 
<servlet-name>yyyy</servlet-name>
 
 
 
 
<servlet-class>com.lovo.ServletA</servlet-class>
</servlet>
<servlet-mapping>
 
 
 
 
<servlet-name>yyyy</servlet-name>
 
 
 
 
<url-pattern>/kk</url-pattern>
</servlet-mapping>
A
6.理解Servlet的运行过程。
a.客户端向服务器发起请求。
b.WEB服务器收到请求,解析出其中的URL部份。
c.根据URL,从web.xml中找到对应的Servlet类。
d.创建Servlet类的对象,并调用doGet()或doPost()方法。
项目
项目:
一、完成一个用户注册页面,包含以下内容:
用户名:(6-10个字符)
年龄:(1-100以内)
提交后,如果客户端的输入以上满足条件,则将用户信息保存到数据库,并向客户端输出注册成功。
否则,向客户端输出注册失败的信息。
第8天:ServletA
1.查阅API文档,熟练记忆servlet的类架构,及重要方法。
a.Servlet:service(),init(),destory()
b.GenericServlet:service(),init(),destory()...
c.HttpServlet:service(),doGet(),doPost,doHead(),doPut(),doDelete()....
A
2.servlet的生命周期
a.第一次请求时,创建servlet对象,并调用Servlet的init()方法。
b.开启一个线程,调用service(),HttpServlet.service()调用doGet(),doPost()....
c.servlet对象销毁前destory()被调用,servlet对象通常在服务器关闭前被销毁。
d.每个Servlet类只会创建一个对象,服务于所有的客户端的任意多次请求。
e.由于对每个客户端服务都开启了一个线程,所以一个servlet对象可以同时服务多个客户端。
A
3.理解请求(Request)对象及作用。
a.请求的http协议的结构
b.对象的类型:ServletRequest接口,HttpServletRequest接口
c.请求对象是容器接收到请求后产生的,响应完成后消亡。
d.作用1:读取请求参数:getParameter(),getParameterValues()
e.作用2:查找参数名:getParameterNames(),getParameterMap()
f.作用3:读取请求报头信息:getHeader(),getHeaders()...
g.作用4:读取请求行信息:getMethod(),getRequestURI(),getQueryString()...
h.作用5:获取客户端信息:getRemoteAddr(),getRemoteHost()....
A
4.响应(Response)对象
a.理解响应的http协议的结构
b.对象的类型:ServletResponse,HttpServletResponse
c.响应对象是容器接收到请求后产生的,响应完成后消亡。
d.作用1:设置状态码:setStatus()
e.作用2:设置响应头:setHeader(),setIntHeader(),sendRedirect(),addCookie()
f.作用3:获得一个PrintWriter或ServletOupputStream对象,向客户端输出。
g.作用4:设置响应的MIME类型setContentType("text/html")
项目
项目:
一、编写一个servlet,并覆盖它生命周期中的方法,验证servlet的生命周期。
1.验证Servlet只创建了一个对象,即只有第一次请求会调用init()
2.验证以后的每次请求不会再调用init(),只会调用service()或者doGet(),doPost()
3.验证服务器关闭时,销毁servlet,此时destory()被调用。
二、完成一个用户注册页面,包含以下内容:
用户名:(6-10个字符)
年龄:(1-100以内)
爱好:(多选)
提交后,如果客户端的输入以上满足条件,则将用户信息保存到数据库,并重定向到成功页面。
否则,重定向到失败页面。
第9天:ServletA
1.作用域对象的作用及操作方法
a.作用域对象是服务器端创建的对象。
b.作用域对象的主要作用是当做容器存放任何东西。
c.作用域对象的目的是在不同的Srevlet或JSP之间传送数据。
d.作用域的主要方法是存取容器里的数据。即
存:setAttribute(键,值)
取:getAttribute(键)
A
2.request作用域
a.request在每次请求到达服务器端时都会产生一个对象。
c.request的生命很短暂,只有在servlet或jsp之间做
请求转发
时,才能共享同一个request,也只有在这种情况下,使用request作用域才有意义。
A
3.请求转发和重定向的联系和区别
a.重定向是客户端重新发起请求的过程,相当于是新发起了一次请求。
b.请求转发是在服务器内部进行,被转发的servlet或JSP与源servlet或JSP拥有共同的request。
A
4.session(会话)作用域
a.服务器可以为每个客户端建立一个对应的容器对象,就是session。客户端的多次请求,都可以操作属于自己的容器。
b.session对象的产生:调用request.getSession()方法,注意有两个getSession()方法,查上课笔记或API文档搞清他们的区别。
c.有3种情况导致session被销毁
1)session超时
2)客户端关闭后,再也访问不到和该客户端对应的session了,它会在超时之后被销毁。
3)调用session. invalidate();
d.session的作用,在一个客户端的一次会话期间,在服务器上保存客户端的数据。
A
5.ServletContext(应用程序上下文对象)
a. 
 
 
 
 
 
服务器启动时会装入所有已经部署的WEB应用,此时会为每个应用创建一个ServletContext对象。
b. 
 
 
 
 
 
服务器关闭时,会销毁ServletContext对象。
c. 
 
 
 
 
 
每个应用只会创建一个唯一的,公用的ServletContext对象。
d. 
 
 
 
 
 
所有的客户端在访问服务器时都共享同一个ServletContext对象。
e. 
 
 
 
 
 
ServletContext对象一般用于在多个客户端间共享数据时使用。
f. 
 
 
 
 
 
SessionId:
 
 
第一次请求session创建,并随机创建一个不会重复的sessionId,并通过HTTP发送到客户端,下次客户端请求时就会将Session发送给服务器,如果cookie禁用(IE不会真正禁用cookie,火狐会真正禁用cookie),则不会你发送保存的session给服务器,服务器将从新随机创建一新的session。
项目
项目:
模拟一个网站的用户登录模块。
包括以下jsp:
login.jsp - 登录表单
LoginDo.java - 较验用户名密码,并根据结果作跳转到error.jsp或main.jsp
error.jsp - 登录失败页面
main.jsp - 系统主页面,可超链接到a.jsp,b.jsp,c.jsp
a.jsp - 系统模块A
b.jsp - 系统模块B
c.jsp - 系统模块C
要求:
1.如果登录成功,则可以访问系统中所有页面,如果没有登录就直接访问其它系统页面,则跳转到登录页面。
WEB—Servlet

转载地址:http://zjtab.baihongyu.com/

你可能感兴趣的文章
[转]Adobe发布Puppet Recipes for Hadoop
查看>>
[转]mysql里not in语句怎么写
查看>>
outlook 2010 突破附件大小限制
查看>>
[转][Magick++] How to convert jpg image to raw 32 bit float
查看>>
[转]数据类型 -- uint32_t 类型
查看>>
[转]C语言系统资源控制(getrlimit && setrlimit)
查看>>
[转]linux文件系统基础知识
查看>>
[转]Centos5 下安装/配置lvm使用reiserfs文件系统
查看>>
[转]Use ReiserFS in CentOS 5(lvm)
查看>>
[转]KFS的部署与简单使用
查看>>
[转]KFS官方部署手册
查看>>
[转]Ubuntu 10.04 LTS 安装 sun-java6-jdk
查看>>
[转]mmap详解
查看>>
[转]HDFS和KFS 比较
查看>>
10 个令人惊喜的 jQuery 插件推荐
查看>>
Open Source GIS and Freeware GIS Applications
查看>>
Open Source GIS
查看>>
开源GIS软件SharpMap
查看>>
四个开源商业智能平台比较 (一)
查看>>
WinEdt如何使用中文
查看>>