1.HTML页面转换JSP页面
 直接再HTML页面最顶端添加page指令,修改文件后缀名;反之;
2.JSP内置对象
| 对象 | 描述 | 
| request | 每当客户端请求JSP页面时,JSP引擎会制造一个新的request对象来代表这个请求。 | 
| response | 当服务器创建request对象时会同时创建用于响应这个客户端的response对象 | 
| out | out对象用来在response对象中写入内容。 | 
| session | session对象用来跟踪在各个客户端请求间的会话。 | 
| application | 该对象代表web应用本身,整个web应用共享一个application对象。 | 
| config | 这个对象允许开发者访问Servlet或者JSP引擎的初始化参数。 | 
| pageContext | 页面上下文对象,这个对象存储了内置对象的引用。 | 
| page | 这个对象就是页面实例的引用。它可以被看做是整个JSP页面的代表 | 
| exception | 这个对象包装了从先前页面中抛出的异常信息。 | 
3.request对象常用方法
| 方法名称 | 说明 | 
| String getParameter(String name) | 根据表单组件名称获取提交数据 | 
| String[ ] getParameterValues(String name) | 获取表单组件对应多个值时的请求数据 | 
| void setCharacterEncoding(String charset) | 指定每个请求的编码 | 
| RequestDispatcher getRequestDispatcher(String path) | 返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求 | 
4,get与post区别
| 比较项 | get | post | 
| 参数出现在URL中 | 是 | 否 | 
| 长度限制 | 有 | 无 | 
| 安全性 | 低 | 高 | 
| URL可传播 | 是 | 否 | 
Tomcat中对于post方法提交的表单采用的默认编码为ISO-8859-1,而这种编码格式不支持中文字符。
5. 解决表单乱码
 1:post请求出现乱码
 request.setCharacterEncoding("utf-8");
 2:get请求出现乱码
 治标的方法:new String(s.getBytes("iso-8859-1"),"utf-8");
 治本的方法:配置tomcat\conf\server.xml文件
6.response
 response对象用于响应客户请求并向客户输出信息
7.response对象常用方法
| 方法名称 | 说明 | 
| void addCookie(Cookie cookie) | 给客户端添加一个Cookie对象,以保存客户端的信息 | 
| PrintWriter getWriter() | 返回一个输出字符流 | 
| void sendRedirect() | 将请求重新定位到一个不同的URL,即页面重定向 | 
| void setCharacterEncoding(String encoding) | 设置字符编码类型为encoding | 
8. 请求的转发
 转发的作用
 在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理
 转发的实现
 RequestDispatcher对象的forward()方法
9.转发和重定向
 转发:在服务器端发挥作用,将同一请求在服务器资源之间进行传递,客户端浏览器的地址栏不会显示转向后的地址
 重定向:在客户端发挥作用,通过发送一个新的请求实现页面转向,在地址栏中可以显示转向后的地址
10.out对象
| 属性 | 说明 | 
|  | 向页面输出显示 | 
| println | 向页面输出显示,在结尾处添加换行 | 
| flush | 刷新输出流 | 
11. session对象
 session机制是一种服务端的机制,在服务端保存信息。
 用于存储与用户的会话信息
| 方法名称 | 说明 | 
| void setAttribute(String key,Object value) | 以key/value的形式保存对象值 | 
| Object getAttribute(String key) | 通过key获取对象值 | 
| void invalidate() | 设置session对象失效 | 
| String getId() | 获取sessionid | 
| void setMaxInactiveInterval(int interval) | 设定session的非活动时间 | 
| int getMaxInactiveInterval() | 获取session的有效非活动时间(以秒为单位) | 
| void removeAttribute(String key) | 从session中删除指定名称(key)所对应的对象 | 
 12.session与窗口的关系
 每个session对象都与一个浏览器窗口对应,重新开启一个浏览器窗口,可以重新定义一个session对象。
 通过超链接打开的新窗口,新窗口的session与其父窗口的session相同。
 每个session都有一个唯一的sessionid
 public String getId();
