学习笔记
第一章JAVA语法 ........................................................................................................................... 2
1.1sublist ................................................................................................................................... 2 第二章Oracle部分 .......................................................................................................................... 3
2.1创建新用户并授权! ......................................................................................................... 3 2.2删除用户及用户下的表 cascade级联 ............................................................................. 3 2.3导出/导入oracle数据文件 ................................................................................................ 3 2.4修改列定义语法 ................................................................................................................. 3 2.5 Oracle时间日期格式问题 ................................................................................................. 4 2.6创建表和插入测试数据 ..................................................................................................... 4 第三章CSS/javascript部分 ............................................................................................................. 5
3.1Input元素值属性为value没有S !oracle数据库的values值有S .................................. 5 3.2边框表格CSS样式 ............................................................................................................ 5 3.3禁止文本域拖动定义样式 ................................................................................................. 5 3.4带图片的按钮 ..................................................................................................................... 5 3.5Html5文本框占位符 placeholder ...................................................................................... 6 3.6是用data标签方便处理时间日期 .................................................................................... 6 3.7 跨行跨列 ............................................................................................................................ 6 3.8使用滤镜改变超链接图片颜色 ......................................................................................... 6 3.9CSS图片路径问题 .............................................................................................................. 6 3.10页面格式时间日期 ........................................................................................................... 6 第四章JSP/servlet部分 ................................................................................................................... 8
4.1JSEL导入页面标签库 ........................................................................................................ 8 4.2显示作用域值! ................................................................................................................. 8 4.2Dao增加数据不成功。数据库字段不匹配提示 .............................................................. 9 第五章框架部分 ............................................................................................................................... 9
第一节Hibernate ...................................................................................................................... 9
5.1.0Hibernate头部信息及结构 oracle驱动信息 ......................................................... 9 5.1.1Hibernate 关于表间关系 ....................................................................................... 10 5.1.2单向关联 一对多 .................................................................................................. 10 5.1.3set需要在一的一端的映射文件做配置 ............................................................... 10 5.1.4用户表xml配置文件 ............................................................................................ 10 5.1.5房屋信息po.java ................................................................................................... 11 5.1.6房屋信息xml文件................................................................................................ 11 5.1.7登陆逻辑判断问题 ................................................................................................ 12 5.1.8Ajax服务器返回信息处理类 ................................................................................ 13 5.1.9获取页面值的简单脚本 ........................................................................................ 14 5.1.10ajax页面设置onblur=\"checkUserid(this.value)\" ................................................ 16 第二节Springle ...................................................................................................................... 16
5.2.1Spring配置文件头部及结构 ................................................................................. 16 第三节Struts .......................................................................................................................... 17
5.3.1Struts配置文件及头部信息 ................................................................................... 17
1
AOP面向切口编程 ........................................................................................................ 17
第六章 工具使用 ........................................................................................................................... 20
6.1小贴士,eclipse大小写转换快捷键 ............................................................................... 20 Log4j的使用 .......................................................................................................................... 20 包结构显示改变 三角形展开,Package Presentation 两个自选项 ................................... 21 第七章Android 部分 .................................................................................................................... 22
Spinner下拉列表 ................................................................................................................... 22
第一章JAVA语法
1.1sublist
java.util.List中有一个subList方法,用来返回一个list的一部分的视图。
List 它返回原来list的从[fromIndex, toIndex)之间这一部分的视图,之所以说是视图,是因为实际上,返回的list是靠原来的list支持的。 所以,你对原来的list和返回的list做的“非结构性修改”(non-structural changes),都会影响到彼此对方。 所谓的“非结构性修改”,是指不涉及到list的大小改变的修改。相反,结构性修改,指改变了list大小的修改。 那么,如果涉及到结构性修改会怎么样呢? 如果发生结构性修改的是返回的子list,那么原来的list的大小也会发生变化; 而如果发生结构性修改的是原来的list(不包括由于返回的子list导致的改变),那么返回的子list语义上将会是undefined。在AbstractList(ArrayList的父类)中,undefined的具体表现形式是抛出一个ConcurrentModificationException。 因此,如果你在调用了sublist返回了子list之后,如果修改了原list的大小,那么之前产生的子list将会失效,变得不可使用。 tips: 如何删除一个list的某个区段,比如删除list的第2-5个元素? 方法是: 可以利用sublist的幕后还是原来的list的这个特性,比如 list.subList(from, to).clear(); 2 这样就可以了 示例代码: public static void main(String[] args) { List 3 第二章Oracle部分 SQL> conn sys/a as sysdba; SQL> create user username identified by \"123\"; User created SQL> grant connect ,resource to username; Grant succeeded jdbc:oracle:thin:@127.0.0.1:1521:orcl 2.1创建新用户并授权! 2.2删除用户及用户下的表 cascade级联 SQL> drop user mytieba cascade; User dropped 2.3导出/导入oracle数据文件 导出数据文件 DOS下运行 exp scott/tiger@orcl file=d://aa owner=scott exp scott/tiger@orcl(数据库的名字) file=d://aa owner=scott(按用户方式导出) 导入 为了防止数据覆盖,新建一个用户 imp maobo/11@orcl file=d://dd.dmp full=y 2.4修改列定义语法 4 2.5 Oracle时间日期格式问题 时间日期 insert into emp(eno ,hiredate) values(1,日-月-年+); values(2,'23-6月-14'); 使用日期的默认格式 使用to_date select to_date('2014-6-23 14:22:22','yyyy-mm-dd hh:mi:ss')fromdual; select to_date('2014-6-23 14:22:22','yyyy-mm-dd hh24:mi:ss')fromdual; to_date('要装换的字符串',‘转换的格式’) to_date('214/2/2/12:22:32' ,'yyyy/mm/dd hh24 mi:ss'); 显示的时候将date转换成字符串 to_char to_char(日期时间类型) select eno , to_char(hiredate,'yyyy-mm-dd hh:mi:ss') insert into personal(datetime) values(sysdate); 5 2.6创建表和插入测试数据 create table userinfo ( u_id number(9), u_account varchar2(20), u_pwd varchar2(20) ) drop table usefinfo; insert into userinfo values(1,'admin','admin'); 第三章CSS/javascript部分 3.1Input元素值属性为value没有S !oracle数据库的values值有S 3.2边框表格CSS样式 3.3禁止文本域拖动定义样式 textarea { resize: none;} 鼠标滑过变颜色 3.4带图片的按钮 3.5Html5文本框占位符 placeholder 3.6是用data标签方便处理时间日期 9 拖动条实现 第四章JSP/servlet部分 4.1JSEL导入页面标签库 <%@ taglib uri=\"http://java.sun.com/jsp/jstl/core\" prefix=\"c\" %> 10 4.2显示作用域值! 4.2Dao增加数据不成功。数据库字段不匹配提示 common.MyJdbcException: 索引中丢失 IN 或 OUT 参数:: 10 at dao.DownsrcDao.add(DownsrcDao.java:28) at dao.t 原来是缺少一个字段顺序不匹配也会引起问题! JSON 全称为:javaScript Object Notation 即javaScript对象符号,是轻量级的数据交换格式 添加插件包 第五章框架部分 Struts 和hibernate综合练习 租房系统 2014年8月18日03:01:42 11 搭建hibernate环境 手动建立DAO 报异常 # re: Exception in thread \"main\" org.hibernate.PropertyNotFoundException错误 哈哈,我昨天也遇到这个问题当时是uName,结果就报这个错了,后来才发现在这些属性的写法上也还要遵守一个规范才得行(不要使用首字母小写次字母大写的属性). 能进行一个表的增删改查添加多个后不能执行 报不能读取资源文件 Could not read mappings from resource 修改了列名属性,更改了数据库表名和列名相同的列。 仔仔细细检查了标间关系弄到现在2014年8月18日03:07:31终于解决 (不要使用首字母小写次字母大写的属性). 还报了 org.hibernate.MappingException 究其原因应该是列名没有对应没有使用javabean规范命名采用了首字母小写次字母大写的方式 第一节Hibernate 5.1.0Hibernate头部信息及结构 oracle驱动信息 12 13 14 15 String hql = \"from UserInfo where user_name=:n and user_pwd=:p\"; Session session = utils.HibernateSessionFactory.getSession(); Query q = session.createQuery(hql); q.setString(\"n\ q.setString(\"p\ System.out.println(\"设置了参数\"); Object user = q.uniqueResult(); System.out.println(\"执行了参数\"); //System.out.println(\"登陆的用户名为:\"+user.getUser_name()+\"密码为:\"+user.getUser_pwd()); if(user!=null) { System.out.println(\"找到记录登陆成功\"); fg=true; } else { System.out.println(\"没有找到匹配记录!登陆失败\"); fg=false; } return fg; } 2014年8月19日20:15:41 一天都在做登陆验证终于做好了 遇到的问题 好多东西不知道 传值还不怎么会 做ajax的action不是String签名。是void 5.1.8Ajax服务器返回信息处理类 package action; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.hibernate.Query; import org.hibernate.Session; import po.UserInfo; 16 import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import dao.UserInfoDao; public class Ajax implements Action, ServletRequestAware, ServletResponseAware { String uname; private HttpServletRequest request; private HttpServletResponse response; PrintWriter out; @Override public String execute() throws Exception { // TODO Auto-generated method stub return null; } //这里两个赋值语句没写搞了好久!从这里得到response 实现了ServletRequestAware, ServletResponseAware接口重写的方法 @Override public void setServletResponse(HttpServletResponse arg0) { // TODO Auto-generated method stub this.response = arg0; } @Override public void setServletRequest(HttpServletRequest arg0) { // TODO Auto-generated method stub this.request = arg0; } public void checkid() { // ServletActionContext.getRequest().getParameter(\"uname\"); System.out.println(\"检查用户名\" + uname); Session session = utils.HibernateSessionFactory.getSession(); //类似于JDBC的打问号设置参数 String par = uname; Query query = session.createQuery(\"from UserInfo where user_name=?\"); query.setString(0, par); List 17 } if (list.size() >= 1) { // 存在用户不能登陆 System.out.println(\"action提示存在记录 用户名不可用\"); out.print(\"true\");//返回信息给页面 } else { out.print(\"false\"); } } //uname属性的get 和set方法!这个之前没生产 获取不到值! public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } } 5.1.9获取页面值的简单脚本 ript lang=\"javascript\"> function pass(){ var pass = false; if( document.myForm.uname.value ==\"\" ){ alert(\"用户名不能为空\"); pass= false; }else if(document.myForm.upass.value == \"\"){ alert(\"密码不能为空\"); pass = false; } else if(document.myForm.upass.value != document.myForm.upass1.value){ alert(\"两次密码不一样\"); pass = false; } else { pass = true; } return pass; } sript lang=\"javascript\"> function checkpwd() { 18 var pwd1=document.myForm.upass.value; var pwd2=document.myForm.upass1.value if(pwd1!=pwd2) { alert(\"确认的密码不一致\"); } } Ajax 页面脚本 19 5.1.10ajax页面设置onblur=\"checkUserid(this.value)\" 发布信息时值从页面上上获取存到数据库!不知道怎么封装!信息的主外键关系 不知道怎么体现存储! 已经解决 第二节Springle 2014年8月21日21:42:33 在练习spring时报错 Invalid property 'Properties' of bean class [dao.Car]: Bean property 'Proper....Hibernate运行报Did you mean 'properties'? 错误原因 在建立工程加入spring支持的时候默认的建立了[applicationContext.xml]文件,我看老师的代码有个beans.xml文件原来这个beans.xml是老师在建立的时候由[applicationContext.xml]改名而来的!我自己又建立了一个beans.xml,等于存在两个配置文件。所以报错!修改后测试成功可以读取属性! 5.2.1Spring配置文件头部及结构 20 5.2.2spring配置文件无提示解决办法 由于spring的schema文件位于网络上,如果机器不能连接到网络,那么在编写配置信息时候就无法出现提示信息,解决方法有两种: 1。让机器上网,eclipse会自动从网络上下载schema文件并缓存在硬盘上。 2。手动添加schema文件,方法如下: windwos->preferences->myeclipse->files and editors->xml->xmlcatalog 点\"add\在出现的窗口中的Key Type中选择URI,在location中选\"File system\然后在spring解压目录的dist/resources目录中选择spring-beans-2.5.xsd,回到设置窗口的时候不要急着关闭窗口,应把窗口中的Key Type改为Schema location,Key改为http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 5.2.3三种实例化bean方法 1.使用类构造器实例化 21 } Bean交给spring管理默认是单实例 第三节Struts 5.3.1Struts配置文件及头部信息 AOP面向切口编程 获取页面值 String uname = ServletActionContext.getRequest().getParameter(\"uname\"); String upwd = ServletActionContext.getRequest().getParameter(\"upwd\"); System.out.println(\"页面输入的uname的值\"+uname); System.out.println(\"页面输入的upwd的值\"+upwd); Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer at org.hibernate.proxy.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:116) ... 108 more [Mao] 2014-09-03 12:02:58,996 --> Not binding factory to JNDI, no JNDI name configured [Mao] 2014-09-03 12:02:59,165 --> line 1:79: unexpected token: = [Mao] 2014-09-03 12:02:59,165 --> line 1:103: unexpected token: = Struts Problem Report ----------------------------------------------------- Struts has detected an unhandled exception: Messages: unexpected token: = 22 unexpected token: = near line 1, column 79 [from com.csuinfosoft.crm.basedata.pojo.SalChance e where e.chcCustName like ='2' and e.chcTitle like='2' and e.chcLinkman='2'] File: org/hibernate/hql/antlr/HqlBaseParser.java Line number: 3,207 unexpected 生词本 [英] [ˌʌnɪkˌspektɪd][美] [ˌʌnɪkˌspektɪd] adj.想不到的,料不到的;意外的;忽然的;突然的 token 生词本 [英] [ˌtəukən][美] [ˌtokən] n.代币;象征;记号 adj.作为对某事的保证的;象征性的;作为标志的 vt.预兆:预示或象征,预兆 public class SalChanceDao extends ParentDao 23 Logger log = Logger.getLogger(SalChanceDao.class); public List 第六章 工具使用 6.1小贴士,eclipse大小写转换快捷键 Ctrl + Shift + X 将全部小写转换成大写Ctrl + Shift + Y 将全部大写转换成小写。 6.2通过已有的类抽取接口 24 类文件上单击右键选择[refactor]—>[extract interfact] Log4j的使用 搞了好久终于搞定: 关键: 1.加入包支持【log4j-1.2.17.jar】 2.配置文件 #log4j.rootLogger=CONSOLE,FILE log4j.rootLogger=all,CONSOLE,FILE log4j.addivity.org.apache=true log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=debug log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=[MaoBo] %d - %c -%-4r [%t] %-5p %c %x --> %m%n 测试类 package po; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class loge { static Logger logger = Logger.getLogger(loge.class); public static void main(String[] args) { logger.info(\" info信息 \"); logger.warn(\"warn:信息\"); logger.debug(\"debug信息!不容易啊!\"); logger.fatal(\"fatal信息\"); logger.error(\"error信息\"); } } 输出信息 log4j:WARN Error initializing output writer. log4j:WARN Unsupported encoding? log4j:ERROR Could not find value for key log4j.appender.FILE log4j:ERROR Could not instantiate appender named \"FILE\". [MaoBo] 2014-08-25 02:02:09,016 - po.loge -1 [main] INFO po.loge --> info信息 25 [MaoBo] 2014-08-25 02:02:09,018 - po.loge -3 [main] WARN po.loge --> warn:信息 [MaoBo] 2014-08-25 02:02:09,019 - po.loge -4 [main] DEBUG po.loge --> debug信息!不容易啊! [MaoBo] 2014-08-25 02:02:09,019 - po.loge -4 [main] FATAL po.loge --> fatal信息 [MaoBo] 2014-08-25 02:02:09,019 - po.loge -4 [main] ERROR po.loge --> error信息 包结构显示改变 三角形展开,Package Presentation 两个自选项 Date标签获取时间 26 2014年9月25日00:34:29 复习第三阶段 框架知识 struts action 新建工程 SSH_review 框架复习。写了一个TEST测试 struts 配置了Struts 的xml文件 加入了包支持 不成功 修复 web.xml文件的配置 不成功 修复包命名空间 第七章Android 部分 Spinner下拉列表 Imagebutton 去边框 android:padding=\"0dp\" android:adjustViewBounds=\"true\" 28 因篇幅问题不能全部显示,请点此查看更多更全内容成功机率 成功机率
编号 账号 密码 编辑 ${d.u_id} ${d.name} ${d.pwd} 修改 用户名: 一天做了一个ajax的列子!搞到现在八点多!