1. 符合 j2ee 标准的 web-app 的目录结构

WEB-INF classes

web.xml lib

  1. servlet 开发过程
    从 httpservlet 继承, 重写 doget / doPost 方法

    部署web.xml

  2. servlet 声明周期

    • 只有一个对象

    • 第一次请求的时候被初始化,只一遍

    • 初始化后先调用init方法,只一遍

    • 每个请求,调用一遍serviceàserviceàdoGet/doPost。以多线程的方式运行

      不要在 servlet 中设计成员变量。

    • 卸载前调用destroy方法

  3. 为什么有 2 个 init 方法

  4. /的含义

    • 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 文件夹
确认数据库已经启动
用户名、密码应该正确

  1. <%! <%区别

  2. 如何解决 ie 缓存问题

  3. 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 程序的转换时期就
将 file 属性所指定的程序内容嵌入,然后再
编译执行;

而 include 指令在转换时期是不会被编译的,
只有在客户端请求时期如果被执行到才会被
动态的编译载入

只生成一个 class 文件

多个

Include 不能带参数

<jsp:include>可以

同一个 request 对象

不同的 request 对象,可以取得包含它的页面
的参数,并添加了自己的参数

常用

不常用

15. forward 和 sendredirect 的区别

Sendredirect

Forward

是不同的 request

虽然是不同的对象,但是,可以取到上一个页面的内容

send 后的语句会继续执行,除非 return

forward 后的语句不会继续发送给客户端

速度慢

速度快

需要到客户端的往返,可以转到任何页面,

服务器内部转换,

地址栏有变化

地址栏没有变化

可以传参数,直接写在 url 后面

可以传参数

/代表的是 http://127.0.0.1/
<%response.sendRedirect("/test/ServletToJSP");%>
<form action="/test/ServletToJSP">
<a href="/test/ServletToJSP">test</a>

/代表的是 http://127.0.0.1/test
this.getServletContext().getRequestDispatch
("/servlet_jsp/ServletUseJsp.jsp")
.forward(req, resp);

并且只能以/开头

常用

常用

16. <jsp:useBean scope =
page|request|session|application>

17. jsp 内 置 对 象 : out request response
session application exception

JSP 基础概念归纳 5分钟看完的更多相关文章

  1. 6 分钟看完 BGP 协议。

    上一篇文章见 万字长文爆肝路由协议! 上面我们聊 RIP .OSPF 协议都是基于 AS 即自治系统内的协议,可以把它们认为是域内路由协议:而下面我们要聊的就是 AS 之间的协议了,这也叫做域间路由协 ...

  2. 3分钟看完Java 8——史上最强Java 8新特性总结之第一篇 函数式编程基础

    目录 · 行为参数化 · Lambda表达式 · 概况 · 函数式接口 · 类型推断 · 使用外层变量 · 方法引用 · 复合Lambda表达式 行为参数化 1. 理解函数式编程要先理解行为参数化. ...

  3. Java Web基础:JSP基础概念

    JSP介绍 JSP全称是Java Server Pages,它和Servlet都是Sun公司定义的用于开发动态Web资源的技术,它解决了Servlet输出流排版复杂和难以维护的问题.JSP完美融合了H ...

  4. 几分钟看完 flow.ci 全部功能

    从 0 到 1,从邀请式内测到收费上线,flow.ci 经历了十个多月的沉淀与打磨.这期间,flow.ci 工程师们奋力赶工,进行了一系列的大功能更新,Bug 修复,功能优化. 这篇文章记录了 flo ...

  5. 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)

    博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞

  6. DDD领域驱动设计落地实践(十分钟看完,半小时落地)

    一.引子 不知今年吹了什么风,忽然DDD领域驱动设计进入大家视野.该思想源于2003年 Eric Evans编写的"Domain-Driven Design领域驱动设计"简称DDD ...

  7. 3分钟看完Java 8——史上最强Java 8新特性总结之第二篇 Stream API

    目录 · 概况 · 切片(Slicing) · 映射(Mapping) · 匹配(Matching) · 查找(Finding) · 归约(Reducing) · 排序(Sorting) · 数值流( ...

  8. 3分钟看完Java 8——史上最强Java 8新特性总结之第四篇 其他新特性

    目录 · 默认方法和静态方法 · 初步理解 · 应用模式 · 优先级问题 · Optional · CompletableFuture · 基本用法 · CompletableFuture与Strea ...

  9. 3分钟看完Java 8——史上最强Java 8新特性总结之第三篇 函数式编程技巧

    目录 · 改写设计模式 · 策略模式(Strategy Pattern) · 模板方法模式(Template Method Pattern) · 观察者模式(Observer Pattern) · 责 ...

随机推荐

  1. Dubbo集成Spring与Zookeeper实例

    >>Dubbo最佳实践 使用Dubbo结合Zookeeper和Spring,是使用比较广泛的一种组合,下面参考官方文档,做个简单的示例,一步步搭建一个使用dubbo结合Zookeeper和 ...

  2. sdut 2449走迷宫【最简单的dfs应用】

    走迷宫 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_ 题目描述 一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m) ...

  3. SimpleHashTable

    简单的Hash Table 实现,下次被问到,至少不是从0开始.不过笔试问这个毕竟不多. public struct Item<K, V> { public K Key { get; se ...

  4. [QCon] Scrum阅读随想

    最近从群里面下载到几篇文章,看到QCon出来的相关文章,觉得都写的很不错,都是一些个大公司的非常好的方法   QCon:是为团队领导者.架构师.项目经理和高级软件开发人员量身打造的企业软件开发大会,其 ...

  5. win8.1/win10 UEFI + GPT 安装(测试机型:华硕S56CM)

    本教程简要介绍在UEFI 启动模式下在GPT分区表中,最简单的方法安装 Windows 10 x64 位系统.(并非傻瓜教程,安装者总要有一定的经验基础)下面先简单介绍一下UEFI和GTP. UEFI ...

  6. Vue#条件渲染

    根据不同的条件,响应不同的事件. https://jsfiddle.net/miloer/zed5p1r3/ 可以用template来包装元素,当然浏览器的最终渲染结果不会包含它.我觉得主要用它来自定 ...

  7. WebView中实现文件下载功能

      WebView控制调用相应的WEB页面进行展示.当碰到页面有下载链接的时候,点击上去是一点反应都没有的.原来是因为WebView默认没有开启文件下载的功能,如果要实现文件下载的功能,需要设置Web ...

  8. Linux学习笔记(10)文本编辑器vim

    vim是一个功能强大的全屏幕文本编辑器,是Linux/Unix最常用的文本编辑器,其作用是建立.编辑.显示文本文件.vim的特点是没有菜单,只有命令. vim主要有三种工作模式,分别为命令模式.插入模 ...

  9. 【POI xls】解析xls遇到的问题

    问题1:Package should contain a content type part org.apache.poi.POIXMLException: org.apache.poi.openxm ...

  10. mysql性能监控相关

    目录 一,获取mysql用户下的进程总数 二,主机性能状态 三,CPU使用率 四,磁盘IO量 五,swap进出量[内存] 六,数据库性能状态 七.querylog 八.mysqladmin的exten ...