Servlet

1,C/S 架构

        Client/Server (客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。
2,B/S 架构
        Browser/Server (浏览器/服务器) 结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现。
3,B/S 架构技术原理

4,C/S B/S 的区别

B/S架构
C/S架构
软件安装
浏览器客户端
升级维护
客户端零维护客户需要单独的升级
平台相关
与操作平台关系小对客户的操作一般有限制
性能安全 
响应速度和安全需要更多成本反应速度快

5,url 元素

Uniform Resource Locator统一资源定位符

 6,Tomcat目录结构

目录说明
/bin
存放各种平台下用于启动和停止Tomcat的脚本文件
/conf
存放Tomcat服务器的各种配置文件
/lib
存放Tomcat服务器所需的各种JAR文件
/logs
存放Tomcat的日志文件
/temp
当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中
/work
Tomcat把由JSP生成的Servlet放于此目录下

7,Web的目录结构

目录说明
/
Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)。
/WEB-INF
存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问。
/WEB-INF/classes
存放Web项目的所有的class文件。
/WEB-INF/lib
存放Web应用使用的JAR文件。

8,Servlet

概念:Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应,可以动态生成HTML内容对客户端进行响应 。
9,Servlet接口:定义了所有Servlet需要实现的方法。
方法名称功能描述
void init (ServletConfig config)
由Servlet容器调用,用于完成Servlet对象在处理客户请求前的初始化工作。
void service ( ServletRequest request,ServletResponse response)
由 Servlet 容器调用,用来处理客户端的请求。
void destroy ( )
由 Servlet 容器调用,释放Servlet对象所使用的资源。
ServletConfig getServletConfig ( )
返回ServletConfig 对象,该对象包含此 Servlet 的初始化和
启动参数。返回的 ServletConfig 对象是传递给 init( ) 方法
的对象。
String getServletInfo ( )
返回有关 Servlet 的信息,比如作者、版本和版权。返回
的字符串是纯文本,而不是任何种类的标记(如 HTML、
XML等)

10,GenericServlet抽象类:提供了Servlet与ServletConfig接口方法的默认实现(service( )方法除外)

方法名称功能描述
public void init (ServletConfig config )
对Servlet接口中init()方法的实现,对ServletConfig
实例进行了保存。此方法还有一个无参的重载方
法,可用于子类中重写。
public String getInitParameter (String name )
返回web.xml中名称为name的初始化参数的值
public ServletContext getServletContext ( )
返回ServletContext对象的引用

11,HttpServlet抽象类:继承自GenericServlet 处理HTTP协议的请求和响应。

方法名称功能描述
public void service ( ServletRequest request,
ServletResponse response )
对GenericServlet类中service()方法的实现,将请求分发给protected void service (HttpServletRequest request,
HttpServletResponse response )
protected void service ( HttpServletRequest request, HttpServletResponse response )
接收HTTP 请求,并将它们分发给此类中定义的 doXXX( ) 方法。
protected void doXXX ( HttpServletRequest request, HttpServletResponse response )
根据请求方式的不同分别调用的相应处理方法,如
doGet()、doPost()等。

12,ServletConfig接口:在Servlet初始化过程中获取配置信息,一个Servlet只有一个ServletConfig对象。

方法名称功能描述
String getInitParameter (String name )
获取web.xml中设置的以name命名的初始化参数值。
ServletContext getServletContext( )
返回Servlet的上下文对象引用。

13,ServletContext接口:获取Web应用上下文,与Servlet容器进行通信。

方法名称功能描述
String getInitParameter (String name )
获取名为name的系统范围的初始化参数值,系统范围的初始化参数可在部署描述符中使用<context-param>元素定义。
void setAttribute (String name, Object object )
设置名称为name的属性。
Object getAttribute (String name )
获取名称为name的属性。
String getRealPath (String path )
返回参数所代表目录的真实路径。
void log ( String message )
记录一般日志信息。

14,ServletRequest接口:获取客户端请求的数据。

