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) · 责 ...
随机推荐
- 与你相遇好幸运,The Moe Node.js Code Style Guide
The Moe Node.js Code Style Guide By 一个最萌的开发者 @2016.9.21 >>代码是人来阅读的,格式规范的代码是对编程人员最好的礼物 :) > ...
- 与你相遇好幸运,My Toolkit of Nodejs
>测试:restler.mocha.assert.request.request-promise >安装:nrm >运维:pm2.node-gyp >开发:nodemon.in ...
- Counterfeit Dollar -----判断12枚钱币中的一个假币
Counterfeit Dollar Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u ...
- js 动态时钟
js 动态时钟 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- android 入门-ID
@+id/btn //表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式. @+android:id/list //+android:表 ...
- ASP.NET的新成员ASP.NET WebHooks
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:前几天微软除了发布了ASP.NET 5的Beta7之外,还有一个值得关注的东西,就是A ...
- 比较两个文件文件可以使用MD5比较工具
举例来说,当我们对一个设备进行升级. 固件程序是一个文件,而我们发送的数据可以组成一个文档, 实质是把这两个文件拖入到下图中的工具中,查看一下MD5值.SHA1值.CRC32的值,如果值都一样说明这两 ...
- CentOS升级Python 2.6到2.7
查看python的版本 python -V Python 2.6.6 下载Python Python-2.7.8.tar.xz 链接:http://pan.baidu.com/s/1i4 ...
- hdu 3449 有依赖性的01背包
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3449 Consumer Description FJ is going to do so ...
- MySql 的数据储存引擎
1.存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术, ...