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


  • 相关阅读:
    SELinux安全方式
    PHP jpgraph的一点小提示和方法
    PHP之文件的锁定、上传与下载的方法
    MySQL与Oracle差异函数对比
    Dictionary 初始化数据
    IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
    iis 负载均衡
    iis 反向代理 组件 Application Request Route
    语法糖
    vs git 推送远程会失败.
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786854.html
Copyright © 2011-2022 走看看