刚学习java时的笔记, 有点渣, 毕竟都是从低往高走


一片很有意义的论文:
    写给那些在技术路上奔跑的人们!!!!!
        http://blog.csdn.net/xqhrs232/article/details/24885971 

        
乱码处理
    1.get处理
        解码编码
        username = new String(username.getBytes("ISO8859-1"),"UTF-8");
    2.servlet服务器编码  //tomcat服务器service.xml处理
         <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    3.post处理
        spring编码过滤器,web.xml配置        
        
换工作空间需要配置环境
    1.maven项目,
    2.maven的setting
        eclipse配置maven:
        2.1.eclipse自带的版本低,需要更换   preferences->maven-->installations
        2.2.本地仓库更换  preferences->maven-->user settings 
    3.SVN的忽略
    4.tomcat
    5.jdk版本,需要使用自己的,以前配过一般会记住,
    
    
开发三要素:
    1.请求
    2.参数:
    3.返回值
        注:针对前端js框架,不需要知道它内部是什么,只要知道它需要什么它是干什么的,
           如 : js插件上传图片 富文本编辑器 
            KindEditor : 插件
            注:这是一个js的插件,不知道怎么使用,那么我需要知道,开发三要素
                请求:
                参数:
                返回值:
                根据官方API, 网址 : http://kindeditor.net/demo.php -> 文档 -> 上传文件 ->这里面可以获得三要素
                    //不是上面找的步骤,是思想,怎么去找三要素,你不可能懂所有的技术,重点是怎么使用这个技术
    
    
    
互联网
    1.高并发
    2.大数据
集群服务器
    1.硬件负载 F5服务器
    2.lvs
C语言开发软件安装步骤: (套路)
    1.设置编译参数:configure //如果有configure这个文件就要设置,没有就省略
    2.编译 make
    3.安装 make install
EditPlus连接linux查看,编辑,配置文件
    File->FTP->FTP Settings->
        协议:sftp
    端口:22    




//javaWEB开发模型
模型一:(了解)不存在分层,业务逻辑全在jsp中
JavaBean+jsp 只能开发很简单的应用,不适合企业级开发。
模型二:(很重要)
MVC:Model+View+Controller(模型视图控制器)
    Model:javaBean数据
    View:jsp显示
    Controller:Servlet控制器
    三层架构:MVC指示三层架构的表现层

//框架
dao层(Data Access Object)
    Hibernate    操作数据的框架
    Mybatis        
Service层
    Spring
Web层
    validate      //表单框架
    BootStrap    //简化html css框架
    Struts1
    webwork
    Struts2        //平常web层使用这个框架
    springmvc    //如果做金融使用这个框架
    
//生命周期    
    interceptor :常驻于内存,每次请求走相同一套拦截器
    action :每次请求都创建一个
    
//web三大组件
servlet filter listener        //过滤器 监听器都在servlet规范中

//工具的使用
Navicat Preminm   操作数据库的工具

//解决不了问题
查API
百度
问人

//分析
越往后,做项目,需要先分析。    入口-出口,参数,返回值


//<-----------------------------遇到的问题:---------------------------------->
(1).设置<div id=""></div>内部text
    $("#id").html("用户名可用")   //使用js的innerHTML不可以







//简单记忆杂
1.进行页面跳转
        location.href = "${pageContext.request.contextPath}/FindCategory";
2.eclipse 引言使用 xml提示
    2.1 目录下,hibernate配置文件汇总,project项目计划etc放置配置文件。在配置hibernate.cfg.xml时提起,打开查找MySql找到数据库陪住文件,键值对
        java StudyWEB前端hibernate
esourcehibernate-release-5.0.7.Finalprojectetchibernate.properties
    2.2引言的包(dtd文件在源码jar包里可以找到)
3.Spring约束问题:
    1.不知道怎么导context约束,
        在spring-framework-4.2.4.RELEASE-dist 架构包中找到schema,这是个约束包。找到context包中的xsd文件这就是需要导的约束
