JSP 基础概念归纳 5分钟看完

J2EE Web开发核心概念
本文详细介绍了J2EE Web开发中的关键概念和技术细节,包括Web应用的目录结构、Servlet生命周期、乱码处理方法、Cookie与Session的区别、application概念、JSP与Servlet连接数据库注意事项等。

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 有时候禁不掉

 
cookiesession
存储在客户端  存储在服务器      

两种类型

   有生命周期

   无生命周期

两种实现方式

  依赖于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

转载于:https://www.cnblogs.com/yakun/p/3379512.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值