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后,实例将等待垃圾收集器回收
javaweb复习(一)的更多相关文章
- JAVAWEB复习资料-01
CSS中@import和link两种插入样式表方式有什么不同? 1.link属于HTML标签,除了引入css文件之外还能定义RSS等,而@import只能用于加载CSS. 2.link在引用CSS时, ...
- javaweb 复习随笔
js和jsp区分: js是一种脚本语言,常运行在前台和客户端交互,不会给服务器带来负担,可以更好的修饰静态页面 jsp可以说是servlet的一种,jsp会先翻译,翻译成Servlet执行,运行在服务 ...
- JAVAWEB复习-JS
1.概述 JavaScript是基于对象和事件的脚本语言,主要应用在客户端 特点:信息动态交互,不可直接访问本地磁盘,只要是可以解析js的浏览器都可以跨平台执行 2.JS和JAVA比较 a:JS是面向 ...
- JAVAWEB复习笔记-day02
1.CSS样式优先级 优先级:由上到下,由外到内.优先级越来越高 2.css选择器 html标签选择器 class选择器(.) id选择器(#) 3.优先级 style属性>id选择器>c ...
- JAVAWEB复习day01
一.基础知识 1.一个html文件开始和结束的标签<html></html> 2.html的两部分<head>设置相关信息</head>,<bod ...
- Javaweb学习笔记——(十五)—————— sql复习
sql复习 数据库管理系统(DBMS)的概述 1.什么是DBMS:数据的仓库 *方便查询 *可存储的数据量大 *保证数据的完整.一致 *安全可靠 2.DBMS的发展:今天主流数据库为关系型数据库管理系 ...
- JavaWeb前端基础复习笔记系列 二
课程:孔浩前端视频教程(JavaScript系列:1~5讲) <html> <head> <title></title> <!--html只负责显 ...
- JavaWeb前端基础复习笔记系列 一
课程:孔浩前端视频教程(CMS内容管理系统case) 1.背景知识 ASPCMS,是一个基于asp的CMS.类似于Jeecms是基于Java的.aspcms:http://www.aspcms.com ...
- javaweb要点复习 jsp和servlet
jsp:就是java server page , html嵌入java ,所以更方面显示(V) serlet,就是服务器端小程序 java中嵌入html,更方面业务处理. jsp执行过程 1)客户 ...
随机推荐
- PyCharm设置仿sublime配色__Py版本2018.3.5
效果图: 导出settings 模板为: 1.https://files.cnblogs.com/files/xier/PyCharm_settings.zip 2.https://files.cnb ...
- [原] RTTI 为什么type_info 有比较操作
The lifetime of the object returned by typeid extends to the end of the program. 根据C++标准, typeid()返回 ...
- 创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色
我们之前创建的plugin都是使用default的 run in User's Context. 理解就是使用正在登陆的security context用户信息 那有个问题,如果当前用户的securi ...
- AR图像识别 AR识别图像 AR摄像头识别 外包开发 AR识别应用开发就找北京动点软件
当绝大多数手机厂商还在追求后置双摄拍照的时候,已经有人开始潜心研究AR手机了.刚刚结束的美国消费电子展上,华硕发布了全新的ZenFone AR手机,配备5.7英寸2K屏.骁龙821处理器.8GB内存, ...
- iis重写模块实现程序自动二级域名,微软提供的URL重写2.0版本适用IIS以上
在iis7以后微软提供了url重写2.0版本,可以通过安装重写组件来实现.适用于iis7以上版本. 安装有两种方式可以选择,一是下载安装文件,二是通过“web平台安装程序”安装 1.下载安装文件 下载 ...
- Browser Page Parsing Details
Browser Work: 1.输入网址. 2.浏览器查找域名的IP地址. 3. 浏览器给web服务器发送一个HTTP请求 4. 网站服务的永久重定向响应 5. 浏览器跟踪重定向地址 现在,浏 ...
- 虚拟机中的linux系统文件突然全部变成只读的问题
当宿主系统和虚拟机的IO都比较繁忙时,虚拟机的IO请求得不到及时的响应.虚拟机Linux不知道自己运行在虚拟机里面,会认为是磁盘IO错误,为了保护磁盘数据会remount分区为只读. 这时候如果只是对 ...
- mybatis中大于等于小于等于的写法
标准写法如下: 第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & &apos ...
- Linux系统编程——水平触发和边沿触发
事件模型 EPOLL事件有两种模型: Edge Triggered (ET) 边缘触发只有数据到来才触发,不管缓存区中是否还有数据. Level Triggered (LT) 水平触发只要有数据都会触 ...
- Linux系统编程——Daemon进程
目录 Daemon进程介绍 前提知识 Daemon进程的编程规则 Daemon进程介绍 Daemon运行在后台也称作"后台服务进程". 它是没有控制终端与之相连的进程.它独立与控制 ...