JSP应用开发详解读书笔记

导读:
  第一章:JSP技术概述
  1。字符串转换为整型的方法:
  String gettimes=1000;
  int times = Integet.parseInt(gettimes);
  2.Servlet容器在第一次调用JSP时,会自动编译,然后这个JSP就驻留在内存中了,所以第一次调用JSP时,会有一定延时,在接下来的调用中,就不会再有延时了。
  3.JSP文件头:<%@page language="java" contentType="text/html;charset=UTF-8"%><%@ page info="a JSP example"%>
  第二章:搭建开发环境
  J2SDK+TOMCAT
  第三章:JSP语法详解
  1.注释:
  <%--........-->
  第一章:JSP技术概述
  1。字符串转换为整型的方法:
  String gettimes=1000;
  int times = Integet.parseInt(gettimes);
  2.Servlet容器在第一次调用JSP时,会自动编译,然后这个JSP就驻留在内存中了,所以第一次调用JSP时,会有一定延时,在接下来的调用中,就不会再有延时了。
  3.JSP文件头:<%@page language="java" contentType="text/html;charset=UTF-8"%><%@ page info="a JSP example"%>
  第二章:搭建开发环境
  J2SDK+TOMCAT
  第三章:JSP语法详解
  1.注释:
  <%--........-->
  2.指令元素:
  <% page language="java" import="..." session="true/false" buffer="64kb" autoFlash="true" info="一个测试页面" isErrorPage="false" errorPage="error/error.jsp" isThreadSafe="true" contentType="text/html;charset="UTF-8" pageEncoding="UTF-8" isELIgnoreD="true"%>
  session指定一个HTTP会话中的这个页面是否参与
  buffer指定到客户输出流的缓冲模式,如果是NOME,则不缓冲,如果指定值,那么就输出不小于这个值的缓冲区进行缓冲
  autoFlash缓冲区满时,到客户端刷新。FALSE缓冲区满时,出现运行异常,表示缓冲区溢出。
  isThreadSafe设定一个JSP文件是否可以多线程同时使用
  isELIgnored制定EL表达式是否被忽略。
  3.动作元素:
  
  
   或
  
  
  
  /
   或
  
  
  ......
  
  
  &&&重点学习&&&
  
  此操作与useBean一起协作,用来设置Bean的简单属性和索引属性。 标签使用Bean给定的setXXX()方法,在Bean中设置一个或多个属性值。利用 来设置属性值有多种方法:
  Bean的自省机制(introspection)用来发现出现的是哪些属性和它们的名字是什么,这些属性是简单的还是索引的,它们是什么类型的等等。用以下方法来使用setProperty:
  
  其中,propertyDatails可以是下面几个中的一个:
  property="*"
  property="propertyName" param="parameterName"
  property="propertyName"
  property="propertyName" value=propertyValue"
  例如:
  
  
  
  或者:
  
  (1)name="beanName"这个是必选属性。其值为Bean的名字,在这之前用jsp:useBean引入的名字。
  (2)property="*"
  这是一种设置Bean属性的快捷方式。
  把字符串转化为其他类型的方法:
  property类型 方法
  boolean java.lang.Boolean.valueOf(String).booleanValue()
  Boolean java.lang.Boolean.valueOf(String)
  byte java.lang.Byte.valueOf(String).byteValue()
  Byte java.lang.Byte.valueOf(String)
  char java.lang.Character.valueOf(String).charValue()
  Character java.lang.Character.valueOf(String)
  double java.lang.Double.valueOf(String).doubleValue()
  Double java.lang.Double.valueOf(String)
  int java.lang.Integer.valueOf(String).intValue()
  Integet java.lang.Integer.valueOf(String)
  float java.lang.Float.valueOf(String).floatValue()
  Float java.lang.Float.valueOf(String)
  long java.lang.Long.valueOf(String).longValue()
  Long java.lang.Long.valueOf(String)
  (3)注意:在 中,不能同时使用param和value,因为两者都是设置Bean属性,只是方式不同而已。
  4.
  
  例如: id="usersession" scope="session" class="com.user.UserSession">
  
  <:jsp:getProperty name="usersession" property="password"/>
  5.
  在网页中加入一个applet的源代码:
  6.
  是 动作的一部分,只在 中使用。
  第四章:JSP内建对象及其实例讲解
  1.request:
  request对象代表请求对象,它被包装成HttpServletRequest接口,通过getParameter方法,可以得到request的参数,通过GET,POST,HEAD等方法,可以得到request的类型,通过Cookies,Referer等可以得到请求的Http头.
  常用方法:getCookies();
  getHeader(String name);
  getInputStream();
  getRequestURI();
  getRemoteHost();
  getSession([Boolean create]);
  getServername();
  getServletPath();
  getServerPort();
  setAttribute(String name,java.lang.Object objt);
  2.response:
  response被包装成HttpServletResponse接口,它封装了JSP产生的响应,然后被发送到客户端,以响应客户的请求。与request对象一样,它由容器生成,作为jspService()方法的参数被传入JSP.因为输出流是缓冲的,所以可以设置Http状态码和response头。
  常用方法:
  addCookie(Cookie cook);
  addHeader(String name,String value);
  containsHeader(String name);
  encodeURL();
  flushBuffer();
  getBufferSize();
  sendError(int);
  sendRedirct(String location);
  setContentType(String contentType);
  setHeader(String name,String value);
  3.session:
  session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态。其中,session信息保存在容器中,session的ID保存在客户机的Cookie中。在许多服务器中,如果浏览器支持Cookies的话,就直接使用Cookies,如果不支持或禁止了Cookies,就自动转化为URL-rewriting,(重写URL,这个URL包含客户信息),session自动为每个流程提供了方便的存储信息的方法。
  常用方法:
  getAttribute(String name);
  getAttributeNames();
  getCreationName();
  getId();
  getLastAccessedTime();
  getMaxInactiveInterval();
  invalidate();
  isNew();
  removeAttribute(String name);
  setAttribute(String name,java.lang.Lbject value);
  4.pageContext
  pageContext封装成javax.servlet.jsp.pagecontext接口,它为jsp页面包装页面的上下文。
  常用方法:
  forward(java.lang.String relativeUrlPath)
  getAttribute(java.lang.String name...)
  getException();
  getRequest();
  getResponse();
  getServletConfig();
  getServletContext();
  getSession();
  findAttribute();
  setAttribute();
  removeAttribute();
  5.config
  6.page
  源代码例子:
  boolean isLog=false;
  isLog=(String)session.getAttribute("isLog")).equals("1");
  <%@ include file="xxxx.inc" %>
  第五章:在JSP中使用JavaBean
  1.预处理语句:PrepareStatement pstmt=con.prepareStatement(reg);
  pstmt.setString(1,xxx);
  ..
  pstmt.executeUpdate();
  2.信息注册页面
  
  
  第六章:动态页面和用户会话
  1.根据时间动态:
  <%java.util.Date now=new java.util.Date();

