我的零时笔记
缓冲区和缓冲流:
牺牲内存空间,换取时间.
内存和硬盘之间存在边界,
提高效率的方式:每次读取的字节数组上调,然后放在缓存区中.每次向硬盘输出.
在缓存批处理sql语句的时候,如果发生异常,用记录日志进行检索,异常的进行退回,其他的数据进行重写[重点]
mybatis的缓存开启,是将第一次查询 的数据放到缓存中,在后边的查询中,先从缓存中进行查找.
Oracle的缓存默认是20
prepareStatement和Statement的区别:
在JDBC情况下prepareStatement进行批量处理,而Statement每次都要编译,所以效率比较高主要是没有批处理方法,
而在框架下都是用的prepareStatement,就不能单独拿出来比较.
c和c++和c#区别:
C 语言是面向过程的,而 C++ 是面向对象的,C# 是一种完全面向对象的语言。
我的struts2的学习笔记
1,web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>day0826</display-name>
<welcome-file-list>
<welcome-file>login.html</welcome-file>
</welcome-file-list>
<filter>
<filter-name>filter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
2,src下的struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts2配置文件跟标签 -->
<struts>
<!-- 引入其他配置文件 -->
<!-- <include file=" 以src为跟目录 "></include> -->
<!-- 设置action的编码格式, -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 修改上传文件的大小,大小默认是2M -->
<constant name="struts.multipart.maxSize" value="1024*1024*1024"></constant>
<!-- struts框架分包管理, namespace:添加访问路径,访问的时候是:/product/my-->
<package name="p1" extends = "struts-default" namespace="/product">
<!-- 全局结果跳转 ,只限定本包使用,优先的是action中的result的error中-->
<global-results>
<result name=" ">/index.jsp</result>
</global-results>
<!-- 网名和全类名 -->
<action name="my" class="org.cosolas.cn.action.MyAction">
<!--资源的网名 ,默认转发跳转[dispatcher],xml文件更改之后,清除一下project中的文件-->
<result name = "success" >/index.jsp</result>
<!-- 设置重定向,转发非该程序的网址 -->
<!-- <result name = "success" type="redirect">/index.jsp</result> -->
<!-- 一个转发到另一个action中 -->
<!-- <result name = "success" type="chain">/index.jsp</result> -->
<!-- 冲顶向到action中 -->
<!-- <result name = "success" type="redirectAction">/index.jsp</result> -->
</action>
<!-- 默认的网名后面会有一个.action -->
<action name="one" class = "org.cosolas.cn.action.OneAction">
<!-- 同一个package中可不加namespace,访问其他的就加具体的路径 -->
<!-- 访问本包中的 -->
<!-- <result name="success" type="redirectAction">my</result> -->
<!-- 访问其他包redirect,重定向到其他包中, -->
<result name="success" type="redirect">/user/param1</result>
</action>
</package>
<package name="p3" extends="struts-default" namespace="/user">
<!-- /index.jsp:要转发的页面 -->
<action name="param1" class = "org.cosolas.cn.action.Param2Action">
<result name="success">/index.jsp</result>
</action>
<action name="param2" class = "org.cosolas.cn.action.Param3Action">
<result name = "success">/index.jsp</result>
</action>
</package>
<!-- DMI的方式進行訪問 -->
<package name="dmi" extends="struts-default" namespace="/dmi">
<!-- 拦截器只能拦截action请求,不拦截jsp -->
<!-- 攔截器的配置本包有效,拦截器可以专门定义一个xml文件,只要继承xml的拦截器就行了 -->
<interceptors>
<interceptor name="boutInterceptor" class="org.cosolas.cn.intercepter.AboutInterceptor"></interceptor>
<!-- 配置一个拦截器栈,可以自由组合拦截器拦截器栈 -->
<interceptor-stack name="myStack">
<!-- 有了自己默认的拦截器,必须引入系统默认的拦截器栈,自定义默认拦截器会引起系统的拦截器失效 -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="interceptor1" ></interceptor-ref>
<interceptor-ref name="interceptor2" ></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 自定义的默认拦截器,必须要引入系统的拦截器,否则会出现收参异常 -->
<!-- 设置默认拦截器栈,所有的action默认引入拦截器栈 -->
<!-- <default-interceptor-ref name="boutInterceptor"></default-interceptor-ref> -->
<!-- <action name="queryProduct" class = "org.cosolas.cn.action.ProductAction" method="queryProduct">
<result name="success">/index.jsp</result>
</action>
<action name="insertProduct" class = "org.cosolas.cn.action.ProductAction" method="insertProduct">
<result name = "success">/index.jsp</result>
</action>
<action name="deleteProduct" class = "org.cosolas.cn.action.ProductAction" method="deleteProduct">
<result name = "success">/index.jsp</result>
</action>
<action name="changeProduct" class = "org.cosolas.cn.action.ProductAction" method="changeProduct">
<result name = "success">/index.jsp</result>
</action> -->
<!-- DMI模糊的匹配方式,返回的之不相同,寫在一起的返回值必須是不一樣的 -->
<!-- <action name="*" class="org.cosolas.cn.action.ProductAction" method="{1}">
<result name = "queryProduct">/index.jsp</result>
<result name = "insertProduct">/index.jsp</result>
<result name = "deleteProduct">/index.jsp</result>
<result name = "changeProduct">/index.jsp</result>
</action> -->
<!-- 利用通配符模糊匹配,優先匹配具體的值 -->
<!-- <action name="*" class="org.cosolas.cn.action.ProductAction" method="deleteProduct">
<result name = "success">/index.jsp</result>
</action> -->
<!-- 第一個 *_* 方法名和跳到XX頁面 -->
<action name="*_*" class="org.cosolas.cn.action.ProductAction" method="{1}">
<!-- 攔截器的name和攔截器的名字一至,一個action中可以有多個攔截器,配置的順序決定了攔截器的順序 -->
<interceptor-ref name="boutInterceptor"></interceptor-ref>
<result name = "success">/{2}.jsp</result>
<!-- 访问的是第一个占位符的值,name也可以是具体的值, -->
<!-- <result name = "success">/{1}.jsp</result> -->
</action>
</package>
</struts>
3,文件上传的struts的简单配置
struts文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts2配置文件跟标签 -->
<struts>
<!-- 配置编码格式 -->
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
<!-- 设置上传文件的大小 -->
<constant name="struts.multipart.maxSize" value="1024000"></constant>
<!-- struts文件分类 -->
<include file="org/cosolas/cn/struts2_config/struts-fileupload.xml"></include>
<include file="org/cosolas/cn/struts2_config/struts-action.xml"></include>
</struts>
struts-action.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts2配置文件跟标签 -->
<struts>
<package name="Myaction" extends = "struts-default" namespace="/user">
<!-- 页面跳转,一个package只能有一个*,默认是从最后的进行查找 -->
<action name="to*" class="org.cosolas.cn.action.PageSkippingAction" method = "{1}">
<result name = "down">/WEB-INF/down.jsp</result>
</action>
<!-- 拦截所有请求根据返回值的不同进行判断 -->
<action name="*" class="org.cosolas.cn.action.UserAction" method="{1}" >
<param name="directory">/directory</param>
<result name="regist" type="chain">createfile</result>
<result name = "createfile">/login.jsp</result>
<result name="login">//WEB-INF/NewFile.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
struts-fileupload.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 文件上传下载 -->
<struts>
<package name="fileupload" extends = "struts-default">
<!-- 文件上传成功,跳转到展示页面,上传的文件放在directory中,通过action进行读取 -->
<action name="FileUpAction" class="org.cosolas.cn.action.FileUpAction">
<param name="directory">/directory</param>
<result name="success">/index.jsp</result>
</action>
<!-- 文件下載 -->
<action name="FileDownAction" class="org.cosolas.cn.action.FileDownAction">
<!-- 读取存文件的位置 -->
<param name="directory">/directory</param>
<!-- stream代表需要将结果输出 -->
<result name="success" type="stream">
<!-- param的name属性默认为inline,直接向浏览器输出内容,contentDisposition:表示下载文件 -->
<param name="contentDisposition">attachment;filename=${filename}</param>
</result>
</action>
</package>
</struts>
项目的结构图片
具体的java项目
js学习笔记
//document.write("我的文件")
//window.alert("我是警告框");
//向控制天打印
//console.info("我向控制天打印东西了!")
/**
* js的函数里边都是全局变量,通用的.
*
*/
//定义的变量在函数里面,作用域是函数里面
var b = 100;
function fun(){
a = 3;
b = 3;
}
fun();
//alert(a)
//alert(b);
//infinity最大值
//alert(4/0)