JSP 基础概念归纳 5分钟看完
1. 符合 j2ee 标准的 web-app 的目录结构
WEB-INF classes
web.xml lib
servlet 开发过程
从 httpservlet 继承, 重写 doget / doPost 方法部署web.xml
servlet 声明周期
只有一个对象
第一次请求的时候被初始化,只一遍
初始化后先调用init方法,只一遍
每个请求,调用一遍serviceàserviceàdoGet/doPost。以多线程的方式运行
不要在 servlet 中设计成员变量。
卸载前调用destroy方法
为什么有 2 个 init 方法
/的含义
form
form提交中action的路径可以为虚拟路径,
也可以为绝对路径,/代表 http://127.0.0.1/web.xml
web.xml中url-pattern为webapplication根路径,/代表http://127.0.0.1/Test/6.乱码
场合:页面本身有中文的时候
解决办法:servlet:
Jsp:
注意:一定要写在 PrintWriter out = resp.getWriter();之前
resp.setContentType("text/html;charset=gbk");
<%@ page contentType="text/html;charset=gb2312"%>
场合:解决 get 方式乱码问题:
解决办法:
修改 server.xml àURIEncoding="GBK"
场合:解决 post 方式提交内容的乱码
解决办法:request.setCharacterEncoding("GBK");
注意:一定要写在存取第一个参数之前
不要调用 response.setCharacterEncoding("GBK");
场合:<jsp:param name="user" value="<%=s%>"/>,url 地址包含中文参数
解决办法:<%request.setCharacterEncoding("GBK");%>
注意:
7. Cookie 和 session 的区别
注意 cookie 有时候禁不掉
cookie | session |
存储在客户端 | 存储在服务器 |
两种类型 有生命周期 无生命周期 |
两种实现方式 依赖于cookie url重写 |
父路径不能访问子路径的cookie | 同一个session的窗口共享一个session |
典型应用 保存一个月 一年 购物车 |
典型应用 用户登录 购物车 |
不可靠 | 可靠 |
8. application (ServletContext)的概念
9. jsp 初学者容易犯的错误
WEB-INF 子目录下面不能放置 html jsp 等文件
不能直接打开
10. jsp/servlet 连接数据库时要注意的事
项
拷贝数据库驱动的 jar 包到 apache-tomcat-6.0.14\webapps\Test\WEB-INF\lib 文件夹
确认数据库已经启动
用户名、密码应该正确
<%! <%区别
如何解决 ie 缓存问题
TestErr.jsp / ErrPage.jsp
不太稳定,有的时候不好使:
先不写这句话:<%@page errorPage="ErrPage.jsp"%>
Ie不行,firefox行
14. <%@include 和 jsp:include 的区别
<%@ include file="date.jsp" %>
|
<jsp:include page="date.jsp" flush="true"/> |
include 编译指令是在 JSP 程序的转换时期就 |
而 include 指令在转换时期是不会被编译的, |
只生成一个 class 文件 |
多个 |
Include 不能带参数 |
<jsp:include>可以 |
同一个 request 对象 |
不同的 request 对象,可以取得包含它的页面 |
常用 |
不常用 |
15. forward 和 sendredirect 的区别
Sendredirect |
Forward |
是不同的 request |
虽然是不同的对象,但是,可以取到上一个页面的内容 |
send 后的语句会继续执行,除非 return |
forward 后的语句不会继续发送给客户端 |
速度慢 |
速度快 |
需要到客户端的往返,可以转到任何页面, |
服务器内部转换, |
地址栏有变化 |
地址栏没有变化 |
可以传参数,直接写在 url 后面 |
可以传参数 |
/代表的是 http://127.0.0.1/ |
/代表的是 http://127.0.0.1/test 并且只能以/开头 |
常用 |
常用 |
16. <jsp:useBean scope =
page|request|session|application>
17. jsp 内 置 对 象 : out request response
session application exception
JSP 基础概念归纳 5分钟看完的更多相关文章
- 6 分钟看完 BGP 协议。
上一篇文章见 万字长文爆肝路由协议! 上面我们聊 RIP .OSPF 协议都是基于 AS 即自治系统内的协议,可以把它们认为是域内路由协议:而下面我们要聊的就是 AS 之间的协议了,这也叫做域间路由协 ...
- 3分钟看完Java 8——史上最强Java 8新特性总结之第一篇 函数式编程基础
目录 · 行为参数化 · Lambda表达式 · 概况 · 函数式接口 · 类型推断 · 使用外层变量 · 方法引用 · 复合Lambda表达式 行为参数化 1. 理解函数式编程要先理解行为参数化. ...
- Java Web基础:JSP基础概念
JSP介绍 JSP全称是Java Server Pages,它和Servlet都是Sun公司定义的用于开发动态Web资源的技术,它解决了Servlet输出流排版复杂和难以维护的问题.JSP完美融合了H ...
- 几分钟看完 flow.ci 全部功能
从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flo ...
- 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)
博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞
- DDD领域驱动设计落地实践(十分钟看完,半小时落地)
一.引子 不知今年吹了什么风,忽然DDD领域驱动设计进入大家视野.该思想源于2003年 Eric Evans编写的"Domain-Driven Design领域驱动设计"简称DDD ...
- 3分钟看完Java 8——史上最强Java 8新特性总结之第二篇 Stream API
目录 · 概况 · 切片(Slicing) · 映射(Mapping) · 匹配(Matching) · 查找(Finding) · 归约(Reducing) · 排序(Sorting) · 数值流( ...
- 3分钟看完Java 8——史上最强Java 8新特性总结之第四篇 其他新特性
目录 · 默认方法和静态方法 · 初步理解 · 应用模式 · 优先级问题 · Optional · CompletableFuture · 基本用法 · CompletableFuture与Strea ...
- 3分钟看完Java 8——史上最强Java 8新特性总结之第三篇 函数式编程技巧
目录 · 改写设计模式 · 策略模式(Strategy Pattern) · 模板方法模式(Template Method Pattern) · 观察者模式(Observer Pattern) · 责 ...
随机推荐
- .net转的时间戳用java去解析的代码
/// <summary> /// 转换成java解析一致的时间戳 /// </summary> /// <param name="time"> ...
- java compiler level does not match the version of the installed java project
修改:工程/.settings/”目录下找到名为 org.eclipse.wst.common.project.facet.core.xml
- office excel 装Visual Studio后报错解决方案
安装完vs后,vs会向office安装COM加载项,但是在启动Excel时会发生弹出此加载项安装出错的消息,如下图. 名称: 从: file:///D:/Program Files (x86)/Mic ...
- 协处理器,王明学learn
协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担.ARM可支持多达16个协处理器,其中CP15是最重要的一个. CP15提供16组寄存器 通过提供的16组 ...
- JavaScript中call,apply和prototype
[TOC] call()方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 如果没有提供 thi ...
- Java Socket编程(转)
Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...
- waterMarkTextBox
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...
- java学习笔记(3):网络编程
基本原理 客户端要发起通信,首先得知道运行服务器程序主机的IP地址,然后由网络的基础结构利用目标地址,将发送的信息传递到正确的主机上.地址可以是数字型(IPv4或者IPv6),也可以是字符串(必须先被 ...
- Emacs 之窗口管理
// */ // ]]> Emacs 之窗口管理 Table of Contents 1. Emacs 窗口相关 1.1. Emacs 里调整 window 大小 1.2. Emacs winn ...
- 【SSM】拦截器的原理、实现
一.背景: 走过了双11,我们又迎来了黑色星期五,刚过了黑五,双12又将到来.不管剁手的没有剁手的,估计这次都要剁手了!虽然作为程序猿的我,没有钱但是我们长眼睛了,我们关注到的是我们天猫.淘宝.支付宝 ...