韩顺平struts笔记

合集下载

学习韩顺平之hibernate笔记

学习韩顺平之hibernate笔记

第一讲:Hibernate是什么?1、它是一个框架2、是一个orm框架(其它的apache ojb,ibatis,toplink)a)Orm(object relation mapping)对象关系映射框架b)O object-->业务层c)R relation-->关系数据库d)M mapping-->对象关系映射文件3、处于我们项目的持久层位置4、对JDBC的轻量级封装Hibernate的原理:1、相当于是一个翻译,业务逻辑层--->持久层-->数据库,所以业务逻辑层就不用关心用的是什么数据库,而直接和持久层打交道,持久层将从业务逻辑层得到的语句(并进行一系列优化)翻译成数据库的语句,实现一些功能。

这样当数据库变更时,我们就不用改动业务逻辑的一些sql语句。

2、每一层的耦合性减小,业务层和数据库层没有关系,可以达到轻松改变3、Hibernate可以用在j2se中4、Struts是web框架为什么有hibernate:以前我们换数据库需要重写SQL语句,和一些其它的语句,麻烦,第二讲:1、开发时一般先开发DB,在用工具生成mapping和domain2、Domain对象的名称首字母要大写3、Pojo (plain ordinary java object) 简单的JA V A对象和一张表对应(应该有一个键属性,有GET,SET方法,有一个无参的构造函数)4、对象关系映射文件:作用是用于指定domain对象和表的映射关系,取名:domain 对象。

Hbm.xml。

一般我们放在和domain对象同一个文件夹下(一个包下)5、创建一个sequencei.Create sequence emp_seqStart with 1Increment by 1Minvalue 1NomaxvalueNocycleNocache6、<hibernate-mapping><class name="Employee" table="employee" ><id name="id" column="id" type="ng.Integer"><!-- 该元素用于指定主健值生成策略hilo native increment sequence uuid --><generator class="sequence"><!-- 指定是哪一个sequence --><param name="sequence">emp_seq</param></generator></id><!-- 定义的属性--><property name="name" type="ng.String"><column name="name" not-null="false"></column></property><property name="email" type="ng.String"><column name="email" not-null="false"></column></property><property name="hiredate" type="java.util.date"><column name="hiredate" not-null="false"></column></property></class></hibernate-mapping>7、创建hibernate.cfg.xml并且配置<hibernate-configuration><session-factory><propertyname="connection.driver_class">oracle.jdbc.driver.OracleDriver</p roperty><property name="ername">scott</property><property name="connection.password">tiger</property> <propertyname="connection.utl">jdbc:oracle:thin:@localhost:1521:orcl</prop erty><!-- 明确告诉hibernate连接的是哪类数据库 --><propertyname="dialect">org.hibernate.dialect.OracleDialect</property> <!-- 用于加载映射文件 --><mapping resource="com/yxl/domain/Employee.hbm.xml"/> </session-factory></hibernate-configuration>8、运用hibernatea)创建cfg对象,用于读取hibernate.cfg.xml的内容i.Configuration cfg = new Configuration.configure();b)创建sessionFactory这是一个会话工厂,是一个重量级的对象i.SessionFactory sf = configuration.buildSessionFactory();c)创建Session 相当于jdbci.Session session = sf.openSession();d)创建transactioni.Transaction transaction = session....();第四讲:一个数据库对应一个SessionFactory,它是单例的Pojo应该序列化,目的是唯一标识该对象,同时可以在网络上传输Hibernate 把对象分成三个状态:瞬时态,持久态,第五讲:<property name="show_sql">true</property>这是打印SQl语句<property name="hbm2ddl.auto">create</property>这是自动创建表的配置(如果有表则删除后重新创建一个表),也可以有update 这是更新表(如果以前的表没有改变结构,则更新值,如果没有表则创建)Mysql中没有sequence 用increment代替第六讲:编程格式:Try {......mit();} catch(Exception e) {e.printStackTrace();If(transaction!=null) {Transation.rollback();}} finally{If(session!=null&&session.isopen()) {Session.close();}}如果要自己定义主键号,则hbm.xml中的generator的策略用assigned第七讲:当configuration.configure(configNume) 这里的confignume有包名的话要写"com/yxl/config/hibernate.cfg.xml"1、Configuration 类A:读取hibernate.cfg.xmlB:管理对象关系映射文件C:加载hibernamte的驱动,url,用户D:管理hibernate配置信息注意事项:当配置时cfg.xml有包,则得把包名写在configure方法里2、..hbm.xml是一个表和对象的映射文件,一般和对象放在一个包下第八讲:1、SessionFactory :会话工厂:是一个interface作用:A:可以缓存sql语句和数据(称为session缓存)B:是一个重量级的类,比较吃内存,所以一个数据库对应一个SessionfacC:重点:用SessionFactory得到session的两个方法:1.openSession():是获取一个新的Session();2.getcurrentSession() 获取和当前线程绑定的session,就是在同一个线程获得的session是同一个。

javascript学习笔记-韩顺平

javascript学习笔记-韩顺平

第三讲∙Js的数据类型:∙基本数据类型∙数值类型∙字符串类型∙布尔类型通过typeof可以看到变量的具体数据类型举例:<html><head><title> New Document </title><script language="javascript">var vi="abc";var v2=890;window.alert("v1是"+typeof v1);window.alert("v2是"+typeof v2);vi=456; //体现js是动态语言:即数据类型可以任意变化window.alert("v1是"+typeof v1);//体现js是动态语言</script></head><body></body></html>∙复合数据类型∙数组∙对象∙特殊数据类型∙Null 即:var=null∙Undefined即:如下代码<script language="javascript">window.alert(tt ); //直接报错:未定义var tt; //未给值</script>∙Js定义变量,初始化,赋值∙定义变量:即var=a∙初始化:即在定义变量时就给值∙赋值:即:比如你先定义一个变量 var=tt ,然后再给值:tt=780;∙js数据类型转换:∙自动转换例子:var=123; //a是数值a=”hello” //a的类型是string∙强制转换例子:字符串转换成数字Var a="123” ;a=parseInt(a); //使用系统数强制转换Var b=90 ; //b是numberb=b+””, //b就是string∙运算符∙+ — * / %∙%(取摸:即两个数相除的余数) 强调:取模主要用于整数之间取模例子:编写一个程序,判断两个数是否能够整除<script language="javascript">var a=90;var b=8;if(a%b==0){window.alert("能整除");}else{window.alert("不能整除");}</script>∙++,运算符a++ = a=a+1a-- = b=b-1++a 表示先把自己加1再赋值--a 表示先把自己减1再赋值例子:Var a=56;Var b=++a; //b=++a等同于[a=a+1;b=a] b=a++等同于[b=a; a=a+1;] Window.alert(b);Window.alert(a);∙--运算符∙Var a=56;∙Var b=--a; //b=--a等同于[a=a-1;b=a] b=a--等同于[b=a; a=a-1;]∙Window.alert(b);∙Window.alert(a);例子:编写一个程序,判断两个数是否能够整除<script language="javascript">var a=90;var b=8;if(a%b==0){window.alert("能整除");}else{window.alert("不能整除");}</script>∙++,运算符a++ = a=a+1a-- = b=b-1++a 表示先把自己加1再赋值--a 表示先把自己减1再赋值例子:Var a=56;Var b=++a; //b=++a等同于[a=a+1;b=a] b=a++等同于[b=a; a=a+1;] Window.alert(b);Window.alert(a);∙--运算符∙Var a=56;∙Var b=--a; //b=--a等同于[a=a-1;b=a] b=a--等同于[b=a; a=a-1;]∙Window.alert(b);∙Window.alert(a);错误案例:更正:输出:myfuns.js代码:调用myfuns.js案例一:Js文件:调用:案例2:Js文件:调用:abc(5);输出:3 3 4Js文件:调用:数组在内存中的存在形式:内存数据调用案例:输出:900内存数据分析:输出:35 90 900内存数据调用分析:输出: hello world abc 顺平输出: h e l l o w o r l d a b c 顺平输出: hello world输出:0=451=902=0gg=9000二维数组的遍历:输出:shunping 123 4.5a b c优化排序:输出:输出:找到下标为4数组转置:输出:。

