zoukankan      html  css  js  c++  java
  • [Jweb] Servlet 与 Jsp 张志宇总结重要知识点

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

    n WEB-INF 

    u classes 

    u web.xml 

    u lib

    2. servlet开发过程

    n 从httpservlet继承重写doget / doPost方法

    n 部署web.xml 

    3. servlet声明周期

    n 只有一个对象

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

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

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

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

    n 卸载前调用destroy方法

    4. 为什么有2init方法

    5. /的含义

    n form

    u form提交中action的路径可以为虚拟路径,

    u 也可以为绝对路径,/代表http://127.0.0.1/

    n web.xml

    u web.xmlurl-patternwebapplication根路径,/代表http://127.0.0.1/Test/

    6. 乱码

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

    解决办法:servletresp.setContentType("text/html;charset=gbk");

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

    注意:一定要写在PrintWriter out = resp.getWriter();之前

    场合:解决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

    存储在客户端

    存储在服务器端

    两种类型

    l 有声明周期

    l 无声明周期

    两种实现方式

    l 依赖于cookie

    l url重写

    父路径不能访问子路径的cookie

    同一个session的窗口共享一个session

    典型应用:

    l 3个月不用再登陆

    l 购物车(http://www.china-pub.com/)

    典型应用:

    l 用户登陆

    l 购物车也可以用session实现。·

    不可靠

    可靠

    8. application (ServletContext)的概念

    9. jsp初学者容易犯的错误

    n WEB-INF子目录下面不能放置html jsp 等文件

    n 不能直接打开

    10. jsp/servlet连接数据库时要注意的事项

    拷贝数据库驱动的jar包到apache-tomcat-6.0.14webappsTestWEB-INFlib文件夹

    确认数据库已经启动

    用户名、密码应该正确

    11. <%! <%区别

    12. 如何解决ie缓存问题

    13. TestErr.jsp / ErrPage.jsp 

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

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

    n Ie不行,firefox

    14. <%@includejsp:include的区别

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

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

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

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

    只生成一个class文件

    多个

    Include不能带参数

    <jsp:include>可以

    同一个request对象

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

    常用

    不常用

    15. forwardsendredirect的区别

    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().getRequestDispatcher ("/servlet_jsp/ServletUseJsp.jsp")
    .forward(req, resp);

    并且只能以/开头

    常用

    常用

     

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

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

    符合j2ee标准的web-app的目录结构
    WEB-INF 
    classes 
    web.xml 
    lib
    servlet开发过程
    从httpservlet继承, 重写doget / doPost方法
    部署web.xml 
    servlet声明周期
    只有一个对象
    第一次请求的时候被初始化,只一遍
    初始化后先调用init方法,只一遍
    每个请求,调用一遍serviceservicedoGet/doPost。以多线程的方式运行
    不要在servlet中设计成员变量。
    卸载前调用destroy方法
    为什么有2个init方法
    /的含义
    form
    form提交中action的路径可以为虚拟路径,
    也可以为绝对路径,/代表http://127.0.0.1/
    web.xml
    web.xml中url-pattern为webapplication根路径,/代表http://127.0.0.1/Test/
    乱码
    场合:页面本身有中文的时候
    解决办法:servlet:resp.setContentType("text/html;charset=gbk");
    Jsp: <%@ page contentType="text/html;charset=gb2312"%>
    注意:一定要写在PrintWriter out = resp.getWriter();之前
    场合:解决get方式乱码问题:
    解决办法:修改server.xml URIEncoding="GBK"
    场合:解决post方式提交内容的乱码
    解决办法:request.setCharacterEncoding("GBK");
    注意:一定要写在存取第一个参数之前	
       不要调用response.setCharacterEncoding("GBK");
    场合:<jsp:param name="user" value="<%=s%>"/>,url地址包含中文参数
    解决办法:<%request.setCharacterEncoding("GBK");%>
    注意:
    
    Cookie 和session的区别
    注意cookie有时候禁不掉
    Cookie	session
    存储在客户端	存储在服务器端
    两种类型
    有声明周期
    无声明周期	两种实现方式
    依赖于cookie
    url重写
    父路径不能访问子路径的cookie	同一个session的窗口共享一个session
    典型应用:
    3个月不用再登陆
    购物车(http://www.china-pub.com/)	典型应用:
    用户登陆
    购物车也可以用session实现。·
    不可靠	可靠
    
    application (ServletContext)的概念
    jsp初学者容易犯的错误
    WEB-INF子目录下面不能放置html jsp 等文件
    不能直接打开
    jsp/servlet连接数据库时要注意的事项
    拷贝数据库驱动的jar包到apache-tomcat-6.0.14webappsTestWEB-INFlib文件夹
    确认数据库已经启动
    用户名、密码应该正确
    <%! <%区别
    如何解决ie缓存问题
    TestErr.jsp / ErrPage.jsp 
    不太稳定,有的时候不好使:
    先不写这句话:<%@page errorPage="ErrPage.jsp"%>
    Ie不行,firefox行
    <%@include和jsp:include的区别
    <%@ include file="date.jsp" %>	<jsp:include page="date.jsp" flush="true"/>
    include编译指令是在JSP程序的转换时期就将file属性所指定的程序内容嵌入,然后再编译执行;	而include指令在转换时期是不会被编译的,只有在客户端请求时期如果被执行到才会被动态的编译载入
    只生成一个class文件	多个
    Include不能带参数
    	<jsp:include>可以
    
    同一个request对象	不同的request对象,可以取得包含它的页面的参数,并添加了自己的参数
    常用	不常用
    
    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().getRequestDispatcher ("/servlet_jsp/ServletUseJsp.jsp")
    .forward(req, resp);
    并且只能以/开头
    常用	常用
    
    <jsp:useBean scope = page|request|session|application>
    jsp内置对象: out request response session application exception


  • 相关阅读:
    Delphi XE5 android 蓝牙通讯传输
    Delphi XE5 android toast
    Delphi XE5 android openurl(转)
    Delphi XE5 如何设计并使用FireMonkeyStyle(转)
    Delphi XE5 android 捕获几个事件
    Delphi XE5 android listview
    Delphi XE5 android 黑屏的临时解决办法
    Delphi XE5 android popumenu
    Delphi XE5 android 获取网络状态
    Delphi XE5 android 获取电池电量
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786854.html
Copyright © 2011-2022 走看看