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. .net转的时间戳用java去解析的代码

    /// <summary> /// 转换成java解析一致的时间戳 /// </summary> /// <param name="time"> ...

  2. java compiler level does not match the version of the installed java project

    修改:工程/.settings/”目录下找到名为 org.eclipse.wst.common.project.facet.core.xml

  3. office excel 装Visual Studio后报错解决方案

    安装完vs后,vs会向office安装COM加载项,但是在启动Excel时会发生弹出此加载项安装出错的消息,如下图. 名称: 从: file:///D:/Program Files (x86)/Mic ...

  4. 协处理器,王明学learn

    协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担.ARM可支持多达16个协处理器,其中CP15是最重要的一个. CP15提供16组寄存器 通过提供的16组 ...

  5. JavaScript中call,apply和prototype

    [TOC] call()方法 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 如果没有提供 thi ...

  6. Java Socket编程(转)

    Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...

  7. waterMarkTextBox

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  8. java学习笔记(3):网络编程

    基本原理 客户端要发起通信,首先得知道运行服务器程序主机的IP地址,然后由网络的基础结构利用目标地址,将发送的信息传递到正确的主机上.地址可以是数字型(IPv4或者IPv6),也可以是字符串(必须先被 ...

  9. Emacs 之窗口管理

    // */ // ]]> Emacs 之窗口管理 Table of Contents 1. Emacs 窗口相关 1.1. Emacs 里调整 window 大小 1.2. Emacs winn ...

  10. 【SSM】拦截器的原理、实现

    一.背景: 走过了双11,我们又迎来了黑色星期五,刚过了黑五,双12又将到来.不管剁手的没有剁手的,估计这次都要剁手了!虽然作为程序猿的我,没有钱但是我们长眼睛了,我们关注到的是我们天猫.淘宝.支付宝 ...