韩顺平JS笔记第一部

韩顺平JS笔记第一部

JS笔记Javascript的基本介绍∙JS是用于WEB开发的脚本语言:∙脚本语言是什么:∙脚本语言往往不能独立使用,它和HTML/JSP/PHP/配合使用∙脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环)∙脚本语言实际上是解释性语言(即在执行时直接对源码进行执行),编译性语言效率会更高一些∙Java程序.java→.class→jvm ,js→浏览器(js引擎来解释执行)∙Js主要在客户端(浏览器)执行∙因为js是由浏览器来执行的,因此这里有个问题,不同类型的浏览器可能对js的支持不一样。

∙开发工具的选择:记事本 myeclipse<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""/TR/html4/loose.dtd"><html><head><script language="javascript">function test(){window.alert("hello world!");}</script><title> New Document </title></head><body><input type="button" onclick="test()" value="点击一下吧"/></body></html>案例:1需求:打开网页后,显示hello !<html><head><!--js代码是放在head标签间,但实际上也可以放在别的位置--><script language="javascript">window.alert("hello");</script></head><body></body></html>问题:∙js的位置可以随意放∙js必须使用 <script language="javascript"> 代码</script>∙在一个html文件中(JSP/PHP/)可以出现多对(script)片段,浏览器会按照先后顺序依次执行案例2:∙如何定义变量:∙如何运算:<html><head><title> New Document </title></head><body><!----js代码是放在head标签间,但实际上也可以放在别的位置--><script language="javascript">//js中变量的定义(js中变量用var表示,无论什么类型)var num1=1;var num2=60;var result=num1+num2;window.alert("结果是"+result); //alert函数 window.alert表示弹出一个对话框 </script></body></html>∙Js的变量类型是怎样决定的1) Js是弱数据类型语言,即:在定义变量时候,统一使用var表示,甚至可以去掉var这个关键字2) Js中的变量的数据是由js引擎决定的v ar name=”shunping”; //name是字符串var kk=2 //kk是数字name=234; //这时name自动变成数∙Js的命名规范(函数/变量):1) 使用大小写字母,数字,$可以命名2) 不能以数字打头3) 不能使用js保留字和关键字(即java里的关键字)4) 区分大小写5) 单行注释://6) 多行注释:/*…….*/Js的数据类型:基本数据类型3种1数值类型特殊数值:1)NaN 不是数字var a=”abc”window.alert(parseInt(a));2)Infinity 无穷大window.alert(6/0);3)isNaN() 如果是数字的话返回false4)isFinite() 如果是无穷大返回false2.字符串类型可以用双引号也可以用单引号,单个字符也可以看成字符串,有特殊字符用\转义window.alert("asada\"r"); 输出asada”r3.布尔类型true false通过typeof可以看到变量的具体数据类型举例:<html><head><script language="javascript">var num1=123;var num2="abcd";window.alert("num1是"+typeof num1);window.alert("num2是"+typeof num2);var num1=false //体现js是动态语言:即数据类型可以任意变化window.alert("num1是"+typeof num1); //体现js是动态语言</script></head><body></body></html>∙复合数据类型∙数组∙对象∙特殊数据类型∙Null 即:var a=null∙Undefine即:如下代码<script language="javascript">window.alert(tt ); //直接报错:未定义∙var tt; //不报错未给值输出Undefine</script>∙Js定义变量,初始化,赋值1)定义变量:即var a2)初始化:即在定义变量时就给值3)赋值:即:比如你先定义一个变量 var tt ,然后再给值:tt=780;∙js数据类型转换:1)自动转换例子:var a=123; //a是数值a=”hello” //a的类型是string2)强制转换例子:字符串转换成数字var a="123” ;a=parseInt(a); //使用系统函数强制转换var b=90 ; //b是numberb=b+””, //b就是string∙运算符+ — * / %%(取摸:即两个数相除的余数) 强调:取模主要用于整数之间取模例子:编写一个程序,判断两个数是否能够整除<script language="javascript">var a=90;var b=8;if(a%b==0){window.alert("能整除");}else{window.alert("不能整除");}</script>∙++,运算符a++ --> a=a+1b-- = b=b-1++a 表示先把自己加1再赋值--a 表示先把自己减1再赋值例子:var a=56;var b=++a;window.alert(b); b=57window.alert(a); a=57--运算符var a=56;var b=--a;window.alert(b); b=55window.alert(a); a=55window.prompt(); prompt() 方法用于显示可提示用户进行输入的对话框。

韩顺平Spring笔记

韩顺平Spring笔记