4.动态代理理解
        通过接口增强一个对象,
        实现类,接口,代理类
        Proxy.newProxyInstance(参数1,参数2,参数3)
            1.指定加载动态代理对象的类加载器 =》应用加载器
            2.指定代理类需要实现的接口(与被代理类实现统一套接口)
            3.我们指定在代理类中需要如何增强方法(接口回调)
5.将数据库连接信息引入配置文件(2种)
    去看 spring第四天讲义.pdf 吧!   java StudyWEB前端spring
6.事务特性
    A 原子性    :不可分离的
    C 一致性     :
    I 隔离性    :事务并发会产生一些并发问题
    D 持久性    :事务会永久保存在介质
        事务并发问题:
            脏读
            不可重复读
            幻读|虚度    :
        隔离级别解决并发问题:
            1.读未提交
            2.读已提交
            4.可重复读
            8.串行化
7.在项目一中action跳转html页面问题
    action中页面跳转到html时,使用redirect(重定向),因为页面路径使用的都是相对路径../../js/jquery-1.8.3.js 不是jsp中可以使用${page}之类的
8.动态页面和静态页面获取方式问题
    动态: 链接-->xxx_list.action --> action --> service ...
    静态: 链接-->index.html --> 页面加载函数动态去action获取数据$.post --> ...
9.将json对象显示出来,一般用在页面测试上
        //alert(JSON.stringify(formData))            
10.静态页面传参数
    role.html
        location.href='role_add.html?id=63';
    role_add.html    
        var strId = location.search.split("=")[1]; //63
11.在实体类有关联表时,进行hibernate保存,级联保存,分步保存            
    级联保存        
        1.需要在实体类上注解
            @ManyToMany(cascade={CascadeType.MERGE})
            //注意:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE
            .All属性会有remove,容易误删数据,
12.实体类查询时,关联查询问题;
    需要关联查询
        @ManyToMany(fetch=FetchType.EAGER)    //立即查询,防止懒加载
    不需要时
        @JSONField(serialize=false)        ////转json时不对它进行处理
        private Set<Menu> menus = new HashSet<Menu>(0);    
13.注解和注释
    注释: 给程序猿看的. // <!-- --> 之类的
    注解: 给计算机看的. @Action() @ManyToMany 之类的
14.页面form表单转换成JSON
    var formData = $("#roleForm").serializeJSON();
15.实体类为什么要implements Serializable 实现序列化!
    如果这个对象只在我自己的内存里运行,那么是否序列化区别不大
    如果要远程调用,对象通过网络协议转成二进制,对象的存在形态发生了改变,就需要序列化,
16.页面向后台传递参数2种js方式
    $.ajax()
    $.post()
    //提交数据默认都是字符串,需要转换
17.前台页面json数据格式的操作
    var obj = $.parseJSON(data) //将data数据转json数据
18.web.xml配置文件加载问题
    1.classpath        //加载编译路径下
    2.classpath*    //加载所有jar包编译
19.在一次导入fastDFS虚拟机镜像,启动卡死!
    提示"我以移动该虚拟机" , "我以复制该虚拟机" ,我是点击复制虚拟机导致启动卡死,可能是因MAC地址 | 静态IP地址问题导致,
    
            
            


//----------框架使用---------
SSH框架    
    struts2+spring+hibernate 集成框架
        其中struts作为基础框架,负责MVC的分离。
            1.在模型部分(Action)控制业务跳转,
            2.利用hibernate对持久层提供支持,
            3.spring做管理,管理struts和hibernate
        spring作为容器 
        hibernate作为持久层操作数据库
        