int month=now.getMonth();

System.out.println(month);

String bgcolor="";

switch(month){

case(1):bgcolor="blue";break;

case(2):bgcolor="red";break;

.

.

.

}

%>  int month=now.getMonth();

  System.out.println(month);

  String bgcolor="";

  switch(month){

  case(1):bgcolor="blue";break;

  case(2):bgcolor="red";break;

  .

  .

  .

  }

  %>
  >
欢迎您,现在时间为:<%=now.toLocalString()%>
  
  2.<%session.setMaxInactiveInterval(900);%>设置session超时30分钟.
  第七章:Servlet技术
  1.第一个helloworld的Servlet:
  import java.io.*;
  import javax.servlet.*;
  import javax.servlet.http.*;
  public class HelloWorldServlet extends HttpServlet{
  public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
  response.setContentType("text/html;charset=UTF-8");
  PrintWriter out = response.getWriter();
  out.println("");
  out.println(" ");
  out.println(" ");
  out.println(" ");
  out.println(" ");
  out.println("
");
  out.println(" helloworld");
  out.println(" 世界,你好");
  out.println(" ");
  }
  public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
  doGet(request,response);
  }
  }
  配置web.xml
  首先声明Servlet,指定这个Servlet的名字与类,然后在后面为这个Servlet做一个URI映射,我们可以通过这个映射来访问Servlet。
  
   HelloWorldServlet
   com.jspdev.ch7.HelloWorldServlet
  
   encoding
   UTF-8
  
  
  
   HelloWorldServlet
   /hello
  
  2.请求与响应有关的类与接口
  ServletRequest
  ServletResponse
  ServletInputStream
  ServletOutputStream
  ServletRequestWrapper
  ServletResponseWrapper
  HttpServletRequest
  HttpServletResponse
  HttpServletRequestWrapper
  HttpServletResponseWrapper
  3.HttpServletRequest
  常用方法:
  getCookies();
  getSession();
  getSession(boolean create);
  getParameter(java.lang.String name);
  getParameterValues(java.lang.String name);
  4.HttpServletResponse
  addCookie(Cookie cookie)
  encodeURL(java.lang.String url)
  sendRedirect(java.lang.String location)
  setContentType(java.lang.String type)
  setCharacterEncoding(java.lang.String charset)
  5.HttpSession
  getCreationTime()
  getId()
  getLastAccessedTime()
  getMaxInactiveInterval();
  getValue(String name)
  getValueNames();
  invalidate();
  isNew();
  putValue(String name,Object value)
  removeValue(String name)
  setMaxInactiveInterval(Int interval)设置一个秒数,这个秒数表示客户端在不发出请求时,Session被Servlet引擎维持的最长时间。
  6.Servlet上下文
  ServletContext
  常用方法:getAttribute(String name);
  getContext(string uripath)
  removeAttribute(String name)
  setAttribute(String name,Object object)
  7.Servlet协作
  RequestDispatcher
  常用方法:
  forward(ServletRequest request,ServletResponse response);
  include(ServletRequest request,ServletResponse response);
  8.过滤:
  Filter
  init(Filterconfig filterConfig)
  doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
  destroy()
  FilterChain
  doFilter(ServletRequest request,ServletResponse response)
  FilterConfig
  getFilterName()
  getInitParameter(String name)
  getServletContext()
  getInitParameternames()
  9.Servlet中设定字符:request.setCharacterEncoding("UTF-8");
  10.doPost
  doGet
  doPut
  doDelete
  doTrace
  doHead
  doOptions
  10.Servlet的配置p159

本文转自
http://hi.baidu.com/txm506/blog/item/288dfb1b583cf2feaf5133f5.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值