spring的快速入门案例①spring是什么struts 是 web 框架 (jsp/action/actionfrom)hibernate 是 orm框架,处于持久层.spring 是容器框架,用于配置bean,并维护bean之间关系的框架☞spring中有一个非常概念: bean (是java中的任何一种对象javabean/service/action/数据源./dao, ioc(控制反转inverse of control) di( dependency injection 依赖注入)☞画一个框架图快速入门开发一个spring项目.1.引入spring的开发包(最小配置该包把常用的jar都包括, 还要写日志包2.创建spring的一个核心文件 , [hibernate有核心 struts核心文件 ], 该文件一般放在src目录下,该文件中引入 xsd文件:可以从给出的案例中拷贝一份.3.配置bean<!-- 在容器文件中配置bean(service/dao/domain/action/数据源) --><!-- bean元素的作用是,当我们的spring框架加载时候,spring就会自动的创建一个bean对象,并放入内存UserService userSerivce=new UserService();("韩顺平");--><bean id="userService" class=""><!-- 这里就体现出注入的概念. --><property name="name"><value>韩顺平</value></property></bean>4.在中,我们怎么使用到spring 的applicationContext对象(容器对象)ApplicationContext ac=new ClassPathXmlApplicationContext("");UserService us=(UserService) ("userService");();5.细节讨论传统的方法和使用spring的方法5.1使用spring ,没有new 对象,我们把创建对象的任务交给spring框架5.2spring的运行原理图:我们再看spring对上面案例总结:spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可.ioc是什么答:ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器,而程序本身不再维护.DI是什么答: di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术☞学习框架,最重要的就是学习各个配置.把Applicationcontext做成一个单例的.上机练习: 把我写的代码走一遍.spring开发提倡接口编程,配合di技术可以层与层的解耦举例说明:现在我们体验一下spring的di配合接口编程的,完成一个字母大小写转换的案例:思路:1.创建一个接口 ChangeLetter2.两个类实现接口3.把对象配置到spring容器中4.使用通过上面的案例,我们可以初步体会到di配合接口编程,的确可以减少层(web层) 和业务层的耦合度.思考题:接口ValidateUser有一个方法:check()有两个类CheckUser1 implements ValidateUser{checkBeanFactory factory = new XmlBeanFactory(new ClassPathResource("com/hsp/ioc/"));("student");结论:1.如果使用ApplicationContext ,则配置的bean如果是 singlton不管你用不用,都被实例化.(好处就是可以预先加载,缺点就是耗内存)2.如果是 BeanFactory ,则当你获取beanfacotry时候,配置的bean不会被马上实例化,当你使用的时候,才被实例(好处节约内存,缺点就是速度)3.规定: 一般没有特殊要求,应当使用ApplicatioContext完成(90%)bean 的 scope的细节入门案例:三种获取ApplicationContext 对象引用的方法1.ClassPathXmlApplicationContext -> 通过类路径2.FileSystemXmlApplicationContext -> 通过文件路径举例:ApplicationContext ac=new FileSystemXmlApplicationContext("文件路径 / ");3.XmlWebApplicationContextbean的生命周期为什么总是一个生命周期当做一个重点Servlet -> servlet生命周期 init() destory()java对象生命周期.往往笔试,面试总喜欢问生命周期的问题①实例化(当我们的程序加载文件),把我们的bean(前提是scope=singleton)实例化到内存②调用set方法设置属性③如果你实现了bean名字关注接口(BeanNameAware) 则,可以通过setBeanName获取id号④如果你实现了 bean工厂关注接口,(BeanFactoryAware),则可以获取BeanFactory⑤如果你实现了 ApplicationContextAware接口,则调用方法⑥如果bean 和一个后置处理器关联,则会自动去调用ObjectpostProcessAfterInitialization方法⑦使用我们的bean11. 容器关闭12. 可以通过实现DisposableBean 接口来调用方法 destory13. 可以在<bean destory-method=”fun1”/> 调用定制的销毁方法小结: 我们实际开发中往往,没有用的这么的过程,常见的是:1->2->6->10->9->11上机练习: 把使用每个bean的时间记录到一个文件 ,内容是xxbean. 使用时间是 : 1999-11-11 11:11:11问题:通过BeanFactory来获取bean对象,bean的生命周期是否和Applicationcontext 是一样吗不是一样的,bean是工厂中创建的生命周期会简单一些:配置bean的细节① scope 的说明:☞尽量使用 scope=”singleton” ,不要使用prototype,因为这样对我们的性能影响较大.②如何给集合类型注入值.java中主要的集合有几种: map set list / 数组Department类:package class Department {private String name;private String [] empName;private List<Employee> empList;private Set<Employee> empsets;private Map<String,Employee> empMaps;public Set<Employee> getEmpsets() {return empsets;}public void setEmpsets(Set<Employee> empsets) { = empsets;}public String[] getEmpName() {return empName;}public void setEmpName(String[] empName) {= empName;}public String getName() {return name;}public void setName(String name) {= name;}public List<Employee> getEmpList() {return empList;}public void setEmpList(List<Employee> empList) {= empList;}public Map<String, Employee> getEmpMaps() {return empMaps;}public void setEmpMaps(Map<String, Employee> empMaps) { = empMaps;}}..Foo”><property name=”属性”><!—第一方法引用--><ref bean=’bean对象名’/><!—内部bean--><bean><properyt></property></bean></property></bean>③继承配置public class Studentpublic class Gradate extends Student在文件中体现配置<!-- 配置一个学生对象 --><bean id="student" class=""><property name="name" value="顺平" /><property name="age" value="30"/></bean><!-- 配置Grdate对象 --><bean id="grdate" parent="student" class=""><!-- 如果自己配置属性name,age,则会替换从父对象继承的数据 --><property name="name" value="小明"/><property name="degree" value="学士"/></bean>思考: 目前我们都是通过set方式给bean注入值,spring还提供其它的方式注入值,比如通过构造函数注入值!通过构造函数注入值关键代码:<!-- 配置一个雇员对象 --><bean id="employee" class=""><!-- 通过构造函数来注入属性值 --><constructor-arg index="0" type="" value="大明" /></bean>自动装配bean的属性值(1)byName的用法:<!-- 配置一个master对象 --><bean id="master" class="" autowire="byName"> <property name="name"><value>顺平</value></property></bean><!-- 配置dog对象 --><bean id="dog" class=""><property name="name" value="小黄"/><property name="age" value="3"/></bean>原理图:(2)byType: byType:寻找和属性类型相同的bean,找不到,装不上,找到多个抛异常。

韩顺平老师java视频课程笔记1-13课

韩顺平老师java视频课程笔记1-13课

JA V A学习记录第一讲//pulic:表示这个类是公共的,一个java文件中只能有一个public类//class :表示这是一个类//Hello:类名(公共类的类名必须和文件名一致)public class Hello{//一个主函数,相当于是程序的入口public static void main (String args[]){/* 多行注释*///System.out.println("hello");int a=10;// 定义一个变量,变量名位a,它的值为10// int为4个字节,long为8个字节int b=20;int result=a+b//输出结果system.out.println("结果是"+result)}}第二讲JA V A基本数据类型四大类型整数类型小数(浮点)类型基本数据类型布尔类型字符类型1.整数类型整数类型表示一个整数,常用的整数类型有:byte, short, int, long范围:byte 一个字节-128 – 127short 两个字节-32768 - 32767int 四个字节-2147483648 – 2147483647long 八个字节一个字节= 八个byte例:一个byte0 0 0 0 0 0 0 1 最高位为符号位0表示正数,1表示负数1 1 1 1 1 1 1 1 – 0 1 1 1 1 1 1 12.小数(浮点)类型常用类型有float, double3.布尔类型可以表示:真或者假,类型是boolean4.字符类型表示单个字符,字符类型是char,chai是两个字节,可以存放汉字。

多个字符称为字符串,在java中用String表示,String属于类。

.在java中,对char进行运算的时候,直接当做ascii码对应的整数对待。

(汉字则是unic码)定义变量int a初始化变量int a = 45给变量赋值int a ; a =45基本数据类型转换int a = 1.2 错误会损失精度double a = 4 正确数据类型可以自动从低精度向高精度转换。

传智 韩顺平 html+css+javascrtpt 课程笔记2(吐血整理)

传智 韩顺平 html+css+javascrtpt 课程笔记2(吐血整理)

javascript 2===============================================================================1.js面向/基于对象编程-----类(原型对象)与对象(实例)(1)js面向/基于对象特征介绍Javascript是一种基于对象(object-based)的动态脚本语言,你遇到的所有东西都是对象。

js的面向对象技术广泛应用于AJAX等优秀框架。

☞特别说明:基于对象也好,面向对象也好,实际上都是以对象的概念来编写程序。

从本质上并无区别,所以这两个概念在课程中是一样的。

因为javascript中没有class(类),所以有人把类也称为原型对象。

其实这两个概念在编程中发挥的作用都看成一个意思。

(2)为什么需要原型对象(类)?例子:张老太养了两只猫猫:一只猫叫小白,今年3岁,白色;还有一只叫小花,今年5岁,花色。

(3)类(原型对象)————如何自定义类(原型对象)和对象创建类的方式有5中方法:工厂方法——使用new Object创建对象并添加相关属性使用构造函数来定义类(原型对象):上面的Cat类就是用此种方法基本语法:function 类名/原型对象名(){}创建对象:var 对象名=new 类名/原型对象名();使用prototype构造函数及原型混合方式动态原型方式2.如何判断一个对象实例是不是Cat类型?✧if(a instanceof Cat){window.alert(“a是Cat的实例”)}✧if(a.constructor== Cat){window.alert(“a是Cat的实例”)}3.带var和不带var的区别var abc=89;function test(){abc=900;//在函数里,如果不带var,则表示使用全局的abc变量89。

//如果带var,则表示在函数中,定义一个新的私有的abc变量。

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

java平台1、J2SE java开发平台标准版2、J2EE java开发平台企业版java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。

不同系统上要安装对应的虚拟机才可以运行java程序开发步骤1、编写源文件 (.java)2、编译源文件为类文件(.class)可用J2SE或J2EE编译3、在虚拟机上运行注释//单行注释/* */多行注释java内容介绍java编程可以分成三个方向:1、java se (j2se)桌面开发 java中的基础中的基础2、java ee (j2ee)web开发3、java me (j2me)手机开发java se课程介绍java面向对象编程(基础)java图开界面开发java数据库编程java文件io流编程java网络编程java多线程编程java ee基础1java面向对象编程--数据库编程-->java sejava 基础2html--css--javascript-->div+cssjava ee中级部分Servlet--Jsp-->mvc模式java ee高级部分Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架java之父gosling1990 sun启动绿色计划1 | 4451992 创建oak语言-->java1994 gosling参加硅谷大会演示java功能,震惊世界1995 sun正式发布java第一个版本,目前最新是jdk7.0java开发工具记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse如何选择开发工具先选择记事本,对java有一定了解后再使用eclipse高级开发工具为什么呢?1、更深刻的理解java技术,培养代码感2、有利于公司面试java语言的特点1、java语言是简单的2、java语言是面向对象的3、java语言是跨平台(操作系统)的[即一次编译,到处运行]4、java是高性能的java第一个程序hello.java运行java程序要安装和配置jdkjdk是什么?1、jdk全称java dvevlopment kit中文java开发工具包2、jdk是sun公司开发的3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右)4、可以在下载**开发安装jdk,用户执行需要安装jre配置JDK添加环境变量即可windows下配置jdk在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。

韩顺平servlet笔记2完整版

韩顺平servlet笔记2完整版
制子 4k ② cookie 生命周期的再说明: 1. cookie 默认生命周期是会话级别 2. 通过 setMaxAge() 可以设置生命周期 setMaxAge(正数) , 即多少秒后该 cookie 失效 setMaxAge(0) ,删除该 cookie setMaxAge(负数), 相当于该 cookie 生命周期是会话级别.
out.println("name ="+val); session 为什么有? 问题 1: 如何实现在不同的页面,可以去查看信息(比如说购物车),同时还要实现不同的用 户看到的信息是自己. session 工作原理图
session 的生命周期是 30 分钟
session 小结:
① session 是存在服务器的内存中 ② 一个用户浏览器,独享一个 session 域对象 ③ session 中的属性的默认生命周期是 30min ,你可以通过 web.xml 来修改 ④ 3 种 session 生命周期的设置 (1)一个地方是 tomcat/conf/web.xml
③ cookie 存放中文,怎么处理 存放: String val=.URLEncoder.encode("顺平","utf-8");
Cookie cookie=new Cookie("name",val); 取出: String val=.URLDecoder.decode(cookie.getValue(), "utf-8");
mycookie.setMaxAge(7*3600*24);//保存一周
response.addCookie(mycookie);
b=true;
break;

韩顺平servlet与jsp 笔记与心得

韩顺平servlet与jsp 笔记与心得

∙韩顺平 servlet与jsp 笔记与心得∙∙∙∙Java EE概述:Java EE是一个开放的平台,它包括的技术很多,主要包括十三种核心技术(java EE就是十三种技术的总称)。

建立一个整全的概念。

J2ee的十三种技术(规范)1.java数据库连接(JDBC)。

——JDBC定义了4种不同的驱动:1.JDBC-ODBC桥,2.JDBC-native驱动桥3,JDBC-network桥4.纯java驱动。

2.Java命名和目录接口(JNDI)(它是为了对高级网络应用开发中的使用的目录基础结构的访问。

)。

3.企业Java Beans(Enterprise Java Beans,EJB)(它提供了一个架构来开发和配置到客户端的分布式商业逻辑,因此可以明显减少开发扩展性、高度复杂企业应用的难度。

)。

4.JavaServer Pages(JSPs)。

5.Java servlets(servlets提供的功能大部分与JSP相同,JSP中大部分是HTML代码,其中只有少量的Java代码,而servlets则相反,它完全使用Java编写,并且产生HTML代码。

)。

6.Java IDL/CORBA(用得不多)。

7.Java 事务体系(JTA)/Java事务服务(JTS)(用得不多)。

8.JavaMail和JavaBenas激活架构(JavaBeans ActivationFramework,JAF)。

(JavaMail是一个用来访问邮件服务的API)。

9.Java信使服务(Java Messaging Service,JMS)(JMS是一个用来和面向信息的中层通信的API)。

10.扩展标记语言(Extensible Markup Language,XML)。

11.12. 13当前流行的及格框架struts+hibernate+spring(ssh).Java ee的开发环境(eclipse)Eclipse是一个开源的、可扩展的集成开发环境,已经成为目前最流行的j2ee 开发工具。

韩顺平_轻松搞定网页设计html+(DIV+CSS)+javascript视频笔记(全)

韩顺平_轻松搞定网页设计html+(DIV+CSS)+javascript视频笔记(全)

韩顺平html第二讲<html><head><title>第一个网页</title></head><body><!-1-><font color=red>hello world</font><!--使用<font color=red></font>来调整字体颜色--></br><!-2-><font size=7 color=blue>hello world1</font><!--使用<font size=7></font>来调整字体大小,但是size里面的取值是1—7--></br><!-3-><font style="font-size:150px" color=yellow>hello world2</font><!--使用CSS中<font style="font-size:40px"></font>将字体调整更大--></br><!-4-><p><font color=cyan>为字体更换颜色4</font></p><b><font color="red">hhhhh</font></b><!-5-></body></html>韩顺平html第三讲Html的超链接:例子:<html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><!--*****************html超链接案例***************--><!--*****************html超链接默认格式***************--><a href="">超链接</a> </br> <!--超链接基本格式--><!--**target常见的两个属性-blank(表示在新页面打开文件).-self(表示替换当前页面)**--><a href=""target= "-blank">在新窗口打开</a><!--超链接在新窗口下打开文件--></br><a href=""target= "-self">在本页面打开</a> <!--超链接在本页面打开文件--></br><ahref="mailto:**************************">给自己写信</a></body></html>Html图片元素(标记):<img src ="图片路径" width="宽度" height=”高度” ></img>案例:(网页上显示图片)<html xmlns="/1999/xhtml"><head><title>无标题文档</title></head><body><!--*****************图片元素***************--><img src ="a.jpg" width="100" > <!--***********插入图片************--><a href=""><img src ="a.jpg" width="100" ></a> <!--***********图片链接************--> <img src ="/photo/OqCsSUr6ytmOilpU0_1VaA==/4023121842125901437.jpg" width="400" ><img src ="a.jpg" width="100" border="10" > </img> <!--*******border表示为插入的图片加上边框********--></body></html>Table表格:<!--<table border=”边框宽度“cellspacing”两个列行间的距离大小”cellpadding”各行列间的内容被填充" align="表格的位置" bgcolor="设置表格背景颜色"></table <!--**tr表示行,td表示列,<tr align="设置字体对齐方式</tr>"***-->案例:<html xmlns="/1999/xhtml"><head><title>无标题文档</title></head><body>******************表格,为表格添加背景****************</br><!--<table border=”边框宽度”cellspacing”空隙大小”cellpadding”填充大小" align="表格的位置" bgcolor="设置表格背景颜色"></table>--><table border="15" height="1" cellpadding="20" cellspacing="0" width="477" align="center" bgcolor="cyan"> <tr align="center"><td >1</td><td>2</td><td>3</td></tr> <!--**tr表示行,td表示列,<tr align="设置字体对齐方式</tr>"***--></table></body></html>韩顺平html第四讲合并单元格:colspan=跨行列数roespan=跨列行数<head><title> 表格</title>***********菜谱***********<table border=1 bordercolor=red cellspacing=0 align="center" width=500px cellpadding="0" height=180> <tr align=center><td colspan=3>周一菜谱</td>></tr><tr align=center><td rowspan=2>素菜</td>><td>青菜</td>><td>土豆</td></tr><tr align=center><td>豆腐</td>><td>白菜</td></tr><tr align=center><td rowspan=2>荤菜</td>><td>肉丝</td>><td>大虾</td></tr><tr align=center><td>海参<img src="a.jpg" width=70></img></td>><td>鲍鱼</td>></tr></head><body></body></html>注释:<tr align=center></tr>在此处表示字体的对齐方式韩顺平html第五讲无序列表(html常用标记/元素-ui/li)格式: Html列表——无序列表<ul type=”属性值”><li>列表内容</li></ul><ul>的属性设定(常用):例如:<ul tyre=”square”>Type=”squre”设定符号款式,其值有三种,如下,默认为Typr=”disc”Type=”disc”时的列项符号是实心圆点Type=”circle”时的列项符号为空心圆Type=”square”时的列项符号为空心正方形************无序列表代码例子*********<html><body><ul type="circle"><li>1</li><li>1</li><li>1</li></ul></body></html>Html列表——有序列表ol称顺序列表标记<ol type=”属性值” start=”起始值”><li>列表内容</li></ol>的属性设定(常用):例如:<ol type=”i” start=”4”></ol>type=”i”设定数目款式的值有5种:阿拉伯数字,a小写字母,A大写字母,i小写罗马数字,I大写罗马数字************有序列表代码例子*********<html><body><ol type="1"><li>1</li><li>1</li><li>1</li></ol><ol type="1" start=”5”><li>1</li><li>1</li><li>1</li></ol></body></html>Html框架标记(元素)frameset/frame<Frameset frameborder=”边框大小”cols=”按照列的百分比,隔开”>rows=”按照行的百分比><Frame name=”给frame取名” src=”html路径” noresize></frameset>实例:qq.html<html><body bgcolor=blue>歌词</body></html>ee.html<html><body bgcolor=red>费玉清</body></html>All.html<html><frameset cols="20%,*" frameborder=100><frame src="qq.html" noresise name=”song” /><frame src="ee.html" noresise name=”jun” / ></frameset></html>注释:all.html中不能带body标记综合案例:all.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><title> New Document </title></head><frameset rows="30%,*" border="0"><frame src="top.html"noresize/><frameset cols="20%,*"><frame src="left.html" border=0 noresize/><!--frame元素中有一个属性,相当于给该frame取名--><frame src="right1.html"name="right"/></frameset></frameset></html>top.html<html><head><title> New Document </title></head><body ><img src="logo1.jpg" ></img></body></html>Left.html<html><head><title> New Document </title></head><body bgcolor=pink><a href="right1.html"target="right">青花瓷1</a></br><a href="right2.html"target="right">青花瓷2</a></br></body></html>Right1.html<html><head><title> New Document </title></head><body bgcolor=blue><p>right1.html</p></body></html>Right2.html<html><head><title> New Document </title></head><body bgcolor=yellow><p>right2.html</p></body></html>韩顺平html第六讲html表单form:介绍:html的表单元素,主要用于让客户输入数据,并提交给服务器语法格式:<form action=”url” method=“提交方法(get,post)默认是get方法”> 各种元素(输入框,下拉列表,文本域,密码框)<input type=submit><input type=reset></form>代码:提交界面.html<html><head><title> 登陆界面</title></head><body><h1>登陆界面</h1><form action="ok.html" method="get" align=center>用户名:<input type="text" name="username"/></br>密&nbsp;&nbsp;码:<input type="password" name="pwd"/></br><input type="submit" value="登录"/><input type="reset" value="重新填写"/></form></body></html>Ok.html<html><head></head><body>ok</body></html>表单中提供给用户的输入形式有:<input type=* name=**>*=text文本框, password密码框, checkbox复选框, radio单选框, image图片按钮, hidden , submit提交按钮, reset重置按钮name是你给表单元素取的名子**=Symbolic Name for CGI scriptAction:指定把请求交给那个界面其他:<html><head><title> New Document </title></head><body>1****************复选框*******************</br><form action="" method="post" ><input type="checkbox" name="1"/>苹果<p><input type="checkbox" name="1"/>香蕉<p><p ><font color=red>*****************单选框******************</font></p></br><input type="radio" name="1"/>苹果<p><input type="radio" name="1" checked/>香蕉<p>2******隐藏一个表单元素****用处是可提交数据,同时不影响界面**********</br><input type="hidden" name="add" value="a.jpg">这里有一个隐藏的表单元素<p><p ><font*****************图片按钮******************</font></p></br> <input type="image" name="submit" src="a.jpg" width=30 align="top"/>苹果<p> *****************下拉列表******************</br><select name="like"><option valu= select>--请选择--</option><option valu=网游select>网游</option><option valu=足球select>足球</option><option valu=游泳select>游泳</option></select></br>*******文本区**<!--cols表示行,rows表示列-->*******</br><textarea name="comment" rows="4" cols="25">请输入文本</textarea></select></br>************请选择要上传的文件*************</br><input type="file" name="myfile">请选择文件</br>************按钮*************</br><input type="button" value="点击一下吧"/></input></form></body></html>韩顺平html第二讲<html><head><title>第一个网页</title></head><body><!-1-><font color=red>hello world</font><!--使用<font color=red></font>来调整字体颜色--></br><!-2-><font size=7 color=blue>hello world1</font><!--使用<font size=7></font>来调整字体大小,但是size里面的取值是1—7--></br><!-3-><font style="font-size:150px" color=yellow>hello world2</font><!--使用CSS中<font style="font-size:40px"></font>将字体调整更大--></br><!-4-><p><font color=cyan>为字体更换颜色4</font></p><b><font color="red">hhhhh</font></b><!-5-></body></html>韩顺平html第三讲Html的超链接:例子:<html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><!--*****************html超链接案例***************--><!--*****************html超链接默认格式***************--><a href="">超链接</a> </br> <!--超链接基本格式--><!--**target常见的两个属性-blank(表示在新页面打开文件).-self(表示替换当前页面)**--><a href=""target= "-blank">在新窗口打开</a><!--超链接在新窗口下打开文件--></br><a href=""target= "-self">在本页面打开</a> <!--超链接在本页面打开文件--></br><ahref="mailto:**************************">给自己写信</a></body></html>Html图片元素(标记):<img src ="图片路径" width="宽度" height=”高度” ></img>案例:(网页上显示图片)<html xmlns="/1999/xhtml"><head><title>无标题文档</title></head><body><!--*****************图片元素***************--><img src ="a.jpg" width="100" > <!--***********插入图片************--><a href=""><img src ="a.jpg" width="100" ></a> <!--***********图片链接************--> <img src ="/photo/OqCsSUr6ytmOilpU0_1VaA==/4023121842125901437.jpg" width="400" ><img src ="a.jpg" width="100" border="10" > </img> <!--*******border表示为插入的图片加上边框********--></body></html>Table表格:<!--<table border=”边框宽度“cellspacing”两个列行间的距离大小”cellpadding”各行列间的内容被填充" align="表格的位置" bgcolor="设置表格背景颜色"></table <!--**tr表示行,td表示列,<tr align="设置字体对齐方式</tr>"***-->案例:<html xmlns="/1999/xhtml"><head><title>无标题文档</title></head><body>******************表格,为表格添加背景****************</br><!--<table border=”边框宽度”cellspacing”空隙大小”cellpadding”填充大小" align="表格的位置" bgcolor="设置表格背景颜色"></table>--><table border="15" height="1" cellpadding="20" cellspacing="0" width="477" align="center" bgcolor="cyan"> <tr align="center"><td >1</td><td>2</td><td>3</td></tr> <!--**tr表示行,td表示列,<tr align="设置字体对齐方式</tr>"***--></table></body></html>韩顺平html第四讲合并单元格:colspan=跨行列数roespan=跨列行数<head><title> 表格</title>***********菜谱***********<table border=1 bordercolor=red cellspacing=0 align="center" width=500px cellpadding="0" height=180> <tr align=center><td colspan=3>周一菜谱</td>></tr><tr align=center><td rowspan=2>素菜</td>><td>青菜</td>><td>土豆</td></tr><tr align=center><td>豆腐</td>><td>白菜</td></tr><tr align=center><td rowspan=2>荤菜</td>><td>肉丝</td>><td>大虾</td></tr><tr align=center><td>海参<img src="a.jpg" width=70></img></td>><td>鲍鱼</td>></tr></head><body></body></html>注释:<tr align=center></tr>在此处表示字体的对齐方式韩顺平html第五讲无序列表(html常用标记/元素-ui/li)格式: Html列表——无序列表<ul type=”属性值”><li>列表内容</li></ul><ul>的属性设定(常用):例如:<ul tyre=”square”>Type=”squre”设定符号款式,其值有三种,如下,默认为Typr=”disc”Type=”disc”时的列项符号是实心圆点Type=”circle”时的列项符号为空心圆Type=”square”时的列项符号为空心正方形************无序列表代码例子*********<html><body><ul type="circle"><li>1</li><li>1</li><li>1</li></ul></body></html>Html列表——有序列表ol称顺序列表标记<ol type=”属性值” start=”起始值”><li>列表内容</li></ol>的属性设定(常用):例如:<ol type=”i” start=”4”></ol>type=”i”设定数目款式的值有5种:阿拉伯数字,a小写字母,A大写字母,i小写罗马数字,I大写罗马数字************有序列表代码例子*********<html><body><ol type="1"><li>1</li><li>1</li><li>1</li></ol><ol type="1" start=”5”><li>1</li><li>1</li><li>1</li></ol></body></html>Html框架标记(元素)frameset/frame<Frameset frameborder=”边框大小”cols=”按照列的百分比,隔开”>rows=”按照行的百分比><Frame name=”给frame取名” src=”html路径” noresize></frameset>实例:qq.html<html><body bgcolor=blue>歌词</body></html>ee.html<html><body bgcolor=red>费玉清</body></html>All.html<html><frameset cols="20%,*" frameborder=100><frame src="qq.html" noresise name=”song” /><fram e src="ee.html" noresise name=”jun” / ></frameset></html>注释:all.html中不能带body标记综合案例:all.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><title> New Document </title></head><frameset rows="30%,*" border="0"><frame src="top.html"noresize/><frameset cols="20%,*"><frame src="left.html" border=0 noresize/><!--frame元素中有一个属性,相当于给该frame取名--><frame src="right1.html"name="right"/></frameset></frameset></html>top.html<html><head><title> New Document </title></head><body ><img src="logo1.jpg" ></img></body></html>Left.html<html><head><title> New Document </title></head><body bgcolor=pink><a href="right1.html"target="right">青花瓷1</a></br><a href="right2.html"target="right">青花瓷2</a></br></body></html>Right1.html<html><head><title> New Document </title></head><body bgcolor=blue><p>right1.html</p></body></html>Right2.html<html><head><title> New Document </title></head><body bgcolor=yellow><p>right2.html</p></body></html>韩顺平html第六讲html表单form:介绍:html的表单元素,主要用于让客户输入数据,并提交给服务器语法格式:<form action=”url” method=“提交方法(get,post)默认是get方法”> 各种元素(输入框,下拉列表,文本域,密码框)<input type=submit><input type=reset></form>代码:提交界面.html<html><head><title> 登陆界面</title></head><body><h1>登陆界面</h1><form action="ok.html" method="get" align=center>用户名:<input type="text" name="username"/></br>密&nbsp;&nbsp;码:<input type="password" name="pwd"/></br><input type="submit" value="登录"/><input type="reset" value="重新填写"/></form></body></html>Ok.html<html><head></head><body>ok</body></html>表单中提供给用户的输入形式有:<input type=* name=**>*=text文本框, password密码框, checkbox复选框, radio单选框, image图片按钮, hidden , submit提交按钮, reset重置按钮name是你给表单元素取的名子**=Symbolic Name for CGI scriptAction:指定把请求交给那个界面其他:<html><head><title> New Document </title></head><body>1****************复选框*******************</br><form action="" method="post" ><input type="checkbox" name="1"/>苹果<p><input type="checkbox" name="1"/>香蕉<p><p ><font color=red>*****************单选框******************</font></p></br><input type="radio" name="1"/>苹果<p><input type="radio" name="1" checked/>香蕉<p>2******隐藏一个表单元素****用处是可提交数据,同时不影响界面**********</br><input type="hidden" name="add" value="a.jpg">这里有一个隐藏的表单元素<p><p ><font*****************图片按钮******************</font></p></br> <input type="image" name="submit" src="a.jpg" width=30 align="top"/>苹果<p> *****************下拉列表******************</br><select name="like"><option valu= select>--请选择--</option><option valu=网游select>网游</option><option valu=足球select>足球</option><option valu=游泳select>游泳</option></select></br>*******文本区**<!--cols表示行,rows表示列-->*******</br><textarea name="comment" rows="4" cols="25">请输入文本</textarea></select></br>************请选择要上传的文件*************</br><input type="file" name="myfile">请选择文件</br>************按钮*************</br><input type="button" value="点击一下吧"/></input></form></body></html>DIV+CSS部分笔记当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。

韩顺平javascript笔记(全套)解析

韩顺平javascript笔记(全套)解析

韩顺平2011javascript笔记(全)JavaScript1.javascript基本介绍:(1)javascript是实现网页动态效果的基石,在web的开发中扮演重要的角色,被广泛的应用到各个领域:○1网页游戏○2地图搜索○3股市信息查询○4web聊天····(2)在web开发中,js是必不可少的技术,同时js也是ajax/jquery/extjs等框架的基础。

(3)javascript是一种广泛用于客户端WEB开发的脚本语言,常用来给HTML网页添加动态的功能,比如响应用户的各种操作。

2.脚本语言:(1)脚本语言往往不能独立使用(单独使用没有什么意义),它一般与html/asp/jsp/php(2)脚本语言有自己的变量,函数,控制语句。

(3)脚本语言是一种解释性语言。

3.JS一般在客户端的浏览器执行。

但也可以对服务器进行编程(非常少)4.JavaScript简介JavaScript是一种解释型的语言。

Javascript并不是java的一种java脚本语言,除了名字都带有java这个此外,两者并没有任何关系。

Javascript的第一个版本出现在Netscape Navigator2浏览器中。

人们最初给javascript 起的名字是LiveScript。

然而由于,当时java技术的正是如日中天,netscape公司给livescript改名为javascript,以便是人们更加注意javascript。

随着javascript的发展,微软公司决定在IE浏览器中加入微软的品牌的javascript,即Jscript。

脚本语言不仅只有javascript的一种,还有其他的脚本语言,如VBscript和perl语言(1)<script>标记:第一个简单的javascript程序在网页中添加<script></script>标签中添加javascript代码,在<script></script>之间的代码块,不是用于显示html元素,而是需要浏览器进行处理的脚本代码,在<script>标记和对应的</script>标记之间包围的代码块,称为脚本块。

韩顺平java从入门到精通笔记整理1

韩顺平java从入门到精通笔记整理1

韩顺平java从入门到精通笔记整理1 2011年5月5日星期四第0讲开山篇1. Java se J2se 桌面Java ee J2ee 网络Java me J2me 手机2. SQL server Mysql Oracle3.学习软件编程的注意事项1.高效愉快学习2.先建立一个整体框架然后细节3.用什么再学习什么4.先知道how,再知道why5.软件编程是一门“做中学”学科,做了才会6.适当囫囵吞枣7.琢磨别人怎么做,不是我认为这么做第1讲内容介绍.项目演示.原理剖析1. 课程包括:java面向对象编程,java图形界面,java数据库编程,java文件i/o流,java网络编程,java的多线程2. Java历史:1990 sun 启动绿色计划1992 创建 oak语言—> java1994 gosling 参加硅谷大会演示java功能震惊世界1995 sun 正式发布java第一个版本,目前最新的是jdk7.03. java开发工具:记事本,jcreator,jbuilder,netbean,eclipse4. jdk包括:jre(java运行环境)java的工具:编译器javac.exe解释执行器java.exejava的类库:3600多个,常用的150多个5. 第一个程序://作者:阿贵//功能:显示“HelloWorld”//日期:2011.5.5//public:表示类是公共的,一个文件中只有一个public类//class:表示这个是一个类//HelloWorld:类名(公共类的类名,必须和文件名一样)public class HelloWorld{//一个主函数,程序的入口public static void main (String args[]){//执行语句System.out.println("helloWorld!");}}6. Java源程序(.java文件)——>java字节码文件(.class文件)——>由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)——>字节码文件(.class)就会在java虚拟机中执行第2讲变量.数据类型1. 在java里面int占4个字节,long占8个字节2. Java基本数据类型:整数:(byte一个字节:-128---127 int四个字节:-2147483648---+2147483647short两个字节:-32768---+32767 long八个字节: )小数(浮点): float double布尔:boolean字符:char(两个字节,可以存放汉字, char test1 ='中';)引申到字符串(类)3. 在java中对char进行运算的时候,直接是当做ASCII码对应的整数4. 数据不能从高精度到低精度的转换 Byte<short<int<long<float<doublefloat a=3.4;是过不去的,在java中小数默认是double(双精度)的应该写成是float a=3.4f;不过可以强制转换:int a=(int)1.2; int b=(int)1.95. int a=1;int b=a+1.2; a先是往高精度转换,然后赋给b,就报错改成int a=1;doubleb=a+1.2; 或者 int a=1;float b=a+1.2f; 就解决了。

2016 泰牛程序员 韩顺平 PHP 大牛班 javascript课程 完整笔记

2016 泰牛程序员 韩顺平 PHP 大牛班 javascript课程 完整笔记

javascript第 1 章JAV ASCRIPT课程介绍 (1)1.1JS可以做什么? 1 1.2JS的一些特点(了解)1 1.3JS的小故事2 1.4JS运行的原理图2 1.5JA V ASCRIPT的文档哪里找? 3 1.6第一个JS程序,HELLO,WORLD! 3 1.7一个非常简单的JS加法运算4 1.8JS是弱数据类型语言,变量类型有JS引擎来决定. 5 1.9JS变量的命名规范5第 2 章JS的数据类型介绍 (7)2.1JS的数据类型分类7 2.2举例说明7 2.3小练习8 2.4JS数据类型的转换9第 3 章JS的运算符 (10)3.1JS运算符的分类: 10 3.2算术运算符10 3.3关系运算符12 3.4关系运算符的小案例13 3.5逻辑运算符14 3.6关于逻辑运算的测试题15 3.7逻辑非的说明题16第 4 章三大流程控制 (17)4.1概述: 17 4.2分支控制174.2.1if分支 (17)4.2.2if...else双分支 . (18)4.2.3多分支控制结构if .. else if ..else... (20)4.2.4多分支的案例 (22)4.3多分支语句-SWITH234.3.1一个小的练习题 (25)4.3.2关于switch的一个小练习 (25)4.4循环控制264.4.1for循环控制 (26)4.5FOR循环的练习题28第 5 章函数 (30)5.1函数的必要性30 5.2函数的基本概念33 5.3函数的基本语法33 5.4函数的调用方式345.4.1方式1: (34)5.4.2形参和实参的概念 (35)5.4.3函数调用和返回的说明 (35)5.5变量的作用域36 5.6函数的其它说明37 5.7就是三目运算符的补充讲解37第 6 章数组 (38)6.1为什么需要数组38 6.2使用数组解决上面的问题39 6.3数组的基本概念39 6.4数组的传递方式40 6.5数组使用41 6.6数组的遍历42 6.7二维数组[了解] 436.7.1关于二维数组的访问说明 (43)6.7.2快速入门案例 (44)6.7.3快速入门案例2 (44)6.7.4二维数组的平均值 (45)第7 章JS的内置对象 (46)7.1概述46 7.2JS内部类的分类46 7.3M ATH对象477.3.1介绍: (47)7.3.2快速入门案例 (48)7.4D ATE对象497.4.1提出问题 (49)7.4.2Date对象的快速入门 (49)7.5一个STRING的案例50 7.6A RRAY对象51 7.7N UMBER对象537.8全局函数55第8 章事件及事件驱动编程 (57)8.1概述: 57 8.2JS的事件驱动机制的理解57 8.3事件的分类588.3.1鼠标事件 (58)8.3.2键盘事件 (58)8.3.3html事件 (58)8.3.4其它事件 (58)8.4事件驱动机制编程的进一步理解案例58 8.5一个事件可以被多个函数处理61第9 章DOM编程 (62)9.1DOM的分类和介绍62 9.2DOM到底和HTML文件是什么关系62 9.3DOM编程的框架介绍63 9.4BOM64 9.5DOM编程的分类说明64 9.6BOM 和DOM的关系65 9.7DOM编程的一个体验案例65 9.8WINDOW对象669.8.1window对象的常用方法举例 (66)9.8.2股票撤回案例 (67)9.9窗口的打开和关闭67 9.10WINDOW案例-登录成功后跳转到指定页面68第 1 章javascript课程介绍1.1js可以做什么?1.游戏2.网页的特性3.web聊天4.地图PHP程序员后面大量的使用js1.2js的一些特点(了解)1.js是一个脚本编程语言2.脚本语言相对传统的编程语言而已,语法和规则相对没有那么严格。

JavaScript韩顺平学习笔记

JavaScript韩顺平学习笔记

1,javascript介绍:javascript是实现网页动态效果的基石,在web开发中扮演着重要的角色,被广泛的应用到各个领域;javascript主要应用的领域有:网页游戏,地图搜索,股市信息查询,web聊天等,在web开发中,js是必不可少的技术!,同时js也是ajax/jquery/extjs等框架的基础;2,ajax是其中技术的综合;3,正则表达式是从格式上进行验证;4,html我们称为标记语言,java被称为编译/开发语言,javascript被称为脚本语言;5,javascript是一种广泛用于客户端Web开发的脚本语言。

常用来给HTML网页添加动态功能,比如响应用户的各种操作;6,控制语句分为顺序,分支,循环三种语句;7,脚本语言是一种解释性语言;8,C语言是将源代码编译成二进制码;java是将源代码编译成字节码文件,这就是编译语言,它们执行的效率比较高,因为编译好的文件往往已经接近于机器语言了;9,解释性语言是在执行的时候,才把源代码调到调用它的地方,比编译语言效率要低一些【即执行的时候,直接对源码进行执行】。

10,java语言编译好了,是由javac来执行的,就是虚拟机;.java - > .class 由jvm 来执行;javascript是由浏览器的一个引擎(js引擎)来执行的;第19讲,1,javascript是给浏览器用的;javascript是给浏览器用的;2,因为js是由浏览器来解释执行的,因此,这里有一个问题,就是不同的类型的浏览器可能对js的支持不一样;3,javascript是基于对象和事件驱动的(动态的),javascript是跨平台的;4,javascript是依赖于浏览器本身,与操作环境无关。

只要能运行浏览器的计算机,并支持javascript的浏览器就可以正确的执行;5,js的代码一般是放在head标签之间,但实际上也可以在别的位置;js必须用<script language="javascript"></script>包起来;6,浏览器是扫描,逐行执行的;。

(O管理)玩转实战教程(韩顺平)学习笔记

(O管理)玩转实战教程(韩顺平)学习笔记

(O管理)玩转实战教程(韩顺平)学习笔记韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装oracle的卸载1.停止所有与ORACLE相关的服务。

2. 使用OUI(Oracle Universal Installer)卸载Oracle软件。

“开始”->“程序”->“Oracle-OraDb110g_home1|Oracle installation product|Universal installer.3.删除注册表内容。

运行regedit命令,删除下面内容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注册表键,删除此键。

HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除Services键下所有以oracle为首的键。

HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application,删除此键下所有以oracle为首的键。

HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。

HKEY_CURRENT_USER|Software| Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs,删除此键下所有以oracle为首的键。

HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注册表键,删除了Microsoft ODBC FOR ORACLE注册表键以外的所有有Oracle字样的键值。

HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除以Oracle或OraWeb为前缀的键。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

!Struts视频笔记:Struts是一个开源的web框架,框架提高了程序的规范的同时也约束了程序员的自由为什么会有struts:因为我们队mvc理解的不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展,所以我们有必要用一个统一的规范来开发项目(struts)Struts 的好处: 程序更加规范化,开发效率提高了,可读性增加了,程序的可维护性增加了^运行原理:一个请求从浏览器发送给web服务器,,web服务器首先解析主机然后解析web应用的名称在解析出资源名转发给总司令ActionServlet(该类由struts框架提供给我们的无需编写,只需配置)ActionServlet有一个文件,该文件配置了表单actionForm(军火库),还配置了action,以及他们之间的对应关系,当ActionServlet拿到命令后它会查询文件去填充数据,把用户的数据填充到表单里边,下个动作就是去调用指定的action(小队长),action去从表单中读取数据,调用某个model(士兵,如service)完成任务,完成任务把结果返回给ActionServlet总司令(返回一个执行的结果),-->总司令又去查询文件,决定跳转到哪个jsp页面,返回一个执行结果(形成静态html文件)直接返回给web服务器服务器再把静态页面以http响应给浏览器,登录小项目过程步骤: 新建web工程导入struts包编写编写actionForm和action配置编写和配置测试中的<action>中的scope指的是actionform的生命周期范围 struts中<action>的scope默认是session@配置过滤器public class MyFilter extends HttpServlet implements Filter {@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {("gb2312");("gb2312");~(arg0, arg1);}配置<filter><filter-name>MyFilter</filter-name><filter-class> </filter><filter-mapping><filter-name>MyFilter</filter-name>…<url-pattern>/*</url-pattern></filter-mapping>上面这次比较浪费资源每次都要去实例化但是下面这种过滤器不太彻底,往数据库里插入数据时还是会经常出现乱码public class MyFilter extends HttpServlet implements Filter {private String encoding;public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {ction</url-pattern>*</servlet-mapping>写一个关于安全性的过滤器,用于过滤一些用户注册使用的关键字private String keywords[];public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {String username=("username");"this is safe filter !");if(username!=null){;for(String key:keywords){if(username)){("err", username+"被第二个管理安全的过滤器拦截了");("/WEB-INF/").forward(arg0, arg1);return ;}}}—(arg0, arg1);}public void init(FilterConfig arg0) throws ServletException {keywords=("keywords").split(";");}然后在配置过滤器还有设置要过滤的关键字<init-param><param-name>keywords</param-name>><param-value>xiaomao;xiaoxiao</param-value></init-param>每个action是单态的,包括actionserver,对网站并发性有影响若要证明的话在***中声明一个静态变量,每次访问自加什么是单态: 单态是指在整个运行过程中,始终是一个对象;默认放在WEB-INF目录下,也可以放到其他地方,只需要在中的<init-param>?<param-name>config</param-name><param-value>/WEB-INF/</param-value></init-param>有多个只需用","号隔开java 中插入数据库的语句需要注意标点("insert into user(username,password) values("+"'"+()+"'"+","+"'"+()+"'"+")");jstl(jsp startand tag liblary) jsp标准标签库: 可以提高开发速度,代码简洁升级jsp 页面<!DOCTYPE HTML PUBLIC"-oString();escapeXml表示是否安装html样式显示默认是true:表示以文本显示;如何输出request,session,application, pageContext域对象的数据<%("hello","request你好!");("hello","session你好!");("hello","application你好");("hello","pageContext你们<a href=''>百度</a>");%>这里有个优先级的问题,pageContext>request>session>application |<c:out value="${hello}" default="没有值" escapeXml="false" >如果是在同一个页面,那么这段代码输出pageContext你们好百度<%User u=new User();("admin");("admin");("user",u);%>,<c:out value="${}"></c:out> | |<c:out value="${}"></c:out>相当于(User) ("user").getUsername();<c:set>:<c:set var="abc"value="中国,北京"scope="request"></c:set><c:out value="${abc}"/><c:remove var="abc"/> 移除之后中国北京将不再显示<c:catch>:<c:catch var="err">#<%int i=3/0; %></c:catch><c:out value="${}"></c:out><c:if test="${2<30true:false}">ok</c:if><c:if>:<%("a","hello");("age","22"); %>"判断字符串:<c:if test="${a=='hello'}">hello</c:if>判断数值<c:if test="${age>12 and age<30 or age==22}">年龄大于12 小于30 ${age }</c:if> <%】ArrayList<User> al=new ArrayList<User>();User u1=new User();("陈超");("tiger");User u2=new User();("system");("manager");(u1); (u2);)("alluser",al);%><c:forEach items="${alluser}" var="u">${}${} <br/></c:forEach>第一种迭代<c:forEach var="i" begin="1" end="10">${i}&nbsp;&nbsp;</c:forEach> ]<br/>第二种迭代<c:forEach var="i" begin="1" end="10" step="3">${i}&nbsp;&nbsp;</c:forEach><br />用于分隔字符:<c:forTokens items="11;33;44;52;" delims=";" var="temp">${temp}</c:forTokens>什么时候用$符,什么时候不用$如果是从某个域对象中取出值,取的是一个变量就要用$ ,取的是一个固定的值就不要$第一种:(); 这种方式比较慢第二种:应用名/goManagerpageNow=”+pageNow*<c:if test="${pageNow>1}">前一页:<a href=”/web应用名/goManagerpageNow=${pageNow-1}”></c:if>当前页:<c:forEach><a href="/web应用名/gotoManagepageNow=${i}">[${i }]</a></c:forEach><c:if test="${pageNow<pageCount}">后一页:<a href=”/web应用名/goManagerpageNow=${pageNow+1}”></c:if>当前页${pageNow } /总页数 ${pageCount } 跳转到<input type="button" id="pageNow" name="pageNow" value="跳"/><%Map map=new HashMap();nvalidate(); etServletContext().getRealPath("file");)打印路径os=new FileOutputStream(keepFilePath+"\\"+fileName);;String uuid= newFileName=uuid+(beginIndex, ());int fileSize=();"uuid:"+uuid);"文件名称:"+fileName);"新文件名称:"+newFileName);"文件大小:"+fileSize);<InputStream is=null;OutputStream os=null;try {etServletContext().getRealPath("file");打印路径os=new FileOutputStream(keepFilePath+"\\"+newFileName);//读取文件并写出到服务器fileint len=0;//缓存byte []bytes=new byte[1024];//循环处理)while((len=(bytes))>0){(bytes,0,len);//读一点写一点return ("loginok");}} catch (FileNotFoundException e) {();} catch (IOException e) {[();}finally{try {();} catch (IOException e) {();}}>return ("loginerr");}}注意事项:如果文件名是中文怎么办做一个过滤器("UTF-8");("UTF-8");(arg0, arg1);—案例: 保存到数据库中Create database userdb2;Use userdb2;Create table t_users(username varchar(30) unique not null,myphoto varchar(128) not null,##保存新的文件名myphoto2 varchar(128) not null ##保存旧的文件名);?Q:37文件下载如果下载的文件时中文名那么我们需要在action中对其进行处理String filterFilkename="GB2312");思考: 如何控制文件的大小如何控制文件上传类型可以从D:\Program Files\Tomcat \conf目录下的中可以查看文件的类型*如何防止用户名重复`。

相关文档
最新文档