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) · 责 ...
随机推荐
- Linux Shell 高级编程技巧4----几个常用的shell脚本例子
4.几个常用的shell脚本例子 4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释 4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash c ...
- 【JAVA线程间通信技术】
之前的例子都是多个线程执行同一种任务,下面开始讨论多个线程执行不同任务的情况. 举个例子:有个仓库专门存储货物,有的货车专门将货物送往仓库,有的货车则专门将货物拉出仓库,这两种货车的任务不同,而且为了 ...
- golang heap container balance request
package mainimport ( "container/heap" "fmt" "log" "math/rand" ...
- 卸载Eclipse安装的插件
背景:先前安装过Java Decompiler,不知道怎么弄的eclipse出问题之后不能用了,折腾了几次都没弄好,这次准备把这个插件先卸掉再装一次,结果发现,卸也卸不掉,最终是强制删除,以下为试过的 ...
- A Study of WebRTC Security
转自:http://webrtc-security.github.io/ A Study of WebRTC Security Abstract Web Real-Time Communication ...
- HorizontalScrollView
HorizontalScrollView 链接
- JQuery常用函数及功能小结--转载
1.文档加载完成执行函数 $(document).ready(function(){ alert("开始了"); }); 2.添加/删除CSS类 $("#some-id ...
- Blog Starting...
30出头,开始Blog记录学习生活的点滴,待40时再回来一看.
- EventBus代替Intent将复杂对象传递给下一个即将启动的Activity
我觉得EventBus确实非常好,把我们从序列化中解脱出来,即使不序列化也能在界面间传递数据,但是有个前提,那是两个界面都已经存在并且注册了EventBus.而即将启动的下一个Activity就非常尴 ...
- LoadRunner常见函数分析
LoadRunner常见函数分析 ?%Ze\N%?~"_J}.t051Testing软件测试网;FQ X%L|GO+R Web用户Action51Testing软件测试网b,Q8iO w1j ...