最近在粗略的阅读《JSP Web开发详解》,顺便记了一些笔记,帮助自己记忆,后面需要继续完善和理解!
1、XML 一句话表达
扩展标记语言,定义创建标记。数据与显示分离,不能描述表现形式,只是描述数据好额数据结构。
2、Servlet
Tomcat 的CATALINA_HOME参数,如果不设置,默认设置为tomcat根目录。
ServletRequest
getAttribute()和getParameter()区别?
属性是哪些?参数是哪些?
ServletResponse
flushBuffer():缓存内容强制发送到客户端。?什么时候会使用?
getWriter():PrintWriter对象,发送字符文本到客户端。
HttpServletRequest
getCookies():返回Cookie数组
getQueryString():查询字符串(?后面的字符串)
getRequestURI和getRequestURL
getSession():查询session
HttpServletResponse
sendRedirect():重定位,直接跳转
【attention】
request.getRequestDispatcher()是请求转发,前后页面共享一个request ;
response.sendRedirect()是重新定向,前后页面不是一个request。
ServletConfig
getInitParameter():在web.xml中配置(比如,数据库参数:driverClass、url、user和password等)
getInitParameterNames()
getServletContext():servlet上下文对象【ServletContext】,……
getServletName()
所需jar包:servlet-api.jar,如果使用j2ee.jar,则已经包含了servlet。
web.xml
<servlet>
<servlet-mapping>
servlet异常
ServletException和UnavailableException
ServletContext
Servlet对象上下文,管理共有属性,
获取:new ServletConfig().getServletContext()
方法:
共享属性(attribute):set和get,自由控制,随服务器关闭而消失。
getRequestDispatcher():见上文链接【两种方式获取dispatcher】
RequestDispatcher
forward():跳转到一个servlet或者jsp
include():在响应中包含servlet或者jsp
【attention】:不同方式获取的dispatcher,对url的要求不同,(/)【p232】
3、数据库访问
JDBC(java数据库连接)也有多种形式(4)。
事务处理(回滚):P289,conn.rollback()
4、会话跟踪
session在服务器维护一个状态(比如,用户名和密码信息,这样用户就不用再次登录了)。
URL重写机制(resp.encodeURL()):servlet名是可以和网址同样使用的。。。【p316】
Cookie配合Session开发:寻找一个成熟方法【?】
5、异常处理机制
404 –> error-page (web.xml)
6、线程安全的servlet
变量线程安全:最好定义本地变量,防止成员变量被共享,导致变量不安全。使用同步方式,性能严重受到影响。
属性线程安全:ServletContext、HttpSession、ServletRequest =》attribute