JSP和Servlet知识点总结
第⼀章:动态⽹页开发基础
三⼤领域: B/S(⽹站)C/S(QQ) 嵌⼊式开发(苹果,安卓⼿机)
动态⽹页/静态⽹页:
所需技术:html,css,数据库,javascript,xml,⼀门⾼级语⾔(java,C#,PHP)
主流的动态⽹页技术:jsp/asp/php
Web服务器⼀般指⽹站服务器,是指驻留于因特⽹上某种类型计算机的程序,可以向浏览器等Web客户端提供⽂档,也可以放置⽹站⽂件,让全世界浏览;可以放置数据⽂件,让全世界下载。⽬前最主流的三个Web服务器是Apache Nginx IIS(Microsoft的Internet信息服务器(Internet Information Services,IIS)
常见的web服务器:
1. weblogic  oracle 公司
2. websphere  IBM公司
3. Jboss 免费的开源的
4. tomcat ⼩型的
⼀、JSP 定义: 1)Java Server Page, Java EE 组件,本质上是 Servlet。
2)运⾏在 Web Container.接收 Http Request,⽣成 Http Response(默认协议是 Http 请求和响应)
3)JSP 使得我们能够分离页⾯的静态 HTML 和动态部分——我们需要的技术。
4)使页⾯可以混和html代码、Java代码以及JSP标签;允许访问组件
2、JSP出现:servlet做界⾯⽐较⿇烦
3、JSP是编译运⾏,PHP为解释运⾏ (注)解释类:执⾏⽅式类似于我们⽇常⽣活中的“同声翻译”,应⽤程序源代码⼀边由相应语⾔的解释器“翻译”成⽬标代码(机器语⾔),⼀边执⾏,因此效率⽐较低,⽽且不能⽣成可独⽴执⾏的可执⾏⽂件,应⽤程序不能脱离其解释器,但这种⽅式⽐较灵活,可以动态地调整、修改应⽤程序。编译类:编译是指在应⽤源程序执⾏之前,就将程序源代码“翻译”成⽬标代
码(机器语⾔),因此其⽬标程序可以脱离其语⾔环境独⽴执⾏,使⽤⽐较⽅便、效率较⾼。但应⽤程序⼀旦需要修改,必须先修改源代码,再重新编译⽣成新的⽬标⽂件(*.OBJ)才能执⾏,只有⽬标⽂件⽽没有源代码,修改很不⽅便。
4、Tomcat的获取与安装
1. Tomcat安装完毕后要设置TOMCAT_HOME环境变量设置⽅法与java环境变量步骤类似,设置值为Tomcat的安装⽬录
2. Tomcat启动与停⽌
通过服务器实现启动或停⽌
通过控制⾯板>管理⼯具>服务>⿏标右击Apache Tomcat选择启动停⽌
通过Tomcat菜单中的Monitor Tomcat⼯具启动或停⽌Tomcat服务
通过所有程序>Apache Tomcat XX>Monitor Tomcat>General选择启动或停⽌
5、Tomcat⽬录结构
/
bin              存放各种平台下⽤于启动和停⽌Tomcat的脚本⽂件
/conf            存放Tomcat服务器的各种配置⽂件,其中最重要的是l
/lib              存放Tomcat服务器所需的各种JAR⽂件
/logs            存放Tomcat的⽇志⽂件
/temp          Tomcat运⾏时⽤于存放临时⽂件
/webapps        Web应⽤的发布⽬录
/work          Tomcat把由JSP⽣成的Servlet放于此⽬录下
6、l 配置
端⼝号的配置:
Tomcat⽬录下>conf&l  打开后到<Connector>节点然后修改port属性    localhost:8080/
Web应⽤的⽬录结构,web应⽤是位于tomcat/webapps⽬录下的⼀个⼦⽬录
/    web的根⽬录存放各类jsp,html
/WEB-INF    存放应⽤程序所使⽤的各种资源包括l
/WEB-INF/classes  存放class⽂件
/WEB-INF/lib      存放JAR⽂件
配置web应⽤起始页:
修改l⽂件中的以下两个标签,注意标签名
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
第⼆章-JSP的组成
JSP的执⾏过程: 翻译阶段
编译阶段
执⾏阶段
JSP页⾯组成:静态内容 ,指令,表达式 ,⼩脚本 ,声明 ,注释
JSP中的注释:HTML注释,JSP注释标记,
JSP指令元素page
Language属性
Import属性
网页设计html代码翻译contentType属性
举例: <%@ page language="java" import="java.util.*,*"  contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
jsp表达式:其语法为<%=  java表达式%>,容器会先计算表达式的值或者变量的值,然后将结果输出的页⾯
jsp声明 可以定义变量和⽅法,其中变量的值会⼀直保持,页⾯刷新不会重置该变量的值
定义在⼩脚本⾥⾯的变量,每次刷新页⾯会重置该变量的值
jsp页⾯中的代码执⾏加载顺序
java是在⽣成页⾯时在服务器端运⾏的代码,jsp在服务器的servlet⾥运⾏,⽽javascript和html都是页⾯⽣成完在浏览器端运⾏的代码。所以加载执⾏顺序是是java>jsp>js。
第三章-jsp数据交互
JSP内置对象:request,response,out,application,session
1. Request对象专门⽤于处理客户端请求
Request⽅法:String  getParamenter(根据页⾯表单组件名称获取页⾯提交数据)
String[] getParamenterValues(获取⼀个页⾯表单组件对应多个值时的⽤户请求数据)
Void setCharacterEncoding(解决中⽂乱码)
2.  JSP内置对象response
1. response对象与request对象相对应,它⽤于响应客户端输出信息
2. response对象⼏个常⽤⽅法
addCookie(Cookie cookie) 在客户端添加Cookie
setContentType(String type) 设置HTTP响应的contentType类型
setCharacterEncoding(String chareet)设置响应所采⽤的字符编码类型
重点:( sendRedirect(String path) 将请求重新定位到⼀个不同的URL上)
(注)1. 什么是转发:
使⽤request的getRequestDispatcher()⽅法即可实现
转发就是将客户端发送请求到服务器,Web服务器内部的⽅法在容器内完成处理和请求和转发,然后将⽬标资源发送给浏览器,不管服务器内部如何处理,浏览器都只提出了⼀个请求,因⽽客户端的URL地址不会发⽣改变,因此可以共享request范围内的数据  转发的作⽤:在多个页⾯交互的过程中实现请求术数据的共享。
2. 重定向的执⾏结果就是客户端重新向服务器请求⼀个地址链接,由于是发送新的请求因⽽上次请求中的数据将丢失这种⾏为就是重定向  response.sendRedirect("welcome.jsp")]
重定向和转发的区别
区别⼀:
  重定向时浏览器上的⽹址改变
  转发是浏览器上的⽹址不变