方法名称功能描述
Object getAttribute ( String name )
获取名称为name的属性值
void setAttribute (String name, Object object )
在请求中保存名称为name的属性
void removeAttribute (String name)
清除请求中名字为name的属性
String getCharacterEncoding ( )
返回请求体所使用的字符编码
void setCharacterEncoding (String charset )
设置请求体的字符编码
String getParameter ( String name )
返回指定请求参数的值
String[ ] getParameterValues (String name )
返回指定请求参数的全部值
RequestDispatcher getRequestDispatcher( String path )
返回指向指定路径的请求分发对象

15,HttpServletRequest接口:除了继承ServletRequest接口中的方法,还增加了一些用于读取

HTTP请求信息的方法。
方法名称功能描述
String getContextPath( )
返回请求URI中表示请求上下文的路径,上下文路径是请求URI的开始部分。
Cookie[ ] getCookies( )
返回客户端在此次请求中发送的所有cookie对象。
HttpSession getSession( )
返回和此次请求相关联的session,如果没有给客户端分配session,则创建一个新的session。
String getMethod( )
返回此次请求所使用的HTTP方法的名字,如GET、POST 。
String getHeader( String name )
返回指定的请求头信息

16,HttpSession接口

放弃名称说明
String getId()
获取sessionid
void setMaxInactiveInterval(int interval)
设定session的非活动时间
int getMaxInactiveInterval()
获取session的有效非活动时间(以秒为单位)
void invalidate()
设置session对象失效
void setAttribute(String key, Object value)
以key/value的形式保存对象值
Object getAttribute(String key)
通过key获取对象值
void removeAttribute(String key)
从session中删除指定名称(key)所对应的对象

17,ServletResponse接口:设置响应参数和向客户端发送响应数据。

方法名称功能描述
PrintWriter getWriter ( )
返回PrintWriter对象,用于向客户端发送文本
String getCharacterEncoding ( )
返回在响应中发送的正文所使用的字符编码
void setCharacterEncoding (String charset )
设置响应的字符编码
void setContentType ( String type )
设置发送到客户端的响应的内容类型,此时响应
的状态属于尚未提交”text/html;charset=UTF-8”

18,HttpServletResponse接口:除了继承ServletResponse接口中的方法,还增加了适用于HTTP响应的新方法。

方法名称功能描述
void addCookie ( Cookie cookie )
增加一个cookie到响应中,这个方法可多次调用,设置多个cookie
void addHeader ( String name,String value )
将一个名称为name,值为value的响应报头添加到响应中
void sendRedirect(String location)
发送一个临时的重定向响应到客户端,以便客户端访问
新的URL
void encodeURL ( String url )
使用session ID对用于重定向的URL进行编码

19,servlet的生命周期

(1)实例化:Servlet 容器创建 Servlet 的实例。

(2)初始化:该容器调用init(ServletConfig)方法。

(3)服务:如果请求Servlet,则调用service()方法。

(4)销毁:销毁实例之前调用destroy()方法。

20,servlet中 servlet context与 session与 request三个对象的常用方法和存放数据的作用域。
(1)servlet context
	//ServletContext
	ServletContext context = request.getServletContext();
	context.setAttribute("aa", "haha");	
	String str = (String)context.getAttribute("aa");
	System.out.println(str);//输出"haha"

作用域:整个服务

        建立:服务器启动的时候

        销毁:服务器关闭的时候或者项目移除的时候

(2)session

    //Session
	HttpSession session = request.getSession();
	session.setAttribute("bb", "hehe");	
	String str2 = (String)session.getAttribute("bb");
	System.out.println(str2);//输出"hehe"

作用域:一次会话

        建立:服务器第一调用getSession()的时候,服务器创建session对象

        销毁:

                (1)非正常关闭服务器(正常关闭:Session被序列化)

                (2)Session过期了,默认时间是30分钟

                (3)手动调用Session的invalidate方法

(3)request

    //request
	request.setAttribute("cc", "xixi");
	String str3 = request.getParameter("cc");
	System.out.println(str3);//输出"xixi"

作用域:一次请求

        建立:客户端向服务器发送一次请求。

        销毁:服务器为这次请求做出相应之后,销毁request。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手可摘鑫晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值