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) · 责 ...
随机推荐
- JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)
1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表. ...
- SVN 升级后出现You need to upgrade the working copy first.
今天将svn更新后,出现 svn: The working copy at 'E:\591woospace\kst_fashion_alipay_v1.2.0\src\com\kstapp\wansh ...
- elasticsearch入门
到 https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.6.0.zip 下载最新包: 启动: ./elast ...
- 杂物 python (一)
python 是一门语言,有各种不同的实现.CPython 即用c语言实现Python及其解释器.
- 配置ogg异构mysql-oracle 单向同步
从mysql到oracle和oracle到mysql差不多.大致步骤如下: 环境是:192.168.0.165 (Mysql ) —> 192.168.0.164 ( Oracle )想将mys ...
- [译]:Orchard入门——安装Orchard
原文链接:Installing Orchard 文章内容基于Orchard 1.8版本 安装Orchard的方式 主要有以下四种方式安装Orchard: 利用Microsoft Web Platfor ...
- MongoDB学习(2)—Node.js与MongoDB的基本连接示例
前提 已经安装了node.js和MongoDB,本文使用的node.js是v0.12.0,MongoDB是3.0.0. 初始化数据 启动MongoDB服务,在test数据库中插入一条实例数据: db. ...
- WEB前端知识体系脑图
说在开始的话: 我上大学那会,虽说主要是学Java语言,但是web前端也稍微学了一些,那时候对前端也没多在意,因为涉入的不深,可以搞一个差不多可以看的界面就可以了,其他也没过多在意. 因为稍微了解一点 ...
- PB之入门-itemchanged(long row,dwobject dwo,string data)
每天的总结都是必须,好记性不如烂笔头,好吧,一星期没做笔记了,最近忙上PB了,哎东学学西学学,最可怕的就是最后都半斤八两,吐槽一下关于PB的资源为何如此之少,今天记录的是关于itemchanged事件 ...
- mybatis 加载配置文件的两种方式
package com.atguigu.day03_mybaits.test; import java.io.IOException;import java.io.InputStream;import ...