• javaweb复习(一)


     学习网站开发一般都是3部走。1、基本的servlet、jsp、js、html的内容学习。2、ssm、ssh之类的框架学习。3、大型网站开发的框架和技术学习(目前我还没学到),我学习这部分主要的书是李兴华版《javaweb开发实战经典》和其他大牛的博客内容

    第一部分是基础知识

    1、胖客户端和瘦客户端的区别

    程序运行时如果需要一个单独的客户端程序支持,一般为畔客户端,列如qq。而瘦客户端不需要。

    2、web插件主要目的区分用户发出的请求是静态还是动态,静态web和动态web的本质区别是能否进行数据库操作,动态客户端最大的特点就是具有交互性

    企业开发架构

    mvc模式:用户请求发给控制层处理,控制层调用模型层中的组件,通过组件进行持久层访问再将结果保存在javaBean()最终由jsp和javabean一起完成页面显示

    二、servlet

    servlet是java对CGI程序的实现,但与传统CGI的多进程处理方式不同,servlet采用多线程,这就使得servlet的运行效率较高,而且servilet还具有java可移植的特点。

    servlet api概述

    javax.servlet包含了servlet和servlet容器之间的类和接口

    主要成员:接口servlet、servletRequest、servletResponse、servletContext、servletConfig、Fileter、RequestDispatchar,类GenericServlet

    javax.servlet.http包含了httpservlet和servlet容器之间的接口

    javax.servlet.annocation包含了servlet、filter、listtener进行标注的注解

    javax.servlet.descriptor包含了为web应用程序的配置信息提供编程式访问的类型

    1、servlet接口定义了5个方法

    init(ServletConfig config)初始化信息

    service(setvletRequest request,ServletResponse response)响应请求,一般不会直接覆写此方法,而是通过使用doGet()或doPost()方法操作

    destroy()销毁时调用

    getServletinfo()返回java.long.string的返回值

    getServletConfig()返回 servletConfig的返回值

    每一个Http请求,servlet容器都会创建一个servletequest实例,并将它传给servlet的service方法。servletRequest封装了请求信息

    2、servletRequest接口中的方法:

    (1)int getContentLength()返回请求主体中的字节数

    (2)String getContType()返回主体的类型

    (3)String getParameter(java.long.Stringname)返回指定请求参数的值(重要)

    (4)String getProtocol()返回这个http请求的协议名称及版本号

    3、Servletresponse

    Servletresponse接口表示一个servlet响应。在调用一个servlet的service方法之前,servlet容器会先创建一个servletResponse,并将它作为service的第二个参数传给他。serviceResponse隐藏了响应发给浏览器的复杂性

    servletresponse中定义的其中一个方法getwriter方法,他返回可以将文本传给客户端的java.io.printwriter流,在默认情况下,Printwriter对象采用ISO-8859-1编码

    在servlet容器初始化servlet时,servlet容器将servletConfig传递给servlet中info方法

    在web.xml中配置初始化参数。

    <init-param>

               <param-name>paramname</param-name><!--参数名-->

               <param-value>db1</param-value><!--参数内容-->

    </init-param>

    为了从一个Servlet内部获得初始化的值,应该在Servlet容器传递给Servlet的init方法的ServletConfig中调用getInitParameter(参数)获得值。

    config对象也可以从web.xml文档获得配置信息,因为config是servletConfig的实例

    每一个servlet可以配置多个初始化参数,配置直接使用<init-param>元素,其中<param-name>表示参数名<param-value>表示参数内容,servlet读取时通过参数名称取得参数内容取得其内置对象

    4、servletContext

    servletContext表示servlet应用程序,每个web应用程序只有一个Context

    在servletconfig中调用getservletcontext方法可以获得ServletServletContext。

    application是servletcontext接口的实例,表示servlet的上下文,如果在一个servlet中使用此对象直接通过genericservlet类的方法

    ServletContext中处理属性的一些方法:

    java.lang.Object  getAttribute(java.lang.String name)

    java.util.Enumeration<java.lang.String> getAttributeNames()

    setAttribute(java.lang.String name,java.lang.Object object)

    removeAttribute(java.lang.String name)

    5、GenericServlet

    GenericServlet是继承了Servlet接口的类。

    6、HttpServlet

    servlet应用程序大多数都会用到http协议,servlet.http包包含了servlet应用程序的类和接口,大部分都覆盖了servlet的接口和类

    httpservlet(继承Generic)、httpServletRequest(继承servletrequest)、httpservletresponse、httpsession、cookie

    HttpServlet类覆盖了GenericServlet类。在使用HttpServlet时,还用使用到HttpServletRequest和HttpServletResponse对象,它们分别表示Servlet请求和响应。

    doGet(HttpServletRequest request,HttpServletResponse response)

    doPost(HttpServletRequest request,HttpServletResponse response)

    HttpServletRequest表示HTTP环境中的Servlet请求,它继承ServletRequest接口。增加的几个方法:

    (1)java.lang.String getContextPath():返回表示请求context请求URL部分。

    (2)Cookie[]  getCookies():返回一个Cookie对象数组。

    (3)java.lang.String getHeader(java.lang.String name):返回指定HTTP标头的值。

    (4)java.lang.String  getMethod():返回发出这条请求的HTTP方法的名称。

    (5)java.lang.String  getQueryString():返回请求URL中的查询字符串。

    (6)HttpSession getSession():返回与这个请求有关的session对象。如果没有找到,则新建一个session对象。

    (7)HttpSession getSession(boolean create):当参数create为true时,与上面方法类似。

    HttpServletResponse表示HTTP环境下的Servlet响应。主要方法:

    addCookie(Cookie cookie):给响应对象添加cookie。

    addHeader(java.lang.String name,java.lang.String value):给响应对象添加标头。

    sendRedirect(java.lang.String location):发送响应代号,将浏览器重定向到指定的位置。

    在servlet实现页面跳转可以直接使用HttpServletResponse接口的sendRedirect()也可以使用RequestDispatcher接口的froward()方法

    servlet处理流程

    servlet的生命周期

    加载程序:加载servlet,当web容器启动或者是在第一次使用这个servlet是,容器负责创建servlet实例,成功加载后web用反射方式进行实例化

    初始化:当一个servlet被实例化后,容器将调用init()方法初始化这个对象,初始化的目的是为了让servlet对象在处理客户端请求前完成一些初始化的工作,初始化失败,servlet将直接被卸载

    服务:service()方法(常用doget和dopost)

    销毁:当web容器关闭或检测一个servlet要被删除时会自动调用destroy()方法

    卸载:调用完destroy后,实例将等待垃圾收集器回收

    我这些随笔是自己复习用的,有错轻喷。
  • 相关阅读:
    【leetcode】153. 寻找旋转排序数组中的最小值
    vue下载网络图片
    前端开发项目细节
    如何在手机上预览本地h5页面
    react拖拽添加新组件
    js拖入并复制和拖动改变位置和改变大小
    dva model
    postMessage跨源通信
    react-router
    event.stopPropagation()和event.preventDefault(),return false的区别
  • 原文地址:https://www.cnblogs.com/zhu-zhucai/p/8394999.html
Copyright © 2020-2023  润新知