关于jsp的总结
第一章:
jsp技术不仅是开发web应用的先进技术,而且是进一步学习相关技术的基础。
jsp引擎是支持jsp程序的web容器,负责运行jsp,并将有关结果发送到客户端。目前流行的jsp引擎之一是tomcat。
安装tomcat服务器,首先要安装jdk,并需要设置java_home环境变量。
jsp页面必须保存在web服务目录中。Tomcat服务器的Webapps以外的其他的服务目的录作为Web的服务目录,必须修改Tomcat服务器
下conf文件夹中的server.xml文件,并重新启动Tomcat服务器。
当服务器上的一个jsp页面被第一次请求执行时,服务器上的jsp引擎首先将jsp页面文件转译成一个java文件,再将这个java文件
编译生成字节码文件,然后通过执行字节码文件响应客户的要求。
当过个客户请求一个jsp页面是,Tomcat服务器为每个客户启动一个线程,该线程负责执行常驻内存的字节码文件来响应响应客户
的请求。这些线程都是由Tomcat服务器来管理,将Cpu的使用权在各个线程之间快速切换,以保证每个线程都有机会执行字节码文
件。
第二章:
一个jsp页面可由普通的html标记,jsp标记,成员变量和方法的声明,java程序片和java表达式组成。jsp引擎把jsp页面中的HTML
标记交给客户的浏览器执行显示;jsp引擎负责处理jsp标记,变量和方法声明,jsp引擎负责运行java程序片,计算java表达式,
并将需要显示的结果发送到客户的浏览器。
jsp页面中的成员变量是被所有客户共享的变量,java程序片可以操作成员变量,任何一个用户对jsp页面成员操作的结果,都会影
响到其他客户。
如果多个用户访问一个jsp页面,那么该页面中的java程序片就会被执行多次,分别运行在不同的线程中,即运行在不同的时间片
内。运行在不同的线程中的java程序片的局部变量互不干扰,即一个用户改变java程序片中的局部变量的值,是不会影响到其他用
户的java程序片的局部变量。
page指令用来定义整个jsp页面的一些属性和这些属性的值。比较常用的两个属性是contentType和import。page指令只能为
contentType的指定一个值,但可以为import属性指定多个值。
include指令标记是在编译剪短就处理所需要的文件,被处理的文件在逻辑和语法上依赖于当前的jsp页面,其优点是页面执行速度
快,而include动作标记是在jsp页面运行时才处理文件,被处理的文件在逻辑和语法上独立于当前的jsp页面,其优点是可以使用
param子标记更灵活的处理所需要的文件。
第三章
http通讯协议是客户与服务器之间一种提交信息和响应信息(request/response)的通信协议。在jsp中,内置对象request封装了
客户提交的信息。request对象获取用户提交的信息的最常用的方法时getParameter(String s)。内置对象response对象对客户
的请求作出动态响应,向客户端发送数据。
HTTP协议是一种无状态协议。一个客户向用户端发出请求(request),然后服务器返回响应(response),连接就关闭了。所以
,Tomcat服务器必须使用内置session对象(会话)记录有关连接的信息。同一个客户在某个Web服务目录中的session是相同的,同
一个客户在不同的web服务目录中的session是不同的,不同用户的session是互不相同的。
一个用户在某个Web服务器目录中的session对象的生存期限依赖于用户是否关闭浏览器,session对象是否调用invalidate()方
法使得session无效或session对象是否达到了设置的最长的“发呆”状态时间。
内置对象application由服务器负责创建,每个web服务目录下的application对象被访问该服务目录的所有哦的用户共享,不同web
目录下的application互不相同。
第四章:
javaBean是一个可重复使用的软件组件,是遵循一定标准,用java语言编写的一个类,该类实例称作一个JavaBean。
一个jsp页面可以将数据的处理过程指派给一个或几个Bean来完成,只需在jsp页面中调用该Bean即可。在jsp页面中调用bean可以
将数据的处理代码从页面中分离出来,实现代码复用,更有效的维护一个web应用。
bean的声明周期为page,request,session,applcation。
第五章:
输入流的指向称为源,程序从指向源的输入流中读取源中的数据。而输出流的指向是数据要去的目的地,程序通过向输出流中写入
数据把信息送到目的地。
FileInputStream和FileReader流都顺序的读取文件,只要不关闭流,每次调用read方法就顺序的读取源中的其余内容,直到源的
末尾或流被关闭。二者的区别是,FileInputStream流以字节(byte)为单位读取文件;FileReader以字符(char)为单位读取文
件。
FileOutStream和FileWriter以顺序的写文件,只要不关闭流,每次调用writer方法就顺序的向输出流写入内容,直到流被关闭。
二者的区别是FileOutStream流以字节(byte)为单位写入文件,而FileWriter流以字符(char)为单位写文件。
RamdomAccessFile流的指向即可以作为源也可以作为目的地,在读写文件是可以调用seek方法改变读写位置。
第六章:
jsp使用jdbc提供的api和数据库进行交互。jdbc技术在数据库开发中占有很重要的地位,jdbc操作不同的数据库仅有连接方式上的
差异。使用jdbc的应用程序一旦和数据库建立连接,就可以使用jdbc提供的API操作数据库。
jdbc和数据库建立连接有两种常用的方式:建立JDBC-ODBC桥接器和加载纯java数据库驱动程序,无论哪一种防暑连接数据库,都
不会永祥操作数据库的逻辑代码。
数据库连接池的思想是:tomcat服务器可以事先预备好若干个数据库的连接对象,将这些连接对象放在一个称谓连接池的容器中,
当某个客户需要操作数据库是,只要从连接池中取出一个连接对象即可,当用户用完该连接对象后,将连接对象放回连接池中,
当查询Result对象中的数据时,不可以关闭和数据库的连接。
CachedRowSetImpl对象可以保存resultset对象中的数据,CachedRowSetImpl对象中的数据不依赖connection对象,因此,查询
CachedRowSetImpl对象中的数据时,可以关闭和数据库的连接。
使用PreparedStatement对象可以提高操作数据库的效率。
第七章:
java servlet的核心思想是在服务器端创建相应用户请求的对象。
如果web服务器目录需要创建servlet对象,那么需要根据Servlet类的包名,在Web服务目录建立相应的子目录,比如Servlet类的
包名star.moon,那么在Web服务目录下建立子目录WEB-INF\classes\star\moon.
servlet对象第一次被请求加载是,服务器创建一个servlet对象,这个对象调用init方法来完成必要的初始化工作,init方法只被
servlet对象调用一次,当后续的 客户请求该servlet对象服务时,服务器将启动一个新的线程,在该线程中,servlet对象调用
service方法响应客户的请求。每个客户的每次请求都导致service方法被调用执行,调用过程执行在不同的线程中,互不干扰。
Servlet类继承的service方法检查HTTP请求类型(Get,Post等),并在service方法中根据用户的请求方式,对应地调用doget或
dopost方法。因此,Servlet类不必重写service方法,直接继承该方法即可,可以在Servlet类中重写dopost或doget方法来响应用
户的请求。
RequestDispatcher对象可以把用户对当前的jsp页面或servlet的请求转发给另一个jsp页面或servlet,而且将用户对当前的jsp页
面或servlet的请求和响应(HttpServletRequest对象和HttpServletResponse对象)传递给所转发的jsp页面或servlet。也就是说
,当前页面所要转发的目标页面或servlet对象可以使用request获取用户提交的数据。
第八章:
MVC模式的核心思想是有效的组合“视图”“模式”和“控制器”。在jsp技术中,视图是一个或多个jsp页面,其作业主要是想控
制器提交必要的数据和为模型提供数据显示;模型是一个或多个Javabean对象,用于储存数据;控制器是一个或多个servlet对象
,根据属兔提交的要求进行数据处理操作,并将有关的结果储存到Javabean中,然后servlet使用重定向方式请求视图中的某个jsp
页面更新显示。
在MVC 模式中,模型由控制器负责创建和初始化。
第九章:
XML文件是由标记构成的文本文件。XML文件有且只有一个根标记,其他标记都必须封装在根标记中。文件的标记必须是树型结构,
非空标记必须由“开始标记”和“结束标记”组成,空标记没有“开始标记”和“结束标记”。
DOM解析器在内存中按树型结构组织数据,DOM解析器通过读入XML文件在内存中建立一棵“树”,XML文件的标记,标记的文本内容
都会和内存中的“树”的某个节点相对应。
SAX解析器根据从文件中解析出的数据产生相应的事件,并报告这个事件给事件处理器,事件处理器就会处理所发现的数据。
通过将XML文件和一个CSS样式表文件相关联,可以方便显示XML文件中标记所含有的文本。
关于jsp的总结的更多相关文章
- myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)
1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...
- jsp前端实现分页代码
前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...
- jsp中出现onclick函数提示Cannot return from outside a function or method
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- 浅谈JSP注释
HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- Nginx服务器之Nginx与tomcat结合访问jsp
本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...
- 基于jsp+servlet图书管理系统之后台万能模板
前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...
- JSP页面跳转的几种实现方法
使用href超链接标记 客户端跳转 使用JavaScript 客户端跳转 提交表单 客户端跳转 使用response ...
随机推荐
- EventBus 一
一.概述 EventBus是一款针对Android优化的发布/订阅事件总线.主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间 ...
- linux 下如何 makefile
本文目的: 尝试着把makefile讲解清楚.非原创,仅仅是学习笔记和备忘录之用. makefile 的目的和好处: 一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefil ...
- 【CentOS】ifconfig命令 :command not found & yum命令 :cannot find a valid baserl for repo: base/7/x86_64
第一课,学习的是安装linux的远程连接.相信看阿铭视频的朋友们都会知道,第一个开机输入完root后要敲的命令就是--ifconfig 非常幸运,这迎来了我的第一个问题 这时候你会选择百度,会搜索到这 ...
- linux系统meminfo详解(待补充)
========================================================================================== MemTotal: ...
- 【BZOJ】3526: [Poi2014]Card
题意 \(n(n \le 200000)\)张卡片,正反有两个数\(a[i], b[i]\).\(m(m \le 1000000)\)次操作,每次交换\(c[i].d[i]\)位置上的卡片.每一次操作 ...
- Django分析之国际化处理
最近在公司终于开始做web开发了,本以为会是简单的首页之类的小规模项目,结果上来就是一个处理大数据分析的项目,一个关于油品分析的系统,不过我接到的第一个任务是做这个网站的国际化处理,虽然项目还没有上线 ...
- spring task 配置
Spring对Quartz作了一个封装,同时,Spring自己也提供了一个任务定时器(spring-task),现把它总结一下. 对于Quartz,我们使用的时候主要是注重两个方面,一个是定时任 ...
- C#_Express-ickd接口
爱查快递接口使用 using System; using System.Collections.Generic; using System.IO; using System.Net; using Sy ...
- istringstream的操作
今天在stackoverflow上看到这么个问题,写完之后看了看别人的提交的答案,感觉自己的答案虽然能得出正确结果但是有点啰嗦,对于c++还是没有熟练,没有想起有istringstream,而且提问的 ...
- UI设计中的48dp定律【转】
有朋友建议我偶尔写写技术类的文章,所以我打算开始穿插性的写一些偏技术方面的科普文章,尽量往小白能看懂的方向写,今天我来讲讲UI设计中的48dp定律. 那么先说说什么是dp ?其实对于一个非技术人员要把 ...