zoukankan      html  css  js  c++  java
  • JSP 基础概念归纳 5分钟看完

    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.xmlurl-patternwebapplication根路径,/代表http://127.0.0.1/Test/

        6.乱码

    page1image7864 page1image8288 page1image8448 page1image8872 page1image9032

    场合:页面本身有中文的时候

    page1image9640 page1image10064 page1image10224
    page2image1208

    解决办法:servlet:
    Jsp:
    注意:一定要写在 PrintWriter out = resp.getWriter();之前

    resp.setContentType("text/html;charset=gbk");

    <%@ page contentType="text/html;charset=gb2312"%>

    page2image4304 page2image4464

    场合:解决 get 方式乱码问题: 解决办法:

    修改 server.xml àURIEncoding="GBK"

    page2image6464 page2image6624

    场合:解决 post 方式提交内容的乱码 解决办法:request.setCharacterEncoding("GBK"); 注意:一定要写在存取第一个参数之前

    不要调用 response.setCharacterEncoding("GBK");

    page2image8536 page2image8696

    场合:<jsp:param name="user" value="<%=s%>"/>,url 地址包含中文参数 解决办法:<%request.setCharacterEncoding("GBK");%>
    注意:

    page2image10776

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

    1. <%! <%区别

    2. 如何解决 ie 缓存问题

    3. TestErr.jsp / ErrPage.jsp

    不太稳定,有的时候不好使:

    •  先不写这句话:<%@page errorPage="ErrPage.jsp"%>

    •  Ie不行,firefox行

    14. <%@include 和 jsp:include 的区别

    <%@ include file="date.jsp" %>

    page3image5744

    <jsp:include page="date.jsp" flush="true"/>

    include 编译指令是在 JSP 程序的转换时期就 将 file 属性所指定的程序内容嵌入,然后再 编译执行;

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

    page3image9680

    只生成一个 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);

    并且只能以/开头

    page4image19800

    常用

    常用

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

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

  • 相关阅读:
    CodeForces 682B Alyona and Mex (排序+离散化)
    CodeForces 682A Alyona and Numbers (水题)
    CodeForces 682E Alyona and Triangles (计算几何)
    CodeForces 176B Word Cut (计数DP)
    CodeForces 173C Spiral Maximum (想法、模拟)
    Spring源码剖析3:Spring IOC容器的加载过程
    Spring源码剖析2:初探Spring IOC核心流程
    深入理解JVM虚拟机13:再谈四种引用及GC实践
    深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
    深入理解JVM虚拟机11:Java内存异常原理与实践
  • 原文地址:https://www.cnblogs.com/yakun/p/3379512.html
Copyright © 2011-2022 走看看