三个框架的整合:        //有2个相似的资源:spring第五天讲义.pdf   spring_day04.xmind(老版)
        //spring_day05.xmind  去看资源吧,步骤太多了
    1.导包40个
        hibernate
        struts2
        spring
        
    
    spring和hibernate:
        1.spring接管SessionFactory的创建
            需要为SessionFactory注入连接池
        2.spring和hibernate都有一个封装对象 HibernateTemplate 和 JdbcTemplate一样,HibernateTemplate也有一个HibernateDaoSupport
            //以后就继承HibernateDaoSupport 不继承JdbcDaoSupport ,同样注解不能用于注解
        3.配置文件中dao层注入SessionFactory,//数据库的操作交给hibernate中的SessionFactory中的seesion操作
        4.service层,需要配置事务,不配置测试会报错,事务默认属性read-only="true"只读,查找没问题,修改会报错
    spring和struts2
        方式1:依赖整合    //这个不用
        方式2:spring完全负责action的创建

B/S架构与C/S架构的区别
1.  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 
2.  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高          

ORM框架 //持久层框架
     对象关系映射(Object Relational Mapping,简称ORM)
    1.hibernate
    2.MyBatis //不完全是orm框架,它的sql语句需要程序自己写
    
Nginx
    是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强
SOA架构
    面向服务架构




//----------------账号密码-------------------





sts插件
作用:代码提示
    //不咋的,而且老是有假错误提示.可以卸载了.默认是没有的








//前端 获取 | 提交 数据的几种方式:
html+easyUI
    1.combobox 下拉列表框
        <input type="text" name="courierId" class="easyui-combobox" required="true" 
            data-options="url:'../../courierAction_findByDeltagIsNull.action',textField:'name',valueField:'id'" />
    2.列表,表格
        $('#grid').datagrid( {
                    .....
                });
        // 定义列
            var columns = 
    3.form表单数据 提交 回显
        1.提交
            使用action="url"
        2.回显
            监听按钮,异步获取数据,回显
        
jqery
    1.异步提交
        $.post("url",{"json":json},function(){})
    





//生成随机数
1.生成4位数的随机数,场景手机获取验证码
String randomNumeric = RandomStringUtils.randomNumeric(4);
2.生成32字符串,固定4个'-'
String activeCode = UUID.randomUUID().toString();






//主流的三种Web服务交互方案
SOAP    Simple Object Access protocol 简单对象访问协议
XML
    XML-RPC : 标准通用标记语言下的一个子集
REST    Representational State Transfer
    RESTful:一种软件架构风格,设计风格而不是标准

//webService发布2中风格
    jaxws:service    //自己用这种
    jaxrs:service    //需要发布的接口和方法需要写很多注解,   不建议用,知道就行
                    

技术网站csdn   账号:291qq号BBS论坛github.comjiuyajava@163.com:jiuya18610427004智联jiuyajava@163.com :jiuya18610427004QQ:291猎聘
一片很有意义的论文:写给那些在技术路上奔跑的人们!!!!!http://blog.csdn.net/xqhrs232/article/details/24885971 
乱码处理1.get处理解码编码username = new String(username.getBytes("ISO8859-1"),"UTF-8");2.servlet服务器编码  //tomcat服务器service.xml处理 <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>3.post处理spring编码过滤器,web.xml配置换工作空间需要配置环境1.maven项目,2.maven的settingeclipse配置maven:2.1.eclipse自带的版本低,需要更换   preferences->maven-->installations2.2.本地仓库更换  preferences->maven-->user settings 3.SVN的忽略4.tomcat5.jdk版本,需要使用自己的,以前配过一般会记住,开发三要素:1.请求2.参数:3.返回值注:针对前端js框架,不需要知道它内部是什么,只要知道它需要什么它是干什么的,   如 : js插件上传图片 富文本编辑器 KindEditor : 插件注:这是一个js的插件,不知道怎么使用,那么我需要知道,开发三要素请求:参数:返回值:根据官方API, 网址 : http://kindeditor.net/demo.php -> 文档 -> 上传文件 ->这里面可以获得三要素//不是上面找的步骤,是思想,怎么去找三要素,你不可能懂所有的技术,重点是怎么使用这个技术互联网1.高并发2.大数据集群服务器1.硬件负载 F5服务器2.lvsC语言开发软件安装步骤: (套路)1.设置编译参数:configure //如果有configure这个文件就要设置,没有就省略2.编译 make3.安装 make installEditPlus连接linux查看,编辑,配置文件File->FTP->FTP Settings->协议:sftp端口:22



