1.b/s结构,一部分逻辑由脚本在前端实现,服务器端实现大任务。
2.缺点是大数据的深层次的处理弱。
3.3层应用模型:数据层sql 应用层web服务器 表示层浏览器
4.alink vlink 链接点击效果
5.内部链接
6.target=_self;当前窗口 _top;置顶
7.<OL TYPE="1/A/a/I/i"><li>...<li></OL>
有序标签
8.TYPE=“PASSWORD” “cheakbox” “SUBMIT” “RESET” 。。。
9.<%@ 字符集,引用等%>
10.server.xml 修改端口<Connector connectionTimeout="20000" port="9080" protocol="HTTP/1.1" redirectPort="8443"/>
11.增加虚拟目录 <Context docBase="C:\Users\yihuineng\javaworkspace\DocExchange\WebContent实际路径" path="虚拟目录" reloadable="false" />
12.增加虚拟主机 <Host appBase="d:\wxh" name= "wxh.111.com.cn"> <context 路径,虚拟目录等设置></context></Host>
可以访问wxh.111.com.cn/*.jsp页面
13.jsp运行原理,首次执行翻译成java文件,以后的引用就直接执行字节码,所以比较快。
14.<%! 变量及声明%>全页有效 <%=i%>取值 变量生成一直存在,直至服务停止。
15.可以使用文件保存数据,避免数据重启清除。
16.jsp注释<%– 注释 –%> 前端不可见
17.指令标签 <%@ page 属性及值 单属性增加多值用逗号隔开 %>
18.isThreadSafe是否允许多线程访问
19.include 嵌入jsp文件,可访问web服务目录下
20.动作标签 include动态包含文件 param参数键值对结合其他动作指令 forward转向其他jsp不返回 plugin提示安装插件 useBean使用javaBean文件动静态分割
<jsp:include page=""/>
用时request.getPrameter(“name”)
21.jsp内置对象request response.setContentType改变响应类型 session用户会话 application out输出方法
22.request <FORM action="目标.jsp" method=post name=form> </FORM>
来提交表单
23.处理汉字信息byte b[]=目标String.getBytes(“编码格式”); 目标String=new String(b);来避免乱码
24.hashtable散列表,存储小量数据检索hashtable.containsKey(name)返回是否存在 .put(键,值)添加。
25.response响应头 addHeader setHeader(“Refresh”,”5”)/每五秒自动刷新
26.response 返回5类状态码 1yy实验性质 2yy成功 3yy满足前需要进一步操作 4yy无法满足 5yy服务器问题
27.session 会话保存用户的所有信息 ID号存放在用户cookie中建立一一对应
28.session 关闭浏览器/或者到达最大生存时间(有些网站很久没操作要重新登录)
29.session.getId();获得当前页面的sessionID
30.如果客户端不支持cookie 可以通过URL重写来实现session对象的唯一性 response.encodeURL(“目标jsp”);
31.可向session写入数据 setAttribute(key ,obj);类似散列表使用 obj getAttribute(key); 删除removeAttribute(key);
32.session生存时间管理 最后次时间getLastAccessedTime(); 当前生存时间getMaxInactiveInterval();
33.session setMaxInactiveInterval(seconds);设置生存时间s invalidate 使session失效;(针对非法对象)
34.一般字符串处理程序
<%! public String getString(String s)
{
if(s==null)
{s="";}
try{
byte b[]=s.getBytes("ISO-8859-1");
s=new String(b);
}
catch(exception e)
{}
return s;
} %>
35.session isNew();判断是否是新客户
36.out.print(单对象/字符串) out.newLine();换行符 out.flush();输出缓冲区内容 out.close();关闭流
37.application服务器apache启动后产生知道服务器关闭 所有客户用同一个application对象。
38.application 方法 setAttribute(key,obj); obj getAttribute(key); removeAttribute(key); getServletInfo();获取编译器版本;
39.Vector 向量(类似链表)add(obj);加到尾部 add(index,obj);加到指定位置 obj elementAt(index);获取特定位置 size();元素个数
40.Cookie mycookie=new Cookie(“name”,val); 保存cookie response.addCookie(name); 取得Cookies Cookie[] mycookies=request.getCookie();
41.jsp文件操作 File (path ,name)构造 方法:getName(); canRead();canWrite();exits();length();getAbsolutePath();获取绝对路径;
getParent();获得父目录 isFlie();isDirectory();判断文件/目录 isHidden();lastModified();最后修改时间。
42.创建目录bool mkdir(); 列出目录下文件:String[] list(); File[] listFiles();
43.FilenameFilter接口 继承类 筛选类,用来过滤特定格式的文件
44.字节流读写文件,int read(byte b[],int off,int len); void write(byte b[],int off,int len); 底层字节流:InputStream(); OutputStream();
45.close();关闭流 long skip(long);跳过n个字节,返回当前位置
46.派生的输入输出流类FileInputStream(源File) FileOutputStream(目标File) 需要try{} catch(IOException e){System.out.println(e);}
47.BufferedInputStream(FileInputStream) BufferedOutputStream(FileOutputStream) 缓冲区读写类提高文件读写的效率
48.BufferedOutputStream 需要 .flush()完成输出
49.unicode字符集处理(汉字)Reader(输入流) Writer(输出流) 类 对应的方法类同 char b[]
50.unicode字符集处理 派生FileReader(源File) FileWriter(目标File)
51.unicode字符集处理 缓冲区类BufferedReader(FileReader) BufferedWriter(FileWriter) .readLine();单行读取 .newLine();添加行符 string类型处理
52.回压字符流PushbackReader(Reader) .unread(char)回压一个字符 用来监视读出信息,不需要时不处理,回压有用信息
53.针对一般的数据结构 使用数据流 DataInputstream(InputStream) DataOutputstream(OutputStream) .read类型(); .write类型();
54.对象流 ObjectInputstream(InputStream) ObjectOutputstream(OutputStream) 前提要有文件输入输出流
55.构造Hashtable(容量,因子) 方法:.get(obj key); .isEmpty(); .put(key,val); .remove(key); .size(); .containsKey(key);
56.RandomAccessFile(File,”rw”)即可以作为输入也可以作为输出流,单对象实现读写操作。
57.文件上传
File类型的表单
可通过request.getInputstream();获得该表单文件 前4行,后5行除外,是文件信息。
58.文件下载 request.getOutputstream();将文件写入这个流,用户就能下载。 指定类型:application/msword pdf等等
59.分页读取文件 通过session控制
60.使用数据库JDBC(Java DataBase Connectivity)数据库建立连接、发送SQL、处理返回的结果
方式一:JDBC-ODBC-各类数据库访问 方式二:JDBC-加载数据库驱动程序访问数据库
61.JDBC-ODBC ODBC中建立数据源(控制面板-管理工具-ODBC数据源设置-系统DSN-添加新源)
Class.forName(“Sun.jdbc.odbc.JdbcOdbcDriver”);建立桥接器;
62.
try{
Connection con=DriverManager.getConnection("jdbc:odbc:数据源",“user”,“psw”);//建立连接
Statement sql=con.creatStatement(type返回类型,concurrency是否同步数据库);//sql语句对象
}catch(SQLException e){}
ResultSet rs=sql.executeQuery("Select * from table");
rs.get类型("XXX")获得XXX字段值/索引值 rs.next();指向下一行数据
sql.executeUpdate("Update table Set key=val Where key2=val");//更新内容
sql.executeUpdate("Insert table Values(val1,val2...)");//插入新记录
sql.executeUpdate("Delete From table Where key=val");//删除记录
63.用结果集更新数据库
rs.updateRow(); rs.insertRow();修改临时表
64.分页显示记录 总页数M=m%n==0? (m/n):(m/n+1)
第p页 (p-1)*n+1
65.JDBC-加载数据库驱动程序访问数据库
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con=DriverManager.getConnection(“jdbc:oracle:thin:@ip:端口:数据库名”,“user”,“psw”);//建立连接
66.Excel数据源,Excel菜单插入-名称-定义 给选中的工作区命名,被连接时将被做表名
适合做Excel数据源导入。
67.JavaBean可重复使用的软件组件 java类 可移植性好 分是否可视化 编译成字节码文件,放到目录下使用
68.一般类 getxxx();获取属性 setxxx();修改属性 package bean名
69.使用:<jsp:useBean id="name" class="类" scope="有效范围page/当前页 session/会话期间 request/param需要与property名相同 application/共享一个bean" />
70.修改了bean需要重启tomcat,特定服务目录可以先检测bean文件是否更新
71.<jsp: getProperty name="Beanname" property="Bean的属性" />
获得Bean的某个属性值,以字符串的形式展示
72.<jsp: setProperty name="Beanname" property="Bean的属性" value="<%=x%>"/>
设置Bean某个属性值
73.数据类型转换错误获取 NumberFormatException e
74.Bean的辅助类,字节码放一起就可以了。
75.网络程序设计要点,多个网页组成网页,分块网页。
76.常用方法
getProtocol()获取通讯协议;getServletPath()获取jsp页面文件目录;
getContentLength()获取信息长度;getMethod()获取客户提交信息方式;
getHeader(String s)获取Http头文件由s指定的头名字值;getHeaderNames()头名字枚举;
getRemoteAddr()获取客户ip;getRomoteHost()客户机名称;
getServerName()服务器名;getServerPort()端口号;
getParameterNames()用户提交信息name参数的枚举;