区别⼆:
  重定向实际上产⽣了两次请求
转发只有⼀次请求
重定向:
  发送请求 -->服务器运⾏-->响应请求,返回给浏览器⼀个与响应码-->浏览器根据响应码,判定该响应为重定向,⾃动发送⼀个新的请求给服务器,请求地址为之前返回的地址-->服务器运⾏-->响应请求给浏览器
转发:
  发送请求 -->服务器运⾏-->进⾏请求的重新设置,例如通过request.setAttribute(name,value)-->根据转发的地址,获取该地址的⽹页-->响应请求给浏览器
区别三:
  重定向时的⽹址可以是任何⽹址
  转发的⽹址必须是本站点的⽹址
详解:
  重定向:以前的request中存放的变量全部失效,并进⼊⼀个新的request作⽤域。
转发:以前的request中存放的变量不会失效,就像把两个页⾯拼到了⼀起
三、JSP访问数据库
1. JDBC链接数据库
(1) 加载JDBC驱动。
(2) 与数据库建⽴链接。
(3) 发送SQL语句,并得到返回结果。
(4) 处理返回结果。
(5) 数据库访问结束后,进⾏资源释放。
使⽤JSP访问数据库,就是将JDBC访问数据库代码嵌⼊到JSP页⾯中,实现步骤与java相同。
第四章-状态管理
⼀. cookie
(⼀) 在jsp中使⽤cookie
1. 使⽤page指令
<%@page  import=”javax.kie”%>
2. 创建cookie对象
Cookie  newCookie=new Cookie(String key,Object value);
3. 写⼊cookie
Response.addCookie(newCookie);
4. 读取cookie
Cookie[] Cookies();
(⼆)  cookie对象的⼏个⽅法60*60*24
void    setMaxAge(int expiry)  设置有效期,单位秒
void    setValue(String value)
String  getName()
String  getValue()
Int    getMaxAge()  获取有效期,单位秒
⼆. session
(⼀)  session对象的⼏个常⽤⽅法
void  setAttribute(String key,Object value);
Object  getAttribute(String key)
void  invalidate()  设置session对象失效
String  getId()  获取session  id
void  setMaxInactiveInterval(int interval)  设置session的⾮活动时间
int  getMaxInactiveInterval()  获取session的有效⾮活动时间
(⼆) session和cookie的区别
1. session是在服务器端保存⽤户信息,cookie是在客户端保存⽤户信息
2. session中保存的是对象,cookie中保存的是字符串
3. session对象随会话结束⽽关闭,cookie可以长久保存在客户端
4. cookie通常⽤于保存不重要的⽤户信息,重要的信息使⽤session保存
session和cookie
默认情况下,浏览器同⼀个进程的不同页⾯共享临时Cookie,这个Cookie保存的SessionID成为服务器端识别Session的依据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。