J2EE_Servlet_马士兵

合集下载

马士兵

马士兵

第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JA V A视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第01章_JA V A简介_源代码_及重要说明尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第05章_数组尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_正则表达式反射avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JA V A_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第三部分数据库视频Oracle视频内容包括:01——53讲avi格式◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第四部分:JDBC和MySQL视频,内容包括:1_lomboz_eclipse_jdbc2_mysql_avi3_连接池的设计思路.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第五部分:HTML & CSS & JA V ASCRIPT 视频:Html & CSS 视频内容简介:01_html简单介绍和meta标签.avi02_a_路径问题等等.avi03_学习方法_其他常用标签.avi04_1_note.avi04_表格和表单_1.avi05_表格和表单_2.avi06_Frame.avi07_Dreamweaver.avi08_CSS_1.avi09_CSS_2_选择方式.avi10_CSS_3.avi11_CSS_4.aviJavaScript 视频简介:01_JS初步及调试.avi02_JS基本语法.avi03_函数_事件处理_1.avi04_事件处理_2.avi05_内置对象_DOM_BOM.avi06_趣味.avi07_实用.avi08_表单验证.avi09_表单验证_new.avi10_后台框架.avi11_后台框架_2.avi12_TREE.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第六部分:Servlet & JSP视频——内容包括:1 tomcat的安装使用,配置2 servlet & jsp 视频1——30节jsp的练习项目内容包括:3 简单bbs项目3 2007美化BBS项目4 网上商城项目视频4 网上商城项目视频讲解视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第七部分:J2EE学习视频包括:DRP项目框架视频学习:Struts视频Hibernate视频Spring视频提高部分:uml统一建模语言视频SSH项目视频:oa办公自动化系统视频crm项目视频银行系统视频ejb3.0视频J2ME_3G简介资料面试材料:面试题大汇总+笔记+技巧尚学堂视频学习顺序(必看)尚学堂视频学习顺序2009-04-22 21:19尚学堂科技_马士兵_JDK5.0下载-安装-配置尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第1章_JA V A简介_源代码_及重要说明尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第2章_基础语法尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第2章_递归补充尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第3章_面向对象尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第4章_异常处理尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第5章_数组尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第5章_数组尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第6章_常用类尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第7章_容器尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第8章_IO尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第9章_线程尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_坦克大战网络版视频教程尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_专题_正则表达式尚学堂科技_张志宇_SERVLET_JSP_视频教程_第一版尚学堂科技_马士兵_JDBC_MYSQL_BBS项目课堂实录视频教程尚学堂科技_马士兵_BBS_项目补充_MySQL简明视频教程尚学堂科技_马士兵_JA V A_系列视频教程_BBS_2007尚学堂科技_马士兵_JA V A_网上商城项目视频讲解尚学堂科技_马士兵_轻松愉快LINUX视频教程尚学堂科技_马士兵_设计模式_01_Observer尚学堂科技_王勇_JA V A视频教程_XML01_XML尚学堂科技_王勇_JA V A视频教程_XML02_XSL尚学堂科技_王勇_JA V A视频教程_XML03_DTD_Schema尚学堂科技_王勇_JA V A视频教程_XML04_JDOM对XML文件的读取尚学堂科技_王勇_JA V A视频教程_Struts01_源代码及重要说明尚学堂科技_王勇_JA V A视频教程_Struts02_多层架构及MVC尚学堂科技_王勇_JA V A视频教程_Struts03_第一个项目尚学堂科技_王勇_JA V A视频教程_Struts04_小结及作业尚学堂科技_王勇_JA V A视频教程_Struts05_Struts标签库尚学堂科技_王勇_JA V A视频教程_Struts06_JSTL_EL表达式尚学堂科技_王勇_JA V A视频教程_Struts07_JSTL_核心库尚学堂科技_王勇_JA V A视频教程_Struts08_JSTL_格式化库及函数库尚学堂科技_王勇_JA V A视频教程_Struts09_Struts标签库实现用户维护作业尚学堂科技_王勇_JA V A视频教程_Struts10_ActionForm尚学堂科技_王勇_JA V A视频教程_Struts11_ActionForward_ActionMapping_Action尚学堂科技_王勇_JA V A视频教程_Struts12_Java国际化尚学堂科技_王勇_JA V A视频教程_Struts13_Struts及JSTL国际化尚学堂科技_王勇_JA V A视频教程_Struts14_动态验证框架尚学堂科技_王勇_JA V A视频教程_Struts15_声明式异常及个性化异常尚学堂科技_王勇_JA V A视频教程_Struts16_ForwardAction_DispatchAction_Struts模式匹配尚学堂科技_王勇_JA V A视频教程_Struts17_JSTL实现物料维护作业尚学堂科技_王勇_JA V A视频教程_Struts18_Struts回顾尚学堂科技_王勇_JA V A视频教程_Hibernate01_源代码及重要说明尚学堂科技_王勇_JA V A视频教程_Hibernate02_主要接口简介及示例尚学堂科技_王勇_JA V A视频教程_Hibernate03_持久对象的生命周期及Query接口初步尚学堂科技_王勇_JA V A视频教程_Hibernate04_常用映射标签及属性尚学堂科技_王勇_JA V A视频教程_Hibernate05_多对一及一对一关联映射尚学堂科技_王勇_JA V A视频教程_Hibernate06_SessionFlush简介尚学堂科技_王勇_JA V A视频教程_Hibernate07_一对多关联映射尚学堂科技_王勇_JA V A视频教程_Hibernate08_多对多关联映射尚学堂科技_王勇_JA V A视频教程_Hibernate09_Lazy策略尚学堂科技_王勇_JA V A视频教程_Hibernate10_继承映射尚学堂科技_王勇_JA V A视频教程_Hibernate11_其他映射尚学堂科技_王勇_JA V A视频教程_Hibernate12_悲观锁与乐观锁尚学堂科技_王勇_JA V A视频教程_Hibernate13_树形结构作业及HQL尚学堂科技_王勇_JA V A视频教程_Hibernate14_一级缓存_二级缓存_查询缓存尚学堂科技_王勇_JA V A视频教程_Hibernate15_抓取策略尚学堂科技_王勇_JA V A视频教程_Hibernate16_物料管理作业及Hibernate回顾尚学堂科技_王勇_JA V A视频教程_Spring01_源代码及重要说明尚学堂科技_王勇_JA V A视频教程_Spring02_Spring简介尚学堂科技_王勇_JA V A视频教程_Spring03_IoC容器尚学堂科技_王勇_JA V A视频教程_Spring04_属性注入尚学堂科技_王勇_JA V A视频教程_Spring05_Bean的作用域及自动装配尚学堂科技_王勇_JA V A视频教程_Spring06_代理模式及AOP术语尚学堂科技_王勇_JA V A视频教程_Spring07_Spring_AOP示例尚学堂科技_王勇_JA V A视频教程_Spring08_事务尚学堂科技_王勇_JA V A视频教程_Spring09_SSH集成尚学堂科技_王勇_JA V A视频教程_Spring10_作业及Spring回顾。

马士兵_J2SE第九章_线程_个人学习笔记

马士兵_J2SE第九章_线程_个人学习笔记

第九章Java多线程机制进程与线程区别每个进程都有独立的代码和数据空间,进程间的切换会有很大开销。

线程可以看成轻量级的进程同一类线程共享代码和数据空间,每个线程有独立的运行栈个程序计数器,线程切换开销小。

多线程:在操作系统中能同时运行多个任务(程序)。

多线程:在同一个应用程序中有多个顺序流同时执行。