13.使用session对象存取数据
 1、使用属性保存数据
 2、从属性中读取数据,必要时需要进行数据类型的转换
14.session会话的清除和过期
 程序主动清除session数据
         设置会话失效:session.invalidate();
         只移除会话的一个属性:session.removeAttribute(String name);
 服务器主动清除长时间没有再次发出请求的session
         修改tomcat服务器的web.xml,单位是分钟
         <session-config>
                <session-timeout>30</session-timeout>
         </session-config>
15.会话的生命周期
 用浏览器访问服务器——产生会话
 通过浏览器在网站登录——在会话中保存数据
 登录成功后用个人身份进行访问——会话有效期内
 关闭了浏览器——结束会话
 服务器主动结束会话——会话到期
 使会话失效、删除属性——及时释放会话资源
 程序主动结束会话、会话到期——会话中的数据丢失
16.jsp页面的包含操作
 1.使用<%@include file= “URL”%>指令实现静态包含
 使用<jsp:include page="URL“>实现动态包含
17.动态包含和静态包含的区别
| 静态包含 | 动态包含 | 
| <%@include%> | <jsp:include> | 
| 先将页面包含,后执行页面代码,即将一个页面的代码复制到另一个页面中。 | 先执行页面代码,后将页面包含,即将一个页面的运行结果包含到另一个页面中。 | 
| 被包含的页面内容发生变化时,包含页面将会被重新编译。 | 被包含页面内容发生变化时,包含页面不会重新编译。 | 
18.application对象
 application对象代表web应用本身,整个web应用共享一个application对象,该对象主要用于在多个JSP页面或者Servlet之间共享变量。
 application对象开始于服务器的启动,终止于服务器的关闭。
 application对象实现了用户间的数据共享,可以存放全局变量。
19.application对象的常用方法        
         
20. 对象的作用域
 作用域的分类
 page作用域:对应的作用域访问对象为pageContext
 request作用域:对应的作用域访问对象为request对象
 session作用域:对应的作用域为session对象
 application作用域:...为application对象
21.
| 名称 | 说 明 | 
| page作用域 | 在一个页面范围内有效,通过pageContext对象访问 | 
| request作用域 | 在一个请求范围内有效 | 
| session作用域 | 在一次会话范围内容有效 | 
| application作用域 | 在一个应用服务器范围内有效 | 
22.Cookie
 Cookie是Web服务器保存在客户端的一系列文本信息
 Cookie的作用
 对特定对象的追踪(Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告)
 实现各种个性化服务(Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务)
 简化登录(Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点)
 安全性能
 容易泄露信息
23.创建Cookie对象
 Cookie newcookie = new Cookie(String key,String value);
 由服务器端向客户端写入Cookie对象
 Cookie[] cookied = request.getCookies();
24.Cookie类的常用方法
| 方法名称 | 说 明 | 
| void setMaxAge(int expiry) | 设置cookie的有效期,以秒为单位 | 
| void setValue(String value) | 在cookie创建后,对cookie进行赋值 | 
| String getName() | 获取cookie的名称 | 
| String getValue() | 获取cookie的值 | 
| int getMaxAge() | 获取cookie的有效时间,以秒为单位 | 
25.Web应用中的连接池技术
 开发步骤:
 添加数据库驱动文件:拷贝MySQL驱动包到Tomcat安装目录下的lib目录中。
 配置context.xml文件:context.xml在Tomcat安装目录下的conf目录中。
 修改BaseDao中获取Connection的方式。通过JNDI API查找并获取数据源。
 有一点必须注意,现在的数据库连接池是在Tomcat上配置的,所以此程序只能在web下运行,而不能使用application程序运行。
26.Javabean
 JavaBean是用Java开发的可以跨平台的可重用组件。
 从JavaBean的功能上可以分为
 封装数据
 封装业务
 JavaBean一般情况应满足以下要求
 JavaBean的优势
 解决代码重复编写,减少代码冗余
 功能区分明确
 提高了代码的维护性