复习小材料

Client Server

Browser Server

<script>
  var _array = new Array();
  <c:forEach items="${strs}" var="_item" varstatus="_status">
     _array[${_status.index}]='${_item}';
  </c:forEach>



  var _array = new Array();
  _array[0] = 'a';
  _array[1] = 'b';
</script>

<html>
  <head>
    <title>
    <script>
       alert(testFunction);
       testFunction();
    </script>
  </head>

  <body>

    <script>
       function testFunction(){
         alert(1);
       }
    </script>
  </body>


1、所有的后台逻辑都是运行在web server中(jsp)
2、浏览中运行的是纯的html
3、浏览器请求,服务器响应

沙盒


33

  ServerSocket server = new ServerSocket(9999);
  while(true){
     Socket client = server.accept();
     InputStream clientIn = client.getInputStream();
     OutputStream clientOut = client.getOutStream();

     // 从clientIn中获取浏览器发过来的web请求
     String requestStr = "xxxx";
     // 从requestStr中获取目标服务器的域名(www.sina.com.cn)和端口(80)
     Socket serverSocket = new Socket("www.sina.com.cn",80);
     InputStream serverIn = serverSocket.getInputStream();
     OutputStream serveOut = serverSocket.getOutputStrea();
     serverOut.write(requestStr.getBytes());
     serverOut.flush();

     // 从serverIn中获取服务器(www.sina.com.cn)的响应
     String responseStr = "xxx";

     clientOut.write(responseStr.getBytes());
     clientOut.flush();
  }


<%
  xxx
%>

作用域对象中(request session servletContext) setAttribute("abc",value)
${abc}
forEach
choose
when
otherwise
set

servlet
重定向
转向

RequestDispatcher

JavaBean

单例模式
工厂模式

DOM  SAX

DOM模型
Document

classpath=.;c:\abc\test.jar(1.4 HelloWorld.class);c:\temp\1.7HelloWorld.class
path

javac
java(1.6) HelloWorld.class

<classes>
   <class>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
   </class>
   <class>
      <student code="001">
         <sex>女</sex>
     <name>李四</name>
      </student>
      <student code="002">
         <sex>男</sex>
     <name>王五</name>
      </student>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
   </class>
   <class>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
      <student code="">
         <sex></sex>
     <name></name>
      </student>
   </class>
</classes>


jQuery
方便编写js代码,有部分的特效实现
Function也是对象

1、添加一个商品
2、修改商品的数量
   public void editCount(Shop shop, int count){
      ShopItem item = items.get(shop.getId());
      if(item == null){
         item = new ShopItem();
     items.put(shop.getId,item);
      }
      item.setShop(shop);
      item.setCount(count);
   }
3、删除某个商品
4、查看所有商品
5、清空购物车


ShopItem
  Shop shop;
  int  count;


ShopCar
  private Map<String,ShopItem> items;

  // 5个方法

 

request.setC("UTF-8")// post

String str = "";
byte[] bytes = str.getBytes("iso-8859-1");
str = new String(bytes, "UTF-8");

包装器

String id = "2";
Integer.parseInt(id);
query.query("select * from test where id=?" ,id)

PreparedStatement

pstmt.setString()

过滤器链

Listener
1、在线人数的管理
2、页面的点击次数(servlet/jsp/html)
  1)哪个地方累计次数
     request产生的时候加1
     --》RequestListener
     --》1、获取页面标记
         2、根据标记递增db的count
     --》path(URL)
  2)数据保存在哪里(DB)

  render 渲染

obj=  request.responseXML// Document

一个请求唯一对应一个Servlet
Servlet可以响应多个请求
list.size() 30
Object obj = list.get(i);
list.size() 30

ConnectionPool
  private int currConnCount = 0;
  private int max = 10;
  private List<Connection> pools = new ArrayList<Connection>();
  private static ConnectionPool connPool = null;
  private ConnectionPool(){
     init();
  }
  public static ConnectionPool getInstance(){
     if(connPool == null){
        connPool = new ConnectionPool();
     }
     return connPool;
  }
  获取连接
  public Connection getConnection(){
     Connection conn = null;
     // 判断pools中是否有连接
     // 如果有
     //     从pool中获取,从pool中删除获取的connection
     // 如果没有
     //     产生一个新的连接返回
     //         3)DriverManager.getConnection(xxxx);
     return conn;
  }
  释放连接
  public void freeConnection(Connection conn){
     // pools.add(conn);
  }

  private void init(){
     //  读配置文件初始化
     //  1)加载驱动   2)url userName password
  }

  public void setMax(int max){
     this.max = max;
  }

  单元测试

 

转载于:https://www.cnblogs.com/zousheng7018/archive/2012/10/20/2732527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值