二、说明:Runnable接口ng.Runnable–Java多线程机制的一个重要部分,实际上它只有一个run()方法–Thread类实现了Runnable接口,相对于Thread类,它更适合于多个线程处理同一资源–实现Runnable接口的类的对象可以用来创建线程,这时start方法启动此线程就会在此线程上运行run()方法–在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程Thread类ng.Thread–在Java程序中创建多线程的方法之一是继承Thread类–封装了Java程序中一个线程对象需要拥有的属性和方法–从Thread类派生一个子类,并创建这个子类的对象,就可以产生一个新的线程。

这个子类应该重写Thread 类的run方法,在run方法中写入需要在新线程中执行的语句段。

这个子类的对象需要调用start方法来启动,新线程将自动进入run方法。

原线程将同时继续往下执行–Thread类直接继承了Object类,并实现了Runnable接口。

它位于ng包中,因而程序开头不用import 任何包就可直接使用例子:Thread\TestThread1.java 开始使用Eclipse2 一般程序先执行子线程,再执行主线程(方法调用)package Thread;public class TestThread1_1 {public static void main(String args[]) {Runner1 r = new Runner1();r.run();for(int i=0; i<100; i++) {System.out.println("Main Thread:------" + i);}}}class Runner1 implements Runnable {public void run() {for(int i=0; i<100; i++) {System.out.println("Runner1 :" + i);}}}3继承Thread类(继承,不常用)package Thread;public class TestThread1_2{public static void main(String arg[]){Runner1_2 r = new Runner1_2();r.start();for (int i = 0 ;i <= 100; i++){System.out.println("Main Thread:!!!!"+i);}}}class Runner1_2 extends Thread{public void run(){for (int i = 0 ;i <= 100; i++){System.out.println("Runner2:!!!!"+i);}}}2010-4-2 21:04:16 – 2010-4-14 16:28:59三、线程状态转换四、线程控制基本方法Sleep/Join/Yield方法Sleep/Join(需要捕获异常)例子1 Thread/TestInterrupt.Java (线程结束的方式)package Thread;import java.util.*;public class TestInterrupt {public static void main(String arg[]){MyThread thread = new MyThread();thread.start();try{Thread.sleep(10000);}//主线程睡眠…catch(InterruptedException e){}thread.interrupt();//中断线程。

java-马士兵源码

java-马士兵源码

Cat.Javapublic class Cat {private static int sid = 0;private String name;int id;Cat(String name) { = name;id = sid++;}public void info(){System.out.println("My name is "+name+" No."+id);}public static void main(String arg[]){Cat.sid = 100;Cat mimi = new Cat("mimi");mimi.sid = 2000;Cat pipi = new Cat("pipi");();();}}Dog.javapublic class Dog {static int furColor;float height;float weight;void catchMouse(Mouse m) {//as;dfj;asdf//asdfj;asf//m.scream();}public static void main(String[] args) {//int i;System.out.println(furColor);Dog d = new Dog();Mouse m = new Mouse();d.catchMouse(m);HelloWorld hw = new HelloWorld();}}class Mouse {int height;}Count3Quit.javapublic class Count3Quit {public static void main(String[] args) {int[] a = new int[500];for(int i=0; i<a.length; i++) {a[i] = 1;}int leftCount = 500;int countNum = 0;int index = 0;while(leftCount != 1) {if(a[index] == 1) {countNum ++;if(countNum == 3) {countNum = 0;a[index] = 0;leftCount --;}}index ++;if(index == a.length) {index = 0;}}for(int i=0; i<a.length; i++) {if(a[i] == 1) {System.out.println(i);}}}}- 1 -Fab.javapublic class Fab {public static void main(String[] args) {System.out.println(f(-9));}public static long f(int index) {if(index < 1) {System.out.println("invalid parameter!");return -1;}if(index == 1 || index == 2) {return 1;}long f1 = 1L;long f2 = 1L;long f = 0;for(int i=0; i<index-2; i++) {f = f1 + f2;f1 = f2;f2 = f;}return f;}}HelloWorld.javapublic class HelloWorld {static int j = 9;public static void main(String[] asdfasf) { //a;sldfkja;sdjf;asjdf;asjdfSystem.out.println("HW");System.out.println(123);System.out.println(j);int i = 8;}public static void m() {}}class TT {}ListFile.javaimport java.io.*;public class ListFile {public static void main(String[] args) {File f = new File("d:\\test");/*File[] files = f.listFiles();for(File ff : files) {System.out.println(ff.getName());}*/listChilds(f, 0);}public static void listChilds(File f, int level) {String preStr = "";for(int i=0; i<level; i++) { preStr += ""; }System.out.println(preStr + f.getName());if(!f.isDirectory()) return;File[] childs = f.listFiles();for(int i=0; i<childs.length; i++) {listChilds(childs[i], level + 1);}}}MySearch.javapublic class MySearch {public class main(String[] args) {int a[] = {2, 5, 99, 4, 6, 8, 7, 24, 12};int m = 6;for(int i=0; i<a.length; i++) {if(a[i] == m) {System.out.println(i);}}}}- 2 -OddSum.javapublic class OddSum {public static void main(String[] args) {long result = 0;for(int i=1; i<=99; i+=2) {result += i;}System.out.println("result=" + result);}}Point3D.javapublic class Point3D {double x, y, z;public Point3D(double _x, double _y, double _z) { x = _x;y = _y;z = _z;}public void setX(double _x) {x = _x;}public double distance() {return x*x + y*y + z*z;}public static void main(String[] args) {Point3D p = new Point3D(1.2, 3.4, 5.8);p.setX(1.3);System.out.println(p.distance());}}TestAccess.javaT.javapublic class T {int i;void m(int i) {this.i = i;}void m(short i) {System.out.println("short");}public static void main(String[] args) {this.i = 8;T t = new T();t.m(5);}}TestBreak.javapublic class TestBreak {public static void main(String args[]) {int stop = 4;for (int i = 1; i <= 10; i++) {//当i等于stop时,退出循环if (i == stop) {;}break;System.out.println(" i= " + i);}}}- 3 -TestCircle.javaclass Point {private double x;private double y;Point(double x1, double y1) {x = x1;y = y1;}public double getX() { return x; }public double getY() { return y; }public void setX(double i) { x = i; }public void setY(double i) { y = i; }}class Circle {private Point o;private double radius;Circle(Point p, double r) {o = p;radius = r;}Circle(double r) {o = new Point(0.0, 0.0);radius = r;}boolean contains(Point p) {double x = p.getX() - o.getX();double y = p.getY() - o.getY();if(x*x + y*y > radius * radius) return false;else return true;}public void setO(double x, double y) {o.setX(x);o.setY(y);}public Point getO() { return o; }public double getRadius() { return radius;}public void setRadius(double r) { radius = r;}public double area() {return 3.14 * radius * radius;}}public class TestCircle {public static void main(String args[]) {Circle c1 = new Circle(new Point(1.0,2.0), 2.0);Circle c2 = new Circle(5.0);System.out.println("c1:("+c1.getO().getX()+","+c1.getO().getY()+"),"+c1.getRadius());System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());System.out.println("c1 area = "+c1.area());System.out.println("c1 area = "+c2.area());c1.setO(5,6);c2.setRadius(9.0);System.out.println("c1:("+c1.getO().getX()+","+c1.getO().getY()+"),"+c1.getRadius());System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());System.out.println("c1 area = "+c1.area());System.out.println("c1 area = "+c2.area());Point p1 = new Point(5.2, 6.3);System.out.println(c1.contains(p1));System.out.println(c1.contains(newPoint(10.0,9.0)));}}- 4 -TestConstruct.javaclass Person2 {private String name;private String location;Person2(String name) { = name;location = "beijing";}Person2(String name,String location) { = name;this.location = location;}public String info() {return"name: "+name+" location: "+location;}}class Teacher extends Person2 {private String capital;Teacher(String name, String capital) {this(name, "beijing", capital);}Teacher(String name, String location, String capital) {super(name, location);this.capital = capital;}public String info() {return () + "capital: " + capital;}}public class TestConstruct {public static void main(String[] args) {Teacher t = new Teacher("B", "GG");System.out.println(());}}TestConvert2.javapublic class TestConvert2 {public static void main(String[] args) {int i=1,j=12;float f1=(float)0.1; //0.1ffloat f2=123;long l1 = 12345678,l2=8888888888L;double d1 = 2e20,d2=124;byte b1 = 1,b2 = 2,b3 = 127;j = j+10;i = i/10;i = (int)(i*0.1);char c1='a',c2=125;byte b = (byte)(b1-b2);char c = (char)(c1+c2-1);float f3 = f1+f2;float f4 = (float)(f1+f2*0.1);double d = d1*i+j;float f = (float)(d1*5+d2);}}TestConvert.javapublic class TestConvert {public static void main(String arg[]) {int i1 = 123;int i2 = 456;double d1 = (i1+i2)*1.2;//系统将转换为double型运算float f1 = (float)((i1+i2)*1.2);//需要加强制转换符byte b1 = 67;byte b2 = 89;byte b3 = (byte)(b1+b2);//系统将转换为int 型运算,需要强制转换符System.out.println(b3);double d2 = 1e200;float f2 = (float)d2;//会产生溢出System.out.println(f2);float f3 = 1.23f;//必须加flong l1 = 123;long l2 = 30000000000L;//必须加lfloat f = l1+l2+f3;//系统将转换为float型计算long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)}}TestDigitCount.javapublic class TestDigitCount {public static void main(String[] args) {int i = 34789;- 5 -double d = 3478.9765;digitCount2(String.valueOf(i));digitCount2(String.valueOf(d));}public static void digitCount(String s) {int index = s.indexOf(".");if(index == -1) {System.out.println(s.length());} else {System.out.println("整数:" + index + "\n" + "小数:" + (s.length() - index - 1));}}public static void digitCount2(String s) {String s1 = s.replace('.', ',');String[] ss = s1.split(",");if(ss.length == 1) {System.out.println(s1.length());} else if(ss.length == 2) {System.out.println("整数:" + ss[0].length() + "\n" + "小数:" + ss[1].length());} else {System.out.println("Format Error!");}}}TestEqual.javapublic class TestEqual {public static void main(String[] args) {Integer i1 = new Integer(1);Integer i2 = new Integer(1);System.out.println(i1 == i2);System.out.println(i1.equals(i2));Mao m1 = new Mao("A", "A");Mao m2 = new Mao("A", "A");System.out.println(m1 == m2);System.out.println(m1.equals(m2));}}class Mao {String name;String color;Mao(String n,String c){name = n; color = c;}public boolean equals(Object obj) {return true;}}TestFormat.javapublic class TestFormat {public static viod main(String[] args) {System.out.println("ok");System.out.println("hello");int i = 8 + 9;for(int i=0; i<10; i++) {System.out.println(i);System.out.println(i);}}public void m() {System.out.println("ok");}public void m2() {System.out.println("ok");}public void m3() {System.out.println("ok");}public void m4() {}}- 6 -TestIF.javapublic class TestIF {public static void main(String[] args) {int i = 20;if(i < 20) {System.out.println("<20");System.out.println("<20");} else if (i < 40) {System.out.println("<40");} else if (i < 60) {System.out.println("<60");} elseSystem.out.println(">=60");System.out.println(">=60");}}TestInherit.javaclass FatherClass {public int value;public void f(){value = 100;System.out.println("FatherClass.value="+value);}}class ChildClass extends FatherClass {public int value;public void f() {super.f();value = 200;System.out.println("ChildClass.value="+value);System.out.println(value);System.out.println(super.value);}}public class TestInherit {public static void main(String[] args) {ChildClass cc = new ChildClass();cc.f();}}TestInterface.java public class TestInterface {PetCarer pc = new Worker();pc.feed();}interface PetCarer {void feed();void playWithPet();}class Worker implements PetCarer {public void feed() {System.out.println("Worker feed ... ");}void playWithPet() {System.out.println("Worker play with pet ... ");}}TestMethod2.javapublic class TestMethod2 {public int Max(int a, int b) {return a > b ? a : b;}public int Min(int a, int b) {return a < b ? a : b;}public static void main(String[] args) {TestMethod2 t = new TestMethod2();System.out.println("Max = "+t.Max(3,4));System.out.println("Min = "+t.Min(3,4));//System.out.println(Max(3, 4));}}- 7 -TestMethod.javapublic class TestMethod {public static void main(String[] args) {m();m2(2);m3('3', 4);m4(4, 6);int i = m4(4, 6);System.out.println(i);}public static void m() {//return;System.out.println("ok");System.out.println("hello");}public static void m2(int i) {if(i > 3)return;System.out.println(i);}public static void m3(int i, int j) {System.out.println(i + j);}public static int m4(int i, int j) {return i > j ? i : j;}}TestMetrics.javapublic class TestMetrics {public static void main(String args[]) {int[][] m = {{1,2,3},{2,3,4},{4,5,6}};int[][] n = {{3,4,5},{5,6,7}};int[][] mn = new int[3][];for(int i = 0; i<m.length;i++) {mn[i] = new int[n[0].length];}for (int i = 0; i < m.length; i++) {for (int j = 0; j < n[0].length; j++) {for (int k = 0; k < n.length; k++) {mn[i][j] += m[i][k] * n[k][j];}}}for(int i = 0; i<mn.length;i++){for(int j =0;j<mn[i].length;j++){System.out.print(mn[i][j]);if(j<mn[i].length-1)System.out.print(",");}System.out.println();}}}TestOverLoad.javapublic class TestOverLoad {public static void main(String[] args) {Person p = new Person();Person p1 = new Person(400);Person p2 = new Person(2, 500);();("ok");}}class Person {Person() {id = 0;age = 20;}Person(int _id) {id = _id;age = 23;}Person(int _id, int _age) {id = _id;age = _age;}//成员变量定义private int id;private int age = 20;//方法定义public int getAge() {return age;}public void setAge(int i) {age = i;}public int getId() {return id;}void info() {System.out.println("my id is : " + id);}- 8 -void info(String t) {System.out.println(t + " id " + id);}}TestPack.java import com.bjsxt.java140.Cat;public class TestPack {public static void main(String[] args) { Cat c = new Cat();}}TestPerson.java class Person {private String name;private int age;public void setName(String name) {=name;}public void setAge(int age) {this.age=age;}public String getName(){return name;}public int getAge(){return age;}}class Student extends Person {private String school;public String getSchool() {return school;}public void setSchool(String school) { this.school =school;}}public class Test {public static void main(String arg[]){Student student = new Student();student.setName("John");student.setAge(18);student.setSchool("SCH");System.out.println(student.getName());System.out.println(student.getAge());System.out.println(student.getSchool());}}TestPrimitive.javapublic class TestPrimitive {public static void main(String[] args) {Integer i = new Integer(100);Double d = new Double("123.456");int j = i.intValue()+d.intValue();float f = i.floatValue()+d.floatValue();System.out.println(j); System.out.println(f);double pi = Double.parseDouble("3.1415926");double r = Double.valueOf("2.0").doubleValue();double s = pi*r*r;System.out.println(s);try {int k = Integer.parseInt("1.25");} catch (NumberFormatException e) {System.out.println("数据格式不对!");}System.out.println(Integer.toBinaryString(123)+"B");System.out.println(Integer.toHexString(123)+"H");System.out.println(Integer.toOctalString(123)+"O");}}- 9 -TestStatic.javapublic class TestStatic {static int i = 0;public static void main(String[] args) {i = 8;//T t = new T();//T.this.i = 9;}}class TT {int i = 8;void m() {TestStatic ts = new TestStatic();System.out.println(TestStatic.i);System.out.println(ts.i);}}TestStringCase.javapublic class TestStringCase {public static void main(String[] args) { String s = "ABAabb$&^$#BAAb898B#@%aa";int cU = 0, cL = 0, cO = 0;for(int i=0; i<s.length(); i++) {char c = s.charAt(i);if(c >= 'A' && c <= 'Z') {cU ++;} else if( c >= 'a' && c <='z') {cL ++;} else {cO ++;}}System.out.println("大写:" + cU);System.out.println("小写:" + cL);System.out.println("其他:" + cO);}}TestSubstr.javapublic class TestSubstr {public static void main(String[] args) {String s = "Welcome to Java World!";String s1 = s.substring(11, 14);System.out.println(s1);}}TestSuperSub.javaclass SuperClass {private int n;/*SuperClass() {System.out.println("SuperClass()");}*/SuperClass(int n) {System.out.println("SuperClass(" + n + ")");this.n = n;}}class SubClass extends SuperClass {private int n;SubClass(int n) {//super();System.out.println("SubClass(" + n + ")");this.n = n;}SubClass() {super(300);System.out.println("SubClass()");}}public class TestSuperSub {public static void main(String arg[]) {//SubClass sc1 = new SubClass();SubClass sc2 = new SubClass(400);}}TestSwitch.javapublic class TestSwitch {public static void main(String[] args) {int i = 8;- 10 -switch(i) {case 8 :case 3 :case 2 :System.out.println("C");break;case 9 :System.out.println("D");break;default:System.out.println("error");}}}TestToString.javapublic class TestToString {public static void main(String[] args) {}}classTestVar2.javapublic class TestVar2 {public static void main(String[] args) {boolean b = true;int x, y = 9;double d = 3.1415;char c1, c2;c1 = '\u534e';c2 = 'c';x = 12;System.out.println("b=" + b);System.out.println("x=" + x + ",y=" + y);System.out.println("d=" + d);System.out.println("c1=" + c1);System.out.println("c2=" + c2);}}TestUtilDate.javaimport java.util.Date;public class TestUtilDate {public static void main(String[] args){Date date = new Date();System.out.println(date);String temp = date.toString();String t = temp.substring(11,temp.indexOf('C'));t = t.trim();System.out.println(t);String[] time = t.split(":");if(time.length==3){String s1 = null;String s2 = null;String s3 = null;if(time[0].charAt(0) == '0') {s1 = time[0].substring(1);} else {s1 = time[0];}if(time[1].charAt(0) == '0') {s2 = time[1].substring(1);} else {s2 = time[1];}if(time[2].charAt(0) == '0') {s3 = time[2].substring(1);} else {s3 = time[2];}System.out.println("现在是"+ s1 +"点"+ Integer.parseInt(time[1]) +"分"+ s3 +"秒");}}}- 11 -TestVar.javapublic class TestVar {static int j;public void m() {int i = 0;System.out.println(i);}public static void main(String[] args) {int i = 0;System.out.println(i);System.out.println(j);boolean b = false;if(b) {int c = 0;System.out.println("b is true");}//System.out.println(c);long longNum1 = 8888888888888L;}}TestWhile.javapublic class TestWhile {public static void main(String[] args) {int i = 0;while(i < 10) {System.out.println(i);i++;}i = 0;do {i++;System.out.println(i);} while(i < 10);}}- 12 -。

马士兵hibernate学习笔记(文字整理版)

马士兵hibernate学习笔记(文字整理版)

马士兵hibernate学习笔记(文字整理版)课程容 (5)1 HelloWorld (5)2 Hibernate原理模拟 - 什么是O/R Mapping以及为什么要有O/R Mapping (5)3 常见的0/R框架(了解) (5)4 hibernate基础配置(重点) (5)5 ID生成策略(重点 AUTO) (5)6 Hibernate核心开发接口介绍(重点) (5)7 对象的三种状态(了解) (5)8 关系映射(重点) (5)9 Hibernate査询(HQL) (5)10 在Struts基础上继续完善BBS200 (5)11 性能优化(重点) (5)12 补充话题 (5)风格 (5)1 先脉络,后细节 (5)2 先操作,后原理 (5)3 重Annotation,轻xml配置文件 (5)资源 (5)1 . (5)2 hibernate zh_CN文档 (5)3 hibernate annotation references (5)环境准备 (5)1 下载hibernate-distribution-3.3.2.GA-dist (5)2 下载hibernate-annotations-3[1].4.0.GA (5)3 注意阅读hibernate compatibility matrix(hibernate download) (5)4 下载slf4jl.5.8 (6)Hibernate HelloWorld (6)1 建立新java 项目,名为hibernate_0100_HelloWorld (6)2 学习建User-library-hibernate,并加入相应的jar包 (6)3 引入mysql的JDBC驱动包 (6)4 在mysql中建立对应的数据库以及表 (6)5 建立hibernate 配置文件hibernate.cfg.xml (6)6 建立Student 类 (6)7 建立Student 映射文件 Student.hbm.xml (6)8 将映射文件加入到hibernate.cfg.xml中 (6)9 写测试类Main,在Main中对Student对象进行直接的存储测试 (6)10 FAQ: (6)11 Note: (6)12 建立能力 (7)建立 Annotation 版本的 HelloWorld (7)1 创建teacher 表,create table teacher (id int primary key, name varhcar(20), title varchar(lO)); (7)2 创建Teacher 类 (7)3 在hibernate lib 中加入annotation的jar包 (7)4 参考Annotaion文档建立对应的注解 (7)5 在hibernate.cfg.xml中建立映射<mapping class:.../〉 . (7)6 参考文裆进行测试(注意文裆中缺少configure()的小bug) (7)7 FAQ: 不给提示 (7)What is and Why 0/R Mapping (7)1 JDBC操作数据库很繁琐 (7)2 Sql语句编写并不是面向对象的 (7)3 可以在对象和关系表之间建立关联来简化编程 (7)4 0/R Mapping 简化编程 (7)5 0/R Mapping跨越数据库平台 (7)6 Hibernate_0200_OR_Mapping_Simulation (7)0/R Mapping Frameworks (7)1 hibernate (7)2 toplink (8)3 jdo (8)4 JPA (8)Hibernate基础配置 (8)1 对应项目:Hibernate_0300_BasicConfiguration (8)2 介绍MSQL的图形化客户端 (8)3 hibernate.cfg.xml: hbni2ddl.auto (8)4 搭建日志环境并配置显示DDL语句 (8)5 搭建jUnit环境 (8)6 hibernate.cfg.xml:show_sql (8)7 hibernate.cfg.xml:format_sql (8)8 表名和类名不同,对表名进行配置 (8)9 字段名和属性相同 (8)10 字段名和属性名不同 (8)11 不需要psersistence的字段(不用列) (8)12 映射日期与时间类型,指定时间精度 (8)13 映射枚举类型( 比较少用) (9)14 字段映射的位置(field或者get方法) (9)15 Lob (9)16 课外:CLOBBLOB类型的数据存取 (9)17 课外:Hibernate自定义数据类型 (9)18 hibernate 类型 (9)ID生成策略 (9)1 对应项目:hibernate_0400_ID (9)2 注意: (9)3 xml生成id (9)4 注解方式:GeneratedValue (9)5 FAQ; (10)6 联合主键 (10)核心幵发接口介绍 (12)1 hibernate_0500_CoreAPI (12)2 Hibernate API文档需要单独下载 (12)3 Configuration (12)4 SessoinFactor (12)5 Session (12)6 SchemaExport (自动建表) (13)7 Query 接口 (13)8 Note: (13)三种对象状态 (14)1 上一个 project (14)2 三种状态的区分关键在于 (14)3 三种状态: (14)4 对这三种状态需要关注的问题是在该状态下如果进行数据库的操作会发生什么结果,比如改变属性的 (14)关系映射(重要) (15)对象之间的关系 (15)1 这里的关系映射指的是对象之间的关系,并不是指数据库的关系,本章解决的问题是当对象之间处于 (15)2 简化问题: (15)3 —对一 (15)4 —对多 (15)5 组件映射 (15)一对一关联 (16)1 一对一单向外键关联 (16)2 一对一双向外键关联 (16)3 一对一单向主键关联(不重要) (17)4 一对一双向主键关联(不重要) (17)5 联合主键 (17)组件映射 (17)1 项目:hibernate_1100_component (17)2 对象关系:一个对象是另外一个对象的一部分 (17)3 数据库表:一表 (17)4 annotation: Embeddable Embbeded (17)5 xml: 使用<component,例如: (18)多对一与一对多 (18)1 多对一单向关联 (18)2 一对多单向关联 (19)3 一对多(多对一)双向关联 (19)多对多 (20)1 单向关联: (20)2 双向关联: (21)关联关系中的CRUD_Cascade_Fetch (21)1 hibernate_1700_one2many_many2one_bi_crud (21)2 设定cascade以设定在持久化时对于关联对象的操作(CUD,R归Fetch管) (21)3 cascade仅仅是帮我们省了编程的麻烦而已,不要把它的作用看的太大 (21)4 铁律:双向关系在程序中要设定双向关联 (22)5 铁律:双向mappedBy (22)6 fetch (22)7 Update时ManyToOne()中的cascade参数关系 (22)8 Delete时ManyToOne()中的cascade关系 (22)9 O/RMapping 编程模型 (23)10 要想删除或者更新先做load,除了精确知道ID之外 (23)11 如果想消除关联关系,先设定关系为null.再删除对应记录,如果不删记录,该记录变成垃圾数据 (23)12 练习:多对多的CRUD (23)关系映射总结 (24)1 什么样的关系,设计什么样的表,进行什么样的映射 (24)2 CRUD,按照自然的理解即可(动手测试) (24)集合映射(不太重要) (24)1 项目名称:hibernate_1800_Collections_Mapping (24)2 Set (24)3 List (与Set差不多多个OrderBy) (24)4 Map (24)继承映射(不太重要) (24)1 三种方式 (24)作业: (24)1 学生课程、分数的设计(重要) (24)2 设计: (25)3 树状结构的设计(至关重要) (25)Hibernate 查询(Query Language) (26)HQL vs EJBQL (26)1 NativeSQL >HQL.> EJBQL(JPQL 1.0) > QBC(Query By Criteria) > QBE(Query By Example)" 262 总结:QL应该和导航关系结合,共同为査询提供服务。

马士兵hibernate文档 (个人完善版)

马士兵hibernate文档 (个人完善版)

3.hibernate.hbm2ddl.auto :在SessionFactory 创建时,自动检查数据库结构,或者将数据库schema 的DDL 导出到数据库。

使用create-drop 时,在显式关闭SessionFactory 时,将删除掉数据库schema。

例如:validate | update | create | create-dropcreate :如果没有表就创建update :如果表结构更新,就更新validate :每次插入表的时候看看表结构有没有更新。

理论上是先建类后建表:这个时候只要你的类建好了,可以跨数据库。

实际中先建表比先建类多,建好表以后要对数据库进行优化,比如建索引,建试图,各种各样的优化。

project\etc目录下面有很多示例性的文档,log4j的文档就在那个下面。

SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); SessionFactory的建立是很耗费时间的,应该像连接池一样,只建立一次,以后要用就直接从那用。

Hibernate文档建议我们自己写一个辅助类,用单例来做。

JUnit的一个bug:@BeforeClasspublic static void beforeClass() {sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();}在这句话的时候配置文件如果有的时候写错了,她悄悄把错误隐藏起来了。

解决的方法:可以对这句话加try catch块8.表名和类名不一致的时候:@Entity@Table(name="_teacher")public class Teacher {10字段名和属性名不一致的时候@Column(name="_name")public String getName() {return name;}11 不需要的字段的设置@Transientpublic String getYourWifeName() {return yourWifeName;}12 映射指定的时间日期@Temporal(TemporalType.TIME)public Date getBirthDate() {return birthDate;}在注解里面如果一个注解的属性名字叫value,你可以不写,直接写后面的值,如@Temporal(value=“TemporalType.TIME”)可写成上面的那样。

JavaSE马士兵笔记word版

JavaSE马士兵笔记word版

第1章Java概述Java语言的特特点一种面向对象的语言;一种平台无关的语言;一种健壮的语言,吸收了C/C++的优势,但去掉了其阻碍程序健壮性的部份(如:指针、内存的申请与释放等)Java的两种核心机制Java虚拟机(Java Virtual Machine)垃圾回收机制(Garbage Collection)源程序(*.java文件)→Java编译器→字节码(*.class文件)→类装载器→字节码校验器→说明器→操作系统平台一次编译,到处运行Java是一种说明型语言JDK(Java Development Kit)软件开发工具包JRE(Java Runtime Environment)运行时环境开发需要JDK;用户只需JREPATH:WINDOWS系统执行命令时要搜寻的途径(如,)CLASSPATH:Java在编译和运行时要找的class所在途径(“.”代表当前途径)java:运行java程序javac:编译java程序java –version一个源文件最多只能有一个public类,其他类数量不限,源文件名必需与public类名一致Java应用程序的执行入口时main()方式:public static void main(String[] args){…} Java语言中严格区分大小写编译后,每一个类都对应一个class文件第2章基础语法标示符由字母、下划线”_”、美元符”$”或数字组成标示符应以字母、下划线、美元符开头Java标示符对大小写灵敏,长度无穷制,注意“见名知意”且不能与Java语言关键字重名goto和const尽管未利用,但也被作为Java的关键字保留程序执行进程:到内存区 2.找到main方式开始执行 3.执行进程中的内存治理Java数据类型的划分boolean类型数据只许诺取值true或false,不能够利用0或非0的整数值取代true和false,这点和c语言不同Java字符采纳Unicode编码,每一个字符占两个字节,因此能够用十六进制编码形式表示,例:char c = ‘\u0061’;Java语言的整型常量默以为int类型,声明long型常量能够后加l或L大体数据类型转换boolean类型不能够转换为其他的数据类型整型,字符型,浮点型的数据在混合运算中彼此转换,转换时遵循以下原那么:容量小的类型自动转换为容量大的类型:byte,short,char->int->long->float->doublebyte,short,char之间不需要彼此转换,他们三者在计算时第一会转换为int类型能够将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超过其表数范围“+”除用于算术加法外,还可用于对字符串进行连接操作,“+”运算符双侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接,当进行打印时,不管任何类型,都自动转换为字符串进行打印break&continuebreak语句用于终止某个语句块的执行。

J2EE_JSP_马士兵

J2EE_JSP_马士兵

JSP1.JSP概念HTML里嵌套java代码就是jsp例子:D:\Develop\apache-tomcat-6.0.18\webapps\test\HelloWorld.jsp在tomcat上运行编译出HelloWorld_jsp.java文件和HelloWorld_jsp.class文件D:\Develop\apache-tomcat-6.0.18\work\Catalina\localhost\test\org\apache\jsp\HelloWorld_jsp.java2. JSP语法(1)Declaration声明JSP中的全局变量和局部变量AccessCounts.jsp<%! // 成员变量int accessCount = 0;%><%// 局部变量int accessCount2 = 0;%>测试结果:访问同一页面,每刷新一次,accessCount增1,accessCount2不变(每次出现一个新的局部变量)。

(2)Scriptlet BGColor.jsp基本语法:<% 程序代码区%> 可以放入任何Java代码例如<%For(int i=1,1<=10,i++){}%>注释格式:<%-- ---%><%// %><%/*…..*/%>(3)表达式Expressions.jsp(4)Directive编译指令相当于编译期的命令<%@Directive 属性= “属性值”%>常见的Directive:PageIncludeTaglib<1>page@page指示语句的测试6.错误页跳转测试<2> Include<3> Action (动作指令)在运行期间的命令跳过12.HTML页面输入内容,提交给JSP文件,JSP将这些内容存入JavaBean,再从JavaBean中拿出来显示。

马士兵vip课笔记

马士兵vip课笔记

马士兵vip课笔记
马士兵VIP课笔记
1. 课程概述
马士兵的VIP课程是一个全面的编程培训项目,涵盖了从基础到高级的各类编程知识和技能。

该课程强调实战编程,注重培养学员的实际项目开发能力。

通过学习此课程,学员可以掌握多种编程语言和技术,为未来的职业发展打下坚实的基础。

2. 课程内容
•基础概念:课程首先介绍了编程的基本概念,如变量、数据类型、控制结构等。

•面向对象编程:深入探讨了面向对象编程的概念,包括类、对象、继承和多态等。

•高级编程技术:涵盖了如泛型、反射、异步编程等高级编程技术。

•框架与库:介绍了多个主流的编程框架和库,如Spring、Django等。

•实战项目:课程以多个实战项目作为结尾,让学员在实际操作中巩固所学知识。

3. 课程特色
•实战导向:课程强调实战编程,注重培养学员解决实际问题的能力。

•内容全面:课程内容涵盖了从基础到高级的各类编程知识和技能,满足不同层次学员的需求。

•互动性强:课程中设置有多个互动环节,鼓励学员与老师和同学进
行交流和讨论。

•社区支持:提供了一个强大的社区支持,学员可以在社区中寻求帮助和分享经验。

4. 总结
马士兵的VIP课程是一个非常全面且实战导向的编程培训项目。

通过学习此课程,学员可以系统地掌握编程知识和技能,为未来的职业发展打下坚实的基础。

如果你是一位编程爱好者或者想要在编程领域有所建树,那么这门课程是你不容错过的选择。

尚学堂马士兵java第4章异常处理笔记(精)

尚学堂马士兵java第4章异常处理笔记(精)

尚学堂马士兵java第4章异常处理笔记.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!第四章异常处理java异常的概念:运行期出现的错误1、java异常是java提供的用于处理程序中错误的一种机制2、所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出、数组下表越界、所要读取的文件不存在)。

3、设计良好的程序应该在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。

4、java程序的执行过程中如出现异常事件,可以生成一个异常类对象,该异常对象封装了异常事件的信息并将被提交给java运行时系统,这个过程称为抛出(throw)异常。

5、当java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

异常的分类:Throwable:Error和ExceptionError:不能处理系统错误(如java虚拟机错误)Exception:可处理的异常Runtime Exception:一类特殊的异常,如被0除、数组下表炒范围等,其产生比较频繁,处理麻烦,如果显式的声明或捕获将对程序可读性和运行效率影响很大。

因此由系统自动检测并将它们交给缺省的异常处理程序(用户可不必对其处理)。

try语句:1、try{...}语句指定了一段代码,该段代码就是一次捕获并处理例外的范围2、在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,它后面的catch语句要分别对这些异常做相应的处理3、如果没有例外产生,所有的catch代码段都被略过不执行catch语句:1、在catch语句块中是对异常进行处理的代码,每个try语句块可以伴随一个或多个catch语句,用于处理可能产生的不同类型的异常对象2、在catch中声明的异常对象(catch(SomeException e))封装了异常事件发生的信息,在catch语句块中可以使用这个对象的一些方法获取这些信息3、例如:A、getMessage()方法,用来得到有关异常事件的信息B、printStackTrace()方法,用来跟踪异常事件发生时执行堆栈的内容finally语句:1、finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其他部分以前,承购对长须的状态做一个统一的管理2、无论try所指定的程序块中是否抛出例外,finally所指定的代码都要被执行3、通常在finally语句中可以进行资源的清除工作,如:A、关闭打开的文件B、删除临时文件C、。

尚学堂科技.马士兵.JAVA视频教程

尚学堂科技.马士兵.JAVA视频教程

中文名: 尚学堂科技.马士兵.JAVA视频教程(java培训内部视频)10年2月9日更新(更新Spring3.0)英文名: java video courses发行日期:地区: 大陆对白语言: 普通话简介:下载地址:/forum.php?mod=viewthread&tid=1832&extra=page%3D1====================================================== ============================================================ ===================2007年10月29日更新- 加入> - 视频代码的讲解请大家务必首先阅读《00_Shopping视频说明》,其中讲明了如何来阅读剩下的视频![声明:]这段视频是从尚学堂科技的教学课堂上实战录制,版权归尚学堂科技和马士兵老师共有,任何人不能用此教程牟利,违者必究。

====================================================== ======但是:在不收取其他人费用的前提下,您可以自由的分发此视频教程====================================================== ======[须知:]这些视频是以前公布的多个项目为基础的,在《00_Shopping视频说明》中有所说明,没有基础的同学应该首先阅之前的视频教程。

在此教程中,因为采用共享桌面,所以老师会经常说:“看我的桌面”,希望大家不要觉得惊奇或烦躁。

[其他文件:]在此目录下还有一个目录是[source],里面装有整个教学项目的源代码,建议大家在动手操作的过程中参考。

在此目录下还有一个[camplay.exe]文件,是观看视频所用的播放器,大家可以直接把视频文件(avi文件)直接拖放到上面进行观看。

尚学堂科技马士兵JAVA系列视频教程 全【VIP专享】

尚学堂科技马士兵JAVA系列视频教程 全【VIP专享】

尚学堂科技.马士兵.JAVA.系列视频教程第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JAVA视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第01章_JAVA简介_源代码_及重要说明尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_ 第05章_数组尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JAVA 视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JAVA视频教程_J2SE_专题_正则表达式反射avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JAVA_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频涉及到项目之1俄罗斯方块.rar: 07.4 MB涉及到项目之2坦克大战视频教程.rar: 019.4 MB涉及到项目之3坦克大战视频教程_java_eclipse.rar: 0395.4 MB涉及到项目之4坦克大战图片版.rar: 0101.2 MB涉及到项目之5坦克大战网络版视频教程.rar: 0248.8 MB涉及到项目之snake_贪吃蛇视频.rar: 095.2 MB涉及到项目之在线聊天系统雏形视频教程_java_eclipse.rar: 0233.9 MB◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第三部分数据库视频Oracle视频内容包括:01——53讲avi格式◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第四部分:JDBC和MySQL视频,内容包括:1_lomboz_eclipse_jdbc2_mysql_avi3_ 连接池的设计思路.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第五部分:HTML & CSS & JAVASCRIPT 视频:Html & CSS 视频内容简介:01_html 简单介绍和meta标签.avi02_a_路径问题等等.avi03_学习方法_其他常用标签.avi04_1_note.avi04_ 表格和表单_1.avi05_表格和表单_2.avi06_Frame.avi07_Dreamweaver.avi08_CSS_1.avi09_CSS_2_ 选择方式.avi10_CSS_3.avi11_CSS_4.aviJavaScript 视频简介:01_JS 初步及调试.avi02_JS基本语法.avi03_函数_事件处理_1.avi04_事件处理_2.avi05_内置对象_DOM_BOM.avi06_趣味.avi07_实用.avi08_ 表单验证.avi09_表单验证_new.avi10_后台框架.avi11_后台框架_2.avi12_TREE.avi◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第六部分:Servlet & JSP视频——内容包括:1 tomcat的安装使用,配置2 servlet & jsp 视频1——30节jsp的练习项目内容包括:3 简单bbs项目3 2007美化BBS项目4 网上商城项目视频4 网上商城项目视频讲解视频◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂最好的Java只有尚学堂◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆第七部分:J2EE学习视频包括:DRP项目框架视频学习:Struts视频Hibernate视频Spring视频提高部分:uml统一建模语言视频SSH项目视频:oa办公自动化系统视频crm项目视频银行系统视频ejb3.0视频J2ME_3G简介资料面试材料:面试题大汇总+笔记+技巧。

马士兵 J2SE基础 概念总结

马士兵 J2SE基础 概念总结

基础概念(J2SE)(1_Java简介,2_基础语法)1.Java是解释型语言:java需要先编译为.class字节码文件,在执行时用解释器解释成操作系统能识别的文件。

需要经过两次操作。

Java:编译*.java源代码文件---编译器编译---*.class字节码文件,执行*.class字节码文件----解释器解释----操作系统能识别的文件C/C++: 编译 .C 源代码文件----编译器编译----*.exe字节码文件, 执行*.exe字节码文件----操作系统能识别的文件。

2.基础类型的包装类基础类型分配到栈,引用类型分配到堆基础类包装类int Integerchar Charaterboolean Boolean…转换:1. 当需要把String 转换为基础数据类型时,使用对应的基础数据类型的包装类里面的方法。

列:int a = Integer.parseInt(s);2. 将基本类型数据转换为String:int a = 2;String m = String.valueOf(a);3. String转char:String s = “Xforce”char a = s.charAt(1);(3_面向对象编程)重点:1.代码内存分析:06_内存解析_1, 07_内存解析_2,08_内存解析_3,14_TestCircle程序分析_1, 15_TestCircle程序分析_2, 15_TestCircle 程序分析_2.2.动态绑定和多态39_多态_1.avi 40_多态_2.avi 内存分析见39_多态_1.avi TestPolymoph\ Test.java父类引用指向子类对象解释:37_对象转型_1.avi3.抽象类、抽象方法4.接口一、对象和类的概念1.类是同种对象的集合与抽象,类中定义了这一类对象所应具有的静态和动态属性。

二、面向对象设计思想和步骤:(1)分析问题中有哪些类那些对象(2)分析这些对象中应该具有的属性和方法(3)分析类与类之间的关系三、Java类的定义四、局部变和成员变量局部变量:方法或语句块内部(方法的参数叫局部变量)(小)( 必须赋初试值才可以使用)成员变量:方法外部、类的内部(大), 不用初始化,java系统会给你赋初始值五、引用类型(C中的指针,占两块内存)六、构造函数构造函数是定义在java类中的一个用来初始化对象的函数1.构造函数名字与类的名字相同,大小写也保持一致2.使用new+构造方法创建一个新的对象3.构造函数与类同名切没有返回值。

马士兵 JAVA视频教程-第04章__Java_异常处理

马士兵 JAVA视频教程-第04章__Java_异常处理

尚学堂科技_马士兵_JAVA视频教程_J2SE_5.0_第04章_异常处理听课笔记09.11.27-by LoveXForce第四章 Java 异常处理2009-11-27 19:16:10 - 2009-12-1 五个关键词:try catch finally throw throws一、异常的概念◆Java异常是Java提供的用于处理程序中错误的一种机制。

◆所谓错误是指在程序运行的过程中发生一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在)。

◆设计良好的程勋应该在异常发生时提供处理这些错位的方法,使得程序不会因为异常的发生而阻断或产生不可预见的结果。

◆Java程勋的执行过程中如出现异常事件,可以生成一个异常类,该异常类封装了异常事件的信息并将被提交给Java运行时的系统,这个过程称为抛出(throw)异常。

◆当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常。

例子:import java.io.*;public class TestEx {public static void main(String[] args) {try {System.out.println(2 / 0);} catch (ArithmeticException ae) { //自己定义的异常类对象名,系统将异常对象传递给ae里面,ae 相当于形参System.out.println("出错了");ae.printStackTrace();//常用的办法:把错误的堆栈信息打印出来!系统默认也是打印误的堆栈信息。

}}}二、 异常的分类J2SDK 中定义了很多异常类,这些类对应了各种各样可能出现的异常事件◆ Error◆ 示地声明或者捕获。

◆ Runtime Exception :一类特殊的异常,如被0除。

数组下标超出范围等,其产生比较频繁,处理麻烦,如果显示地声明或捕获将对程勋可读性和运行效率影响很大。

java-hibernate笔记(讲义)-【尚学堂马士兵老师】

java-hibernate笔记(讲义)-【尚学堂马士兵老师】

java-hibernate笔记(讲义)-【尚学堂马士兵老师】知识点终结:1 新建项目2 学习建立user-library-hibernate,并加入相应的jar包a项目右键-build path-configure build path-add libraryb选择user-library,在其中新建library,命命为hibernatec 在该library中加入hibernate所需要的jar包hibernate3.3.2/hibernate3.jar/lib/required目录下的所有包6个Sl4j-nop jar3 引入mysql的JDBC驱动包4 在MYSQL中建数据库和相应的表student(id,name,age)5 建立hibernate配置文件hibernate.cfg.xml参考文档中COPY,修改对应的数据库连接,6 建立student类7 建立映射文件Student.hbm.xml 参考相应文档8 将映射文件加到hibernate-cfg.xml中搭建日志环境并配置显示DDL语句slf的实现:slf4j nodep ,log4j ,jdk logging api ,apache common-log.slf4j.nop.jar是slf-api.jar其相应的接口实现把slf的接口对到log4j的实现,在user library中hibernate,把slf的实现slf4j-nop-1.5.8.jar去掉,添加log4j的实现log4j-1.2.15.jar,再添加一个slf-api和log4j转换器slf4j-log4j12-1.5.8.jar.把slf的接口转换成log4j的接口.最后添加一个log4j的配置文件log4j.properties利用HIBERNA TE导出数据库建表//读取配置文件hibernate.cfg.xmlConfiguration cfg=new AnnotationConfiguration().configure();(有注解时使用AnnotationConfiguration),configure()可以手动指定配置文件名称. Configuration cfg=new Configuration(),会默认读取hibernate.properties文件//创建schemaExport对象import org.hibernate.tool.hbm2ddl.SchemaExport;SchemaExport export=new SchemaExport(cfg);//创建数据库表export.create(true, true);对象映射(采用Annotation注解方式)1 建表Create table teacher(id int primary key,name varchar(20),title varchar(20));2 创建teacher类,并进行注解@import javax.persistence.Entity;import javax.persistence.Id;在bean中加注解@ Entity,@Id(加在getId()上面)3 在hibernate中加入annotation相应的jar包hibernate-annotations.jar/lib目录下加入相应的包ejb3-persistence.jar, hibernate-commons-annotations.jar注意:annotation文档中并没有提到hibernate-annotations.jar包4 参考annotation文档建立对应的注解5 在hibernate.cfg.xml中建立映射<mapping class=”com.xx.xx”/>6 示例//AnnotationConfiguration;Configuration cfg=new AnnotationConfiguration();SessionFactory sf=cfg.configure().buildSessionFactory();Session session=sf.openSession();session.beginTransaction();session.save(t);//session.getTransaction().commit();session.close();sf.close();对象映射(采用配置文件方式)1 在相应的类中建立对应的配置文件.例如Student类对应的配置文件Student.hbm.xml<hibernate-mapping package="com.model"><class name="Student" table=" Student" ><id name="id" column="id"></id><property name="name" column="name" /><property name="age" column="age" /></class></hibernate-mapping>2 在hibernate.cfg.xml中添加该映射文件Student.hbm.xml即可<!-- 建立对应的配置文件关联相应的数据库表 --><mapping resource="com/model/Student.hbm.xml"/>注意包名的写法3 示例//读取配置文件hibernate.cfg.xmlConfiguration cfg=new Configuration().configure();//创建SessionFactorySessionFactory sf=cfg.configure().buildSessionFactory();//创建sessionSession session=sf.openSession();session.beginTransaction();session.save(s);session.getTransaction().commit();session.close();sf.close();hibernate.cfg.xml配置hibernate.hbm2ddl.auto属性取值: validate | update | create | create-drop在sessionfactory创建时,自动检查数据结构,或者将数据库schema(表)的DDL导出到数据库,使用create-drop时,在显式关闭sessionfactory时,将drop掉数据库schema.validate 加载hibernate时,验证创建数据库表结构create 每次加载hibernate,重新创建数据库表结构create-drop 加载hibernate时创建,退出是删除表结构update 加载hibernate自动更新数据库结构表名和类名不同的情况时,对表名进行配置1 在注解中import javax.persistence.Table;@Table(name=”TableName”)2 在XML文件中<hibernate-mapping package="com.model"><class name="Teacher" table="Teacher" >配置对应的table属性为相应的表名<id name="id" column="id"></id>…</class></hibernate-mapping>字段名和属性名相同,默认为对于annotation,如果什么注解都不写的话,相当于加了注解@Basic实体bean中所有的非static非transient的属性都可以被持久化, 除非你将其注解为@Transient.所有没有定义注解的属性等价于在其上面添加了@Basic注解. 通过@Basic注解可以声明属性的获取策略(fetch strategy):对于XML文件中不用写column.字段名和属性名不同时Annotation:@column(name=”column_name”)加上相应的getXXX()方法上XML:column属性不需要persistence的字段import javax.persistence.Transient;@ Transient 意思是说这个属性是透明的,不进行持久化,存储的时候不存进去映射日期和时间类型,指定时间精度Annotation:import javax.persistence.Temporal;@Temporal(TemporalType.TIME)XML:指定type<class name="Teacher" table="Teacher" ><id name="id" column="id"></id><property name="name" type="time" />type=time或date</class>枚举类型的转换@Enumerated(EnumType.STRING)字段映射的位置推荐写在gexXXX方法上在程序中通过Hibernate 来保存java.sql.Clob 或者java.sql.Blob 实例时,必须包含两个步骤:1 在一个数据库事务中先保存一个空的Blob 或Clob 实例。

尚学堂 马士兵 Java视频学习顺序

尚学堂 马士兵 Java视频学习顺序

第一阶段:J2SE基础数据结构正则表达式反射机制第零部分:60分钟零基础体验项目开发第一部分:J2se学习视频内容包括:尚学堂科技_马士兵_JA V A视频教程_JDK5.0_下载-安装-配置尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第01章_JA V A简介_源代码_及重要说明尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_递归补充尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第02章_基础语法尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第03章_面向对象尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第04章_异常处理尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第05章_数组尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第06章_常用类尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第07章_容器尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第08章_IO尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第09章_线程尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第10章_网络尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_第11章_GUI尚学堂科技_马士兵_JA V A视频教程_J2SE_5.0_专题_日期处理尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_正则表达式尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_递归尚学堂科技_马士兵_JA V A视频教程_J2SE_专题_CLASSPA TH第二部分:j2se练习项目视频内容包括:尚学堂科技_马士兵_在线聊天系统雏形视频教程_java_eclipse尚学堂科技_马士兵_坦克大战视频教程_java_eclipse尚学堂科技_马士兵_坦克大战图片版尚学堂科技_马士兵_JA V A_坦克大战网络版视频教程尚学堂科技_马士兵_snake_贪吃蛇内部视频补充知识:设计模式(一部分) ,Java Annotation,Java 反射,专题_日期处理,专题_正则表达式,另外建议补充数据结构的知识。

(价值3000元)Java自学之路—马士兵

(价值3000元)Java自学之路—马士兵

Java自学之路-马士兵老师 2011年09月19日尚学堂java培训作者:马士兵老师JAVA自学之路一:学会选择为了就业,不少同学参加各种各样的培训。

决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3G、测试等。

那么究竟应该选择什么方向呢?我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧。

每个培训机构都会宣传自己的好处,并不能说明大的趋势。

一些新闻文章很有可能是枪手写的,不必太过相信。

国外背景的教师和课程,未必适合你。

那么怎么才能确定自己将来的方向?如何才能从纷繁复杂、或真或假的数据世界中挖出一条路?我讲一个通过招聘网站的观察方法。

可以到各种招聘的网站上查询信息(可以到google上查询招聘的网站),例如:以及csdn的招聘频道等还有一个网站也不错,,综合了各大招聘网站的数据。

这些数据都是最真实不掺假的原始数据,你可以每隔一段时间搜索一次,一些规律就会被总结出来了。

比如说我在中搜索java,全国大概提供了3万个职位。

然后要多翻几页,这样不仅能够看清楚大概有多少是有效的职位,而且还可以看清楚用人单位最关心的技能是什么,这个很重要,决定着你将来要花多少时间和精力在特定的知识点上,比如说swing,搜了一下,全国只有700个左右的职位,仔细读了一下,也并非全是有效的职位,花太多时间和精力在这个上面就不值得了,当然自己感兴趣或者为了研究的话另当别论。

不过如果是为了快速的就业,把太多时间和精力花在很多职业生涯的前一、二年用不到的知识上就太可惜了。

同时,并非某一个行业的职位数目少,就不能当作一个方向进行选择,比如.NET,我搜索到的职位数是1.6万左右,比java少,是不是就选java了呢?不一定,因为java职位虽然多,但是可能竞争者可能也多,有些方向虽然职位数不多,但是和你竞争这些职位的人数量也少,不见得就不能选择。

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

Servlet笔记
public class UserLogin extends HttpServlet { }
2可以使用eclipse新建Servlet
常重写doGet() 和doPost()方法
protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet!");
}
protectedvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doPost!");
}
重启重装不二法宝
3Servlet 在web.xml中配置
<servlet>
<description></description>
<display-name>UserLogin</display-name>
<servlet-name>UserLogin</servlet-name>
<servlet-class>erLogin</servlet-class>
</servlet>
<servlet-mapping>映射
<servlet-name>UserLogin</servlet-name>
<url-pattern>/UserLogin</url-pattern>“/”开头
</servlet-mapping>
例子:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
publicclass TestLifeCycleServlet extends HttpServlet {
//处理请求
protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet");
}
/* 实例化
注意:构造方法不能有返回值类型,连void也不行(否则就变成普通方法了)*/
public TestLifeCycleServlet() {
System.out.println("constructed");
}
// 退出服务
publicvoid destroy() {
System.out.println("destory");
}
// 初始化
publicvoid init() throws ServletException {
System.out.println("init");
}
}
测试结果(在tomcat服务器控制台窗口):
constructed
init
doGet
Servlet编程接口
例子1读取指定的参数:ThreeParams.Java &ThreeParams.htm
例子2读取所有的参数:ShowParameters.java&ShowParametersForm.htm
6 Cookie(客户端)
7. Session(服务器端)
Session过期时间web.xm设置
<session-config>
<session-timeout>30</session-timeout> </session-config>
8 Application
9Servlets使用java bean:
10 Servlet中使用专门的数据库操作类DB
①Servlet中使用专门的数据库操作类DB,这样,本程序就比前一个显得简单清楚。

相关文档
最新文档