//javaWEB开发模型模型一:(了解)不存在分层,业务逻辑全在jsp中JavaBean+jsp 只能开发很简单的应用,不适合企业级开发。模型二:(很重要)MVC:Model+View+Controller(模型视图控制器)Model:javaBean数据View:jsp显示Controller:Servlet控制器三层架构:MVC指示三层架构的表现层
//框架dao层(Data Access Object)Hibernate    操作数据的框架MybatisService层SpringWeb层validate  //表单框架BootStrap//简化html css框架Struts1webworkStruts2//平常web层使用这个框架springmvc//如果做金融使用这个框架//生命周期interceptor :常驻于内存,每次请求走相同一套拦截器action :每次请求都创建一个//web三大组件servlet filter listener//过滤器 监听器都在servlet规范中
//工具的使用Navicat Preminm   操作数据库的工具
//解决不了问题查API百度问人
//分析越往后,做项目,需要先分析。    入口-出口,参数,返回值

//<-----------------------------遇到的问题:---------------------------------->(1).设置<div id=""></div>内部text$("#id").html("用户名可用")   //使用js的innerHTML不可以






//简单记忆杂1.进行页面跳转location.href = "${pageContext.request.contextPath}/FindCategory";2.eclipse 引言使用 xml提示2.1 目录下,hibernate配置文件汇总,project项目计划etc放置配置文件。在配置hibernate.cfg.xml时提起,打开查找MySql找到数据库陪住文件,键值对java StudyWEB前端hibernate esourcehibernate-release-5.0.7.Finalprojectetchibernate.properties2.2引言的包(dtd文件在源码jar包里可以找到)3.Spring约束问题:1.不知道怎么导context约束,在spring-framework-4.2.4.RELEASE-dist 架构包中找到schema,这是个约束包。找到context包中的xsd文件这就是需要导的约束4.动态代理理解通过接口增强一个对象,实现类,接口,代理类Proxy.newProxyInstance(参数1,参数2,参数3)1.指定加载动态代理对象的类加载器 =》应用加载器2.指定代理类需要实现的接口(与被代理类实现统一套接口)3.我们指定在代理类中需要如何增强方法(接口回调)5.将数据库连接信息引入配置文件(2种)去看 spring第四天讲义.pdf 吧!   java StudyWEB前端spring6.事务特性A 原子性:不可分离的C 一致性 :I 隔离性:事务并发会产生一些并发问题D 持久性:事务会永久保存在介质事务并发问题:脏读不可重复读幻读|虚度:隔离级别解决并发问题:1.读未提交2.读已提交4.可重复读8.串行化7.在项目一中action跳转html页面问题action中页面跳转到html时,使用redirect(重定向),因为页面路径使用的都是相对路径../../js/jquery-1.8.3.js 不是jsp中可以使用${page}之类的8.动态页面和静态页面获取方式问题动态: 链接-->xxx_list.action --> action --> service ...静态: 链接-->index.html --> 页面加载函数动态去action获取数据$.post --> ...9.将json对象显示出来,一般用在页面测试上//alert(JSON.stringify(formData))10.静态页面传参数role.htmllocation.href='role_add.html?id=63';role_add.htmlvar strId = location.search.split("=")[1]; //6311.在实体类有关联表时,进行hibernate保存,级联保存,分步保存级联保存1.需要在实体类上注解@ManyToMany(cascade={CascadeType.MERGE})//注意:大多数情况用CascadeType.MERGE就能达到级联跟新又不报错,用CascadeType.ALL时要斟酌下CascadeType.REMOVE.All属性会有remove,容易误删数据,12.实体类查询时,关联查询问题;需要关联查询@ManyToMany(fetch=FetchType.EAGER)//立即查询,防止懒加载不需要时@JSONField(serialize=false)////转json时不对它进行处理private Set<Menu> menus = new HashSet<Menu>(0);13.注解和注释注释: 给程序猿看的. // <!-- --> 之类的注解: 给计算机看的. @Action() @ManyToMany 之类的14.页面form表单转换成JSONvar formData = $("#roleForm").serializeJSON();15.实体类为什么要implements Serializable 实现序列化!如果这个对象只在我自己的内存里运行,那么是否序列化区别不大如果要远程调用,对象通过网络协议转成二进制,对象的存在形态发生了改变,就需要序列化,16.页面向后台传递参数2种js方式$.ajax()$.post()//提交数据默认都是字符串,需要转换17.前台页面json数据格式的操作var obj = $.parseJSON(data) //将data数据转json数据18.web.xml配置文件加载问题1.classpath//加载编译路径下2.classpath*//加载所有jar包编译19.在一次导入fastDFS虚拟机镜像,启动卡死!提示"我以移动该虚拟机" , "我以复制该虚拟机" ,我是点击复制虚拟机导致启动卡死,可能是因MAC地址 | 静态IP地址问题导致,

