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. phpMailer在thinkPHP框架中邮件发送

    资源下载地址:http://pan.baidu.com/s/1c0kAoeO 提取码:ry5v 关键代码:application/Common/Common/funciton.php <?php ...

  2. WPF线程(Step1)——Dispatcher

    使用WPF开发时经常会遇上自己建立的线程需要更新界面UI内容,从而导致的跨线程问题. 异常内容: 异常类型:System.InvalidOperationException 异常描述: "S ...

  3. The Basics of 3D Printing in 2015 - from someone with 16 WHOLE HOURS' experience

    全文转载自 Scott Hanselman的博文. I bought a 3D printer on Friday, specifically a Printrbot Simple Metal fro ...

  4. mysql 方法row_number()方法

    1.  SELECT  t.*,        @curRow := @curRow + 1 AS row_numberFROM    structure tJOIN    (SELECT @curR ...

  5. FrameLayout

    FrameLayout是最简单的布局了. ① 所有放在布局里的控件,都按照层次堆叠在屏幕的左上角.后加进来的控件覆盖前面的控件. ② 该布局container可以用来占有屏幕的某块区域来显示单一的对象

  6. apk 打包方式

    1 项目-->Android tools -->Export Signed  Application Package 2 在项目 manifest.xml文件下 单击“use the Ex ...

  7. linux下java环境配置

    非常简单的三行命令就搞定了! $ sudo add-apt-repository ppa:webupd8team/java$ sudo apt-get update$ sudo apt-get ins ...

  8. MPAndroidChart饼图属性及相关设置

    公司最近在做统计功能,所以用到了饼图,在网上查了一些资料最终决定使用MPAndroidChart,使用起来非常方便,还有一些问题通过各种查找,终于解决...废话不多说,先看下效果图: 布局文件: &l ...

  9. POJ 2155 Matrix(二维树状数组+区间更新单点求和)

    题意:给你一个n*n的全0矩阵,每次有两个操作: C x1 y1 x2 y2:将(x1,y1)到(x2,y2)的矩阵全部值求反 Q x y:求出(x,y)位置的值 树状数组标准是求单点更新区间求和,但 ...

  10. 通过编程发现Java死锁

    通过stack也可以发现死锁. 测试类 import java.util.concurrent.TimeUnit; public class Test { public static void mai ...