//----------框架使用---------SSH框架struts2+spring+hibernate 集成框架其中struts作为基础框架,负责MVC的分离。1.在模型部分(Action)控制业务跳转,2.利用hibernate对持久层提供支持,3.spring做管理,管理struts和hibernatespring作为容器 hibernate作为持久层操作数据库三个框架的整合://有2个相似的资源:spring第五天讲义.pdf   spring_day04.xmind(老版)//spring_day05.xmind  去看资源吧,步骤太多了1.导包40个hibernatestruts2springspring和hibernate:1.spring接管SessionFactory的创建需要为SessionFactory注入连接池2.spring和hibernate都有一个封装对象 HibernateTemplate 和 JdbcTemplate一样,HibernateTemplate也有一个HibernateDaoSupport//以后就继承HibernateDaoSupport 不继承JdbcDaoSupport ,同样注解不能用于注解3.配置文件中dao层注入SessionFactory,//数据库的操作交给hibernate中的SessionFactory中的seesion操作4.service层,需要配置事务,不配置测试会报错,事务默认属性read-only="true"只读,查找没问题,修改会报错spring和struts2方式1:依赖整合//这个不用方式2:spring完全负责action的创建
B/S架构与C/S架构的区别1.  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本. 2.  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高 
ORM框架 //持久层框架 对象关系映射(Object Relational Mapping,简称ORM)1.hibernate2.MyBatis //不完全是orm框架,它的sql语句需要程序自己写Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强SOA架构面向服务架构



//----------------账号密码-------------------
mysql,oracle数据库密码
mysqlroot rootoraclesystem chutianscott tigerheima68 heima68  --自己创建bos_68  bos_68     --项目1需求 


sts插件作用:代码提示//不咋的,而且老是有假错误提示.可以卸载了.默认是没有的







//前端 获取 | 提交 数据的几种方式:html+easyUI1.combobox 下拉列表框<input type="text" name="courierId" class="easyui-combobox" required="true" data-options="url:'../../courierAction_findByDeltagIsNull.action',textField:'name',valueField:'id'" />2.列表,表格$('#grid').datagrid( {.....});// 定义列var columns = 3.form表单数据 提交 回显1.提交使用action="url"2.回显监听按钮,异步获取数据,回显jqery1.异步提交$.post("url",{"json":json},function(){})




//生成随机数1.生成4位数的随机数,场景手机获取验证码String randomNumeric = RandomStringUtils.randomNumeric(4);2.生成32字符串,固定4个'-'String activeCode = UUID.randomUUID().toString();





//主流的三种Web服务交互方案SOAPSimple Object Access protocol 简单对象访问协议XMLXML-RPC : 标准通用标记语言下的一个子集RESTRepresentational State TransferRESTful:一种软件架构风格,设计风格而不是标准
//webService发布2中风格jaxws:service//自己用这种jaxrs:service//需要发布的接口和方法需要写很多注解,   不建议用,知道就行
























































原文地址:https://www.cnblogs.com/jiuya/p/9455264.html