韩顺平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 Activation
Framework,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 开发工具。
Eclipse安装后就可以开发java se的项目了,但不能开发java ee项目,
需要安装web开发插件(lomboz或是myeclipe)
Eclipse的官网:https://www.360docs.net/doc/af3844141.html,
myeclipse的官网:https://www.360docs.net/doc/af3844141.html,/
在java ee的开发中有几个重要的开发模式:
1.Model1模式
2.model2模式(model2x模式(用得少))
3.mvc模式
一、Model1模式
Model1的基础是jsp文件,它由一些相互独立的jsp文件,和其它一些java
class组成(不是必须的)。这些jsp从HTTPRequest中获得所需要的数据,
处理业务逻辑,然后将结果通过Response返回前端浏览器。
从上面分析我们可以看到model1模式可以分为两类:
1.Model1(纯jsp技术,不带任何java class)。
2.Model1(jsp+java class)。
Model1模式的缺点:
1.表现层和业务层混合在一起(乱!)。
2.在开发过程中,不利于多人协同开发。
3.不利于后期维护。
Model1模式的优点:
1.简单,开发速度较快。
2.比较适合开发小的项目。
二、model1(结合java class)开发模式,有些书上称:mv模式,即:m→model模
型(java class,业务逻辑层),v→view视图(jsp,界面层)。
1.一个数据库应一个类:ConnDB.java(得到连接)。
2.数据库中的每一张表对应两个类:(1)UserBean.java(表示users表)类。
(2)UserBeanCl.java(业务逻辑,即对users表的操作)类。
如:
login.jsp输入数据,logincl.jsp通过调用java class(模型)处理数据,wel.jsp显示数据。这是一种多么完美的开发模式。
不足之处:
1.Jsp技术主要做界面,但是logincl.jsp这里调用了java class(模型),完成对用户验证,显得有点怪怪的。
2.Wel.jsp是用于显示用户信息(显示数据),但,wel.jsp除了显示数据,还调用了java class(模型),代码的优雅就荡然无存了,也不
得于将来的分工。
3.Servlet技术处理页面的跳转是最快捷和方便的,难道我们就此不用了吗?
三、mvc开发模式:M(model模型),V(view视图),C(controller控制器)。
MVC是一个设计模式,它强制性的使应程序的输入、处理、和输出分开。使用MVC应用程序分成三个核心部件:模型、视图、控制器。它们各自处
理自己的任务。
M主要由java class来做,也可以是java bean、eib等
V由jsp来做
C由servlet来做
对上的例子进行改进:
1.增加控制器(servlet):将logincl.jsp用servlet来替代,发挥
servlet充当控制中转的优势。
2.在控制器(servlet)中去调用模型(model)去完成用户验证,并准备要
显示的用户信息数据。
MVC开发模式的总结:
处理过程:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后调用模型来处理用户的请求并返回数据,最后控制器用相应的视图显示模型返回的数据,并通过浏览器呈现给用户。
Mvc模式存在的缺点:
1.工作量增加了。
由于开发者将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而意见的。这样好像我们的工
作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。
2.不适用小型项目,否则就是机关枪打蚊子。
3.调试应用程序难度加大。
Mvc提倡模型和视图分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你
就可以毫不顾忌的重用它们了。
数据库中用户名是中文,中文乱码问题(一般是要查询数据时,有中文字符才需要转码):
当提交表单时,表单中有中文,也会产生乱码。
解决中文乱码问题,有三种方法:
1.重新转码,如,有String u=”是中文”; u=new
String(u.getBytes(“iso-8859-1”),”gb2312”);
2.使用过滤器来解决[详解]
3.通过修改Tomcat配置servlet.xml文件[不太稳定.],具体操作如下: connectionTimeout="20000" redirectPort="8443" />改为: connectionTimeout="20000" redirectPort="8443" URIEncoding=”gbk”/> 在 当request得到的是乱码时,可以这样解决(一定要这样写): name=new String(request.getParameter(“username”).getBytes(“ISO8859_1”),” gb2312”); Servlet部分 Servlet开发流程(这是servlet规范,没有理由,只有这么做) 1.在%TOMCAT_HOME%\webapps下建一个文件夹如(myWebSite),然后在该 文件夹下新建WEB-INF的文件夹下,写一个web.xml(该网站的配置信 息),建立一个classes的子文件夹,也可以从加的目录ROOT下拷贝. 2.开servlet(引入servlet-api.jar,否则编绎不了)。 3.部署你的servlet,在web.xml文件中:添加代码(看例子)。 4.启动tomcat,访问你的servlet,在浏览器的地址栏输入 http://127.0.0.1:8080/myWebSite/hello,回车就可看到servlet的 输出。 开发servlet有三种方法 1.实现接口servlet来编写 2.继承GenericServet类(该写了servlet接口,所以有和servlet相同 的方法service)。 3.继承HttpServlet类(该类有doGet,doPost方法) Servlet的生命周期 1.init()函数,用于初始化该servlet(类似于类的构造函数,该函数只 会被调用一次(当用户第一次访问该页面的servlet时被调用。)。)。 2.业务逻辑函数(如:service,doGet,doPost等方法)(当用户每访问该 servlet时,都会被调用,它有两个参数:ServletRequest—用于获取 客户端的信息,ServletResponse—用于向客户端返回信息)。 3.destroy()函数,用于销毁servlet实例(释放内存),只有如下三种情 况才会周用(1.reload该servlet(webApps),2.关闭tomcat,3.关机) 值行了这个函数后,这个网站内的所有的session和conTest都被释放, 为空。 表单提交数据get请求和post请求的区别 1.从安全方面看get 2.从提交的内容大小来看get post提交的数据理论上不受限制,但是实际编程中建议不要大于64K。 3.从请求响应速度上看get>post,get要求服务器立即响应请求,而post 请求可能形成一个队列请求。 从以上几点看,表单提交方式(method)建议用post 在sevlet中打印的html语句,可以不加引号 同一用户的不同页面共享数据的四种方法 1.Cookie(小甜饼,在javax.servlet.http.*;这个包里面)(服务器在客户端保存用户的信息,比如登录名,密码…就是cookie,数据量并不大, 服务器端在需要的时候可以从客户端读取。)。 Cookie的使用方法:①Cookie有点像一张表,分两列一个是名字,一个是值,数据类型都是String。②创建Cookie(在服务器端创建):Cookie c=new Cookie(String name,String val);③将Cookie添加到客户端: response.addCookie(c); ④读取Cookie(从客户端读到服务器): Cookie[] allCookie=request.getCookies();c.getName();c.getValue();方法 读取⑤修改Cookie存在时间:c.setMaxAge(30);单位秒,为负则该 cookie不会存储,为0则删除该cookie,如果不设置存在时间,那第该 Cookie将不会保存。 2.sendRedirect(地址跳转,注意中文处理) 3.Session(会话技术)(当用户打开浏览器,访问某个网站时,服务器就会在服务器内存为该浏览器分配一个空间,该空间被这个浏览器独占, 这个空间就是session空间,其中的数据默认存在时间为30min,可以 修改(在conf—web.xml中修改))。 Session的使用方法:①得到session:HttpSession hs=request.getSession(true); ②向session添加属性:hs.setAttribut(String name,Object val);③从 session得到某个属性:String name=hs.getAttribute(String name); ④从session删除掉某个性性:hs.removeAttribute(String name);⑤ 修改session的存在的时间:hs.setMaxInactiveInterval(20);单位秒, 为负则永远不超时,为0则马上超时。 因为session的各个属性要占用服务器的内存,因此软件公司都是在迫不得已的情况下才使用。 注意:以文件—新建—窗口,的方式打开窗口,session的ID是不变的,也就是同一个session空间 4.隐藏表单提交(form)(input type=hidden name=““ value=““),在提交该表单时,能一并提交过去。(获取方式: req.getParameter(String name);)。 Cookie VS session 1.存在的位置:cookie保存在客户端,session保存在服务器端。 2.安全性:比较而言,cookie的安全性比session要弱。 3.网络传输量:cookie通过网络在客户端与服务器端传输,而session 保存在服务器端,不需要传输。 4.生命周期(20分钟为例)①cookie的生命周期是累计的,从创建时,就开始计时,20分钟后cookie生命周期结束,cookie就无效。②session 的生命周期是间隔的,从创建时开始时计时,如在20分钟,没有访问 过session,那么session信息无效,如果在20分钟内,比如第19分 钟时,访问过session,那么它的生命周期将重新开始计算。③另外, 关机会造成session生命周期结束,但是对session没有任何影响。 使用ServletContext(和session一样,但是它所有的客户都可以访问)。 1.得到ServletContext实例:this.getServletContext(); 2.你可以把它想像成一张表,这个和Session非常相似:每一行就是 一个属性。添加属性:setAttribute(String name,Object ob); 得到值:getAttribute(Stringname); 返回Object。 删除属性:removeAttribute(String name); 3.生命周期:ServletContext中的属性的生命周期从创建开始,到 服务器关闭而结束。 4.使用ServletContext:的注意事项:因为存在ServletContext中 的数据会长时间的保存在服务器,会占用内存,因此我们建议不要 向ServletContext中添加过大的数据……. 切记 Servlet操作数据库注意事项 需要将连接数据库的3个jar包,拷贝到tomcat服务器 具体有两种方法可以: (1).将.jar包拷贝到%tomcat%/lib文件夹 (2).或者在你的webapps目录的WEB-INF文件夹下建立一个lib文件夹, 然后 把3个jar包拷贝到lib文件夹下 两种方法的区别: 第一种:所有webapps都可以使用3个jar包[公用库]。 第二种:只有放如jar包的那个webapps能使用jar包[独用lib库]。 特别要注意sql 注入漏洞:用户名和密码不能同时查询,可先用用户名查出密码,再用查出来的密码与输入的密码进行比较。 分页技术(方法) 我们先讲讲分页的算法: 我们需要定义四个量,它们有各自的用处,如下: int pageSize:每页显示多少条记录 int pageNow:希望显示第几页 int pageCount:一共有多少页 int rowCount:一共有多少条记录 说明: pageSize是指定的(常量)。 pageNow是用户选择的(变量)。 rowCount是从表中查询得到的(是个变量)。 pageCount是计算出来的,该计算式为: if(rowCount%pageSize==0) { pageCount=rowCount/pageSize; } else { pageCount=rowCount/pageSize+1; } 然后查询数据库,我们可能很自然的想到,用 select 字段列表 from 表名 where id between ? and ? 但是如果表的某个id被删除了,那么某页可能就会少一条记录。 因此最终解决方法是如下语句: select top pageSize 字段名列表 from 表名 where id not in (select top pageSize *(pageNow-1) id from 表名)翻页的链接可以用下拉框或输入文本 网站框架问题分析 1界面和业务逻辑放在一起(model1模式),有以下问题: (1).有很多页面逻辑相似(如:操作数据库),有重复代码(一般 一段代码重复了三次或三次以上,就应该把这段代码封装到一 个函数里面去)。 (2).整个框架没有清晰的层次关系,显得非常乱。 (3).代码一点也不优雅,可读性差,可维护性差。 2.进行分层(界面层、业务逻辑层)[mv模式](m—>model模型,v—>view 视图) (1).将常用的代码(比如边接数据库),封装到类中。(现在java 中javaBean一般与数据库中表映射,充当表,如 (UserBean.java(表示表),UserBeanCl.java(业务逻辑), ConnDB.java(得到连接)。))。 3.在UserBeanCl中,查询数据库,返回查询结果集时,要返回ArrayList 集合,而不是直接返回ResultSet,原因如下:(rs代表ResultSet 的一个对象) (1).如果返回ResultSet,那么我们在使用ResutlSet时,是不能关 闭该RestultSet相互关联的数据库连接等资源,从而造成资源浪 费。 (2).如果返回ResutlSet,我们只能使用rs.getInt(?), rs.getString(?)…,这样的方法来得到结果,代码的可读性不好, 维护起来不方便。 (3).返回ArrayList集合方法(ArrayList作为中转,就可以尽快的 关闭rs,数据库连接,同时更能体现面向对象编程,代码可读性 更好。)如下: ①将rs中的每一条记录,封装成一个UserBean对象ub。 ②将封装成一个UserBean对象ub放入到ArrayList集合中,利 于管理。③从ArrayList结合中取出ub,然后使用。 Servlet中操作文件(和java 一样) tomcat的配置: 1.如何修改tomcat的端口(浏览器默认端口:80,可以不写) (1)需要启动两份tomcat服务器、服务占用了8080端口时可改 (2)修改端口方法:修改%timcat%/conf/server.xml文件中 port=“8080”数据修改成你需要的端口即可。 (3)端口号,是用两个字节存放,范围在1~65530,但是1~1024 是有名端口,很有可能被用,所以尽量设大一些。 2.如何设置虚拟目录 (1)tomcat所在的磁盘空间不够用了、为了统一管理,希望放在某 个特定的目录下,而不是默认目录。 (2)修改方法:修改%timcat%/conf/server.xml文件,在适当的位 置( path=“/mysite(站点文件夹名)” docBase=“c:\mysite(站点 目录)” debug=“0”/> 3.如何给tomcat的管理员设置密码 (1)修改方法:修改%timcat%/conf/tomcat-users.xml文件中可以 给管理员设置密码,密码设置可以防止非法用户远程登录到 tomcat。 (2)在默认情况下,管理员的密码是空密码,这样不法分子可能远 程发布一个站点,并在某个servlet中加入一些可怕的语句(比 如重启、关机…)。 (3)利用密码为空搞破坏,步骤如下: ①利用jdk自带的jar工具将有破坏的站点打包成*.war文 件。使用jar工具需要配置jdk的环境变量 path=%JAVA_HOME%/bin; 或者在你编绎时写入 set path=%path%;你的jdk目录\bin,这样即可在任何目录下使 用jar命令,然后切换路径到需要打包的那个文件夹目录 下;打包的命令是:jar –cvf war 文件名 *.* ②通过tomcat管理页面将站点发布到tomcat ③访问有破坏的代码的servlet,这样你就被黑了。 4.如何设置数据源和连接池(公司常用!)(因为JDBC连接速度太慢) 没测试出来,网上查 (1)为什么使用:每次操作数据库,需要加载驱动才能得到一根连 接,然后返回结果,加载驱动是要花时间的。 (2)解决方法:配置”连接池”与”队列池”。”连接池”事先与 数据库连接好了,并有了几根(可配置)连接,如果连接也中有 空闲的连接,tomcat就分配给请求客户端;如果没有空闲的连 接,请求客户端将会在队列池中等待(时间可配置),直到有连 接。因为直接取连接,所以速度快。 (3)修改方法:有两种方法(1)通过tomcat管理界面来配置(2)修 改配置文件。修改%timcat%/conf/server.xml文件,在指定的 位置添加代码即可: //******************************************************* ******* type="javax.sql.DataSource"/> //******************************************************* ******* 如果要加中文注释,则必需得在最前加如下语句: //******************************************************* ****** (4)如何使用:如果使用连接池的方式来连接数据库,那么就要这 样: Context ctt=new javax.naming.InitialContext(); DataSource ds=(DataSource)ctt.lookup("java:comp/env/数 据源的名");//粉红//色的是:得到配置环境保护,这是固定 写法 Connection Ct=ds.getConnection(); jsp部分 jsp的概述 jsp是servlet技术的补充,访问jsp的过程:如果是第一次访问,jsp文件被服务器翻译 成一个对应的java文件(servlet),然后,再被编译成.class文件并加载到内存中。如果是以后访问jsp,那就直接调用内存中的jsp实例,所以,第一次访问jsp慢,后面访问jsp的速度就会变快了。 为什么会出现jsp技术? 程序员在开发过程中,发现servlet做界面非常不好→jsp 一个公式:jsp=html+java片段+jsp标签+javascript(css)→比较综合 jsp功能的强大是因为可以与javabean结合使用(即:jsp作前台(界面),javabean作后台(逻辑层))。 Jsp+javabean的基础上再结合servlet,就会构成mvc的开发模式,Mvc模式是目前软件公司中相当通用的开发模式,是重点 Jsp的基本语法(冒号后面是举例) (1)指令元素---用于从jsp发送一个信息到容器,比如设置全局变量, 文件字编码,引入包等,主要包括如下: ①page指令:<%@page contentType=”text/html”;charset=gb2312%> ②include指令:<%@include file=”filename”%> ③taglib指令---这个指令允许在jsp页面使用自定义的标签: (2)脚本元素---在一定程度上可能理解就是java的片段scriplet ①scriplet:<%java代码,可以和写java一样写%> ②表达式:<%=java表达式%> <%=rs.getString(1)%> (3)Declaration声明:<%!变量声明 %>比如:<%!int count=10%> <%!函数声明 %>比如: <%! int jssuan(int num) { int result=0; for(int i=0;i {result=result+i;} } %> (4)动作元素---动作元素是使用xml语法写的,是jsp规定的一系列 标准确性动作,在容器处理jsp时,当容器遇到动作元素时,就执 行相应的操作。常用的几个如下: ① ② ③ 结合使用,如: value=”parameterValue”/> parameterValue”> ④ ⑤ ⑥ ⑦ ⑧ (5)jsp的九大内置对象(可以直接使用,不用创建。) ①out (是servlet中如:PrintWriter out=res.getWriter();)// 向客户端输出数据,字节流,如:out.println(“”); ②request //接受客户端的http请求,如: getParameter(String name); //name表示表单的参数名 getParameterValues(String name); //使用得到是String [] setAttribute(String name,Object obj); //设置名字为name 的obj,值为obj getAttribute(String name); //返回由name指定的属性值 如果不存在就返回null getCookie(); ③response //封装jsp产生的回应,如: addCookie(Cookie cookie); sendRedirect(“welcome.jsp”); ④session(是servelt中HttpSessio类的实例) //用于保存用 户的信息,跟踪用户的行为 setAttribute(String name,Object obj); getAttribute(String name); ⑤application //多个用户共享该对象,可以做计数器 ⑥pageContext //代表jsp页面的上下文 ⑦exception //代表运行时的一个异常 getMessage(); ⑧page //代表jsp这个实例本身(使用比较少)。 ⑨config //代表jsp对应的servlet配置,可以得到web.xml 中的参数 jsp与servlet的区别: (1)jsp和servlet是对应关系:jsp文件被服务器翻译成一个对应的 servlet文件并编译成.class文件,对应的servlet文件放在work目 录下。 (2)jsp是以servlet为基础的 (3)jsp文件改变时,服务器能自动重新加载该文件,不需要重启服务器。 发送电子邮件(javamail)到用户信箱 sd Js中验证字符串是否为数字:(1)可以Math.round(num)!=num (2)使用正则表达式 做项目(网上商城): 一.系统分析与设计: 1.需求分析: i.系统描述:[系统可以做什么]; 电子商声场包括两个基本本部分,一个是前台销售程序,一个是后台管理程充。 用户可以在前端浏览,搜索商品,能够看到最新的公告(如活动、物价商品), 用户可以使用购物车购买商品,可以对入入购物车的商品进行处理, 如修改数据量,从购物车中去除商品等,用户购完商品必须到服务台 结帐,也叫下定单,用户下完订单,可以打印或E-mail保留订单, 以便收到商品时查对; 后台管理程序,商家在此管理本企业的相关信息发布,录入,更改商品细信息,订单查询处理,并管理在商城里注册的用户。 ii.角色(按照类来划分用户): 1.前端用户 2.系统管理员:可以细化为:商品和公告管理者:订单管理者 iii.用例识别: 在角色的基础上,可以识别出与角色相关的用例。 前台用户: 系统管理员: 2.用例图 3.功能模块 做项目的步骤: 1.界面(模仿)。 2.数据库(表的设计)[界面(功能)--→猜出表来??](用 户表和商品表)。 3.建立web工程,testShopping 4.一步一步的画当前流程图 5.开始写主页面(index.jsp)[界面用dw,界面我使用”死去 活来”法,即先是静态的,然后才连接数据库,把它写活。], 在dw中我们建html--→在myeclips中我们建立jsp。在 开发界面时,我们使用table+css方式布局。在table+css 方式布局中,常驻用的一个技巧是:在某行列中嵌入一个表 格,可做精确布局。 CSS:是层叠样式表:控制网页的字体、颜色、大小、背景、边 框……。 先会用,再会做。(flash,javascript,ps) 6.把静态的页面向动态的页面修改[死去活来法]。 7.Mvc 模式写 model和servlet部分的开发。 8.HashMap的集合 a.hashmap就像一张表 b.key值是不能重复 c.key值和value值,可以是java的object类型 hashmap充当购物车是很好 key值-------→书的id values值-------→书的数量 hashmap提供了一堆好的函数 select * from goods goodsId in(1,2,3,5) 9.对购物车可以增加,删除,清空,修改数量 为了让servlet得到货物的id 的数量,可使用隐藏表单 10. a.设计订单(怎么设计???) 解决方法是:把重复的字段,单拿出来做一张表(订单表),把不重复的字段单拿出 这是就很好的解决了: 数据表的设计模式:表和表之间有多对多的关系时,就应当使用中间表来解决数据冗余的问题。 总结:通过定单细节表,把订单表和货物表的多对多的关系,简化成了一对多的关系,从机达到解决数据冗余的问题。 批量操作数据库:new Statement().addBatch(“sql语句”); HTML 一、HTML有关知识点 1.html介绍 html是一种标记语言,主要的用途是开发网页,使用html可以展现文字、图片、视频、声音,html是我们web开发(网站开发)。 2.html可以做什么 ?html可以编写静态网页 ?该静态网页可以包括文字、图像、动画、声音、表格、链接。从而构成一个个漂亮的网页 3.Html发展历史 4.Html的基本结构 5.是标记(也叫元素),标记的一般格式: <元素名[属性=“属性值”]>元素内容标签> 如果没有内容可以用:<元素名[属性=“属性值”]/> 6.Html实体标记 7.Html常用标记 ?html超链接 ●_blank 新的窗口 ●_self 本窗口 ●_parent 父窗口 ●_top整个浏览器窗口 ?html图像元素 ?html表格 Linux视频教程(韩顺平)听课笔记1 (RedHat) 1、老师联系方式:hanshunping@https://www.360docs.net/doc/af3844141.html, 2、linux for工作 (1)linux系统管理员——linux系统的维护、配置等 (2)linux程序员——需c/c++、java,php、jsp等 ①linux软件工程师(pc) ②linux嵌入式开发(单片机、芯片) 3、学习linux的步骤 (1)第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql...和linux基本操作 (2)第二阶段:加厚c语言功底《c专家编程》或是java语言 (3)第三阶段:学习unix环境高级编程《unix环境高级编程》 (4)第四阶段:linux应用系统开发/linux嵌入式开发 4、计算机学习的正确道路 5、推荐书籍 -《鸟哥的Linux的私房菜基础学习篇》鸟哥、许伟、林彩娥等编著 -《Linux编程从入门到精通》宫虎波编著 -《Linux内核完全剖析》赵炯编著 6、关机命令 shutdown -h now立即进行关机 shutdown -r now现在重新启动计算机 -t sec : -t后面加秒数,即”过几秒后关机” -k: 不是要真的关机,只是发送警告信息 -r: 在将系统的服务停掉之后就重新启动 -h: 将系统服务停掉后,立即关机 -n: 不经过init程序,直接以shutdown关机 -f: 关机并启动之后,强制略过fsck的磁盘检查 -F: 系统重新启动之后,强制进行fsck的磁盘检查 -c: 取消已经在进行的shutdown命令内容 reboot 现在重新启动计算机 7、用户登录 登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份。 8、进入桌面(命令行界面进入图形界面) startx 9、用户注销 在提示符下输入logout即可。 10、vi进行开发java和c/c++程序 -java程序 -vi Hello.java -输入i,进入到插入模式,写好代码 -输入Esc键,进入命令模式 -输入冒号:[wq 表示退出保存,q!表示退出不保存] -编译javac Hello.java -运行java Hello -c程序 -gcc o自定义文件名Hello.cpp[参数o表示可自定义生成的out文件名,否则默认为a. out] 顺平j2ee系列教程--玩转oracle10g学习笔记 引言: 数据保存问题? 可使用文件保存和数据库保存。 使用文件保存数据存在几个缺点: 1、文本的安全性问题; 2、文件不利于查询和对数据的管理; 3、文件不利于存放海量数据; 4、文件在程序中控制不方便。 为解决数据保存问题,专家们设计出更加利于管理数据的东东--数据库(本质就是一个软件),它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。 数据库 1、数据库的本质就是一款软件,这个软件专门用于管理和维护数据; 2、数据存放在数据库中。 数据库服务器、数据库和表的关系 所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每个应用创建一个数据库。 为了保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。 数据库服务器、数据库和表的关系如图所示: 为什么选择oracle--性能优越 概述:目前主流数据库包括 微软: sql server和access 瑞典MySql: AB公司mysql ibm公司: db2(处理海量) 美国Sybase公司: Sybase ibm公司: informix 美国oracle公司: oracle 做项目时应当如何选择数据库? 1、标的(项目预算); 2、功能的要求; 3、并发数(多少人用); 4、安全、稳定性。 5、操作系统(unix[solaris,freeBSD,aix,hp unix]/linux/window) oracle数据库的认证 oca(oracle certified associate)初级认证 ocp(oracle certified professional)中级认证 ocm(oracle certified master)高级认证 oracle10g安装步骤: 1、安装文件 2、把10201_database_win32.zip文件copy到没有中文的路径下 3、检查服务选项,确定本机没有安装过oracle数据库,如果有则卸载 4、将压缩包解压后,双击setup.exe文件进行安装。 说明:建议大家自己建立一个文件目录,比如d:/hsporacle/oracle,然后把数据库安装到 1.Struts2在jsp页面中使用 第一课 第二课tomcat 简单模拟 package com.my.first; import java.io.*; import https://www.360docs.net/doc/af3844141.html,.*; publicclass Mytomcat { /** * @param args */ publicstaticvoid main(String[] args) throws Exception { ServerSocketss = new ServerSocket(9999); Socket s = ss.accept(); System.out.println("在9999上等待。。。"); OutputStreamos =s.getOutputStream(); BufferedReaderbr = new BufferedReader(new FileReader("f:\\hello.html")); String str=""; while((str = br.readLine())!=null){ os.write(str.getBytes()); } br.close(); os.close(); s.close(); // ss.close(); } } 在浏览器中输入 http://localhost:9999 就会出现“hello world” 第三课 启动tomcat 各种问题总结 第四课 第五课 虚拟目录 如在f盘存放着各种web应用,但是空间不够了,这是我在d盘弄个文件当做该web应用的文件。但是要在server.xml中指定一下。 步骤:1、在那个磁盘下建立“f:\web2”,并建立相关的资源文件 2、在server.xml中配置 韩顺平html+css+js 之JS笔记 Javascript的基本介绍 ?JS是用于WEB开发的脚本语言: ?脚本语言是什么: ?脚本语言不能独立使用,它和HTML/JSP/PHP/https://www.360docs.net/doc/af3844141.html,配合使用 ?脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环) ?脚本语言实际上是解释性语言(即在执行时直接对源码进行执行) ?Java程序.java→.class→jvm , js→浏览器(js引擎来解释执行) ?Js在客户端(浏览器)执行 ?因为js是由浏览器来执行的,因此这里有个问题,不同类型的浏览器可能对js的支持不一样。 ①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 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基础1 java面向对象编程--数据库编程-->java se java 基础2 html--css--javascript-->div+css java ee中级部分 Servlet--Jsp-->mvc模式 java ee高级部分 Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架 java之父gosling 1990 sun启动绿色计划 1 | 445 1992 创建oak语言-->java 1994 gosling参加硅谷大会演示java功能,震惊世界 1995 sun正式发布java第一个版本,目前最新是jdk7.0 java开发工具 记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse 如何选择开发工具 先选择记事本,对java有一定了解后再使用eclipse高级开发工具 为什么呢? 1、更深刻的理解java技术,培养代码感 2、有利于公司面试 java语言的特点 1、java语言是简单的 2、java语言是面向对象的 3、java语言是跨平台(操作系统)的[即一次编译,到处运行] 4、java是高性能的 java第一个程序hello.java 运行java程序要安装和配置jdk jdk是什么? 1、jdk全称java dvevlopment kit中文java开发工具包 2、jdk是sun公司开发的 3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右) 4、可以在https://www.360docs.net/doc/af3844141.html,下载 **开发安装jdk,用户执行需要安装jre 配置JDK 添加环境变量即可 windows下配置jdk 在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。多个环境变量设置时需要用;号进行隔开 1、编写第一个hello.java //注释 (解释) 作者: //功能:在控制台显示"hello" //日期:2013.11.28 //public:表示这个类是公共的,一个java文件中只能有一个public类 //class:表示这是一个类 //hello:类名(公共类的类名必须和文件名一致) public class hello{ 2 | 445 韩顺平jsp学习笔记 jsp u j2ee核心13种技术: 程序员必须掌握的技术:java,servlet,jsp。 13种技术规范. u j2ee程序员修炼成精法门 u jsp 版本的用户管理系统:将servlet版本改为jsp版本,只使用jsp技术完成(modle1模式开发) 并且在后面可通过jsp版的用户管理系统的改写,非常自然过渡到mv设计模式,更进一步到mvc设计模式 开发工具:myeclipse u jsp概述: jsp是servlet技术的补充,访问jsp的过程:如果是第一次访问,jsp文件被服务器翻译成一个对应的java文件(servlet),然后,再被编译成.class文件并加载到内存中。如果是以后访问jsp,那就直接调用内存中的jsp实例,所以,第一次访问jsp慢,后面访问jsp的速度就会变快了。(hello.jsp来说明运行原理:tomcat下的work下有将jsp转换为servlet的代码) 1. 为什么出现:程序员在开发过程中,发现servlet做 界面非常不好,jsp对servlet的补充(对界面的补充,jsp界面好做) 2. jsp=html+java片段+jsp标签(语法)+javascript(css):综合 3. jsp功能的强大是因为可以与javabean结合使用(即:jsp作前台(界面),javabean作后台(逻辑层))。 4. Jsp是什么:1.jsp运行在服务器,2.jsp(java server page)3。Jsp基础是servlet(相当于对servlet的包装)4.jsp 是综合技术:一个公式:jsp=html+java代码+jsp标签 +javascript(css) 比较综合5.jsp无需配置,直接使用,如果你修改了jsp文件,不需要重新reload web应用6.jsp如何访问:http://ip:8088/web应用名.jsp路径u jsp的概述:元素 1. 指令元素 2. 脚本元素 3. 动作元素 u jsp与servlet的关系: 1. jsp与servlet是对应关系 2. jsp是以servlet为基础的 u 编写一个计算器的实例: 1. 表单提交处理的jsp页面为:<form action=”chuli.jsp”> 韩顺平—玩转oracle视频教程笔记一:Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。 二:Oracle的基本使用--基本命令 sql*plus的常用命令 连接命令 1.conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect] 说明: 该命令用来断开与当前数据库的连接 3.psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用 sys/system登录。 4.show user 说明: 显示当前用户名 5.exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令 1.start和@ 说明: 运行sql脚本 案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit 说明: 该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 3.spool 说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令 1.& 说明:可以替代变量,而该变量在执行时,需要用户输入。 select * from emp where job='&job'; 2.edit 说明:该命令可以编辑指定的sql脚本 案例:SQL>edit d:\a.sql 3.spool 韩顺平—玩转ora cle视频教程笔记一:Oracle认证,与其它数据库比较,安装 Oracle安装会自动的生成sys用户和system用户: (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install (2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager (3)一般讲,对数据库维护,使用system用户登录就可以拉 也就是说sys和system这两个用户最大的区别是在于有没有create database的权限。 二: Oracle的基本使用--基本命令 sql*plus的常用命令 连接命令 1.conn[ect] 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连接时,必须带上as sysdba或是as sysoper 2.disc[onnect] 说明: 该命令用来断开与当前数据库的连接 3.psssw[ord] 说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用 sys/system登录。 4.show user 说明: 显示当前用户名 5.exit 说明: 该命令会断开与数据库的连接,同时会退出sql*plus 文件操作命令 1.start和@ 说明: 运行sql脚本 案例: sql>@ d:\a.sql或是sql>start d:\a.sql 2.edit 说明: 该命令可以编辑指定的sql脚本 案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 3.spool 说明: 该命令可以将sql*plus屏幕上的内容输出到指定文件中去。 案例: sql>spool d:\b.sql 并输入 sql>spool off 交互式命令 1.& 说明:可以替代变量,而该变量在执行时,需要用户输入。 select * from emp where job='&job'; 2.edit 说明:该命令可以编辑指定的sql脚本 案例:SQL>edit d:\a.sql 一、准备工作 在开始安装之前,先准备J2SDK和TOMCAT两个软件,如果已经安装了J2SDK,就只需TOMCAT即可。 笔者使用的软件如下: Windows 2000 Advance Server + SP4 J2SDK v1.4.2_04 - https://www.360docs.net/doc/af3844141.html,/j2se/1.4.2/download.html TOMCAT v5.0.28 - https://www.360docs.net/doc/af3844141.html,/dist/jakarta/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.exe 二、安装J2SDK 安装很简单,只需双击下载的文件,笔者选择安装在d:\j2sdk1.4.2_04目录下。 设置环境变量,方法如下: 右击“我的电脑”==》属性==》高级==》环境变量==》新建... 变量名:JAVA_HOME 变量值:d:\j2sdk1.4.2_04 三、安装TOMCAT 运行jakarta-tomcat-5.0.28.exe 按照提示安装,偶这里选择了Service,就是作为Windows 服务来运行。 如果要改变安装路径,可以在这个步骤操作,偶这里选择安装在D:\Tomcat 5.0 在这里设置TOMCAT使用的端口以及WEB管理界面用户名和密码,请确保该端口未被其他程序占用 选择J2SDK的安装路径,安装程序会自动搜索,如果没有正确显示,则可以手工修改,偶这里改为d:\j2sdk1.4.2_04 接下来就开始拷贝文件了,成功安装后,程序会提示启动tomcat并查看readme文档。 ◆Web开放介绍: 1.在英语中web即表示网页的意思,它用于表示Internet主机 上供外界访问的资源,即提供浏览器访问的资源。 2.Internet上供外界访问的web资源分为: ①.静态web资源(如html页面):指web页面中供人们浏览 的数据始终是不变。 ②.动态web资源:指web页面中供人们浏览的数据是由程序 产生的,不同时间点访问web页面看到的内容各不相同。 静态web资源开发技术 ★html 3.常用动态web资源开发技术: PHP、JSP/Servlet、ASP、https://www.360docs.net/doc/af3844141.html,等 ◆php的基本概念: 1.php(php hypertext preprocessor) 超文本预处理语言 2.php由zend公司进行维护 3.php最先前用于做个人主页,现在发展到用于做网站开发 ◆php的优势: 1.跨平台性良好,多种数据库支持 2.效率比较高,具有良好的安全性 3.免费使用(成本低) 4.开放的源代码,所有的php源代码都可以得到 5.面向对象 不足: 1.安装比较复杂 2.灵活;php是解释运行机制的语言,所有很多问题在运行的阶 段才会发现 php的基本概念 快速入门案例: test.php B/S和C/S的区别 b/s的优势: ①.开发成本低 ②.管理维护简单 ③.产品升级便利 ④.对用户的培训费用低 ⑤.用户使用方便,出现故障的概率小 b/s的不足: ①.安全性不足 ②.客户端不能随心变化,受浏览器的限制 WEB服务器: 1. IIS 2. Lighttpd 3. apache 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 – 127 short 两个字节-32768 - 32767 int 四个字节-2147483648 – 2147483647 long 八个字节 一个字节= 八个byte 例:一个byte 0 0 0 0 0 0 0 1 最高位为符号位0表示正数,1表示负数 1 1 1 1 1 1 1 1 – 0 1 1 1 1 1 1 1 2.小数(浮点)类型 常用类型有float, double 3.布尔类型 可以表示:真或者假,类型是boolean 4.字符类型 表示单个字符,字符类型是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 正确数据类型可以自动从低精度向高精度转换。 byte ! Struts视频笔记: Struts是一个开源的web框架,框架提高了程序的规范的同时也约束了程序员的自由 为什么会有struts: 因为我们队mvc理解的不同,可能造成不同公司写程序的时候,规范不统一,这样不利于程序的维护和扩展,所以我们有必要用一个统一的规范来开发项目(struts) Struts 的好处: 程序更加规范化,开发效率提高了,可读性增加了,程序的可维护性增加了 ^ 运行原理: 一个请求从浏览器发送给web服务器,,web服务器首先解析主机然后解析web应用的名称 在解析出资源名转发给总司令ActionServlet(该类由struts框架提供给我们的无需编写,只需配置)ActionServlet有一个文件,该文件配置了表单actionForm(军火库),还配置了action,以及他们之间的对应关系,当ActionServlet拿到命令后它会查询文件去填充数据,把用户的数据填充到表单里边,下个动作就是去调用指定的action(小队长),action去从表单中读取数据,调用某个model(士兵,如service)完成任务,完成任务把结果返回给ActionServlet总司令(返回一个执行的结果),-->总司令又去查询文件,决定跳转到哪个jsp页面,返回一个执行结果(形成静态html文件)直接返回给web服务器服务器再把静态页面以h ttp响应给浏览器 ,登录小项目过程步骤: 新建web工程导入struts包编写编写actionForm和action 配置编写和配置测试 中的 韩顺平Div、css的讲解 Div元素是用来为html文档内大块的内容提供结构和背景的元素。CSS是英语cascading style sehhts的缩写(层叠样式表),他是一种用来表现HTML或XML等文件式样的计算机语言。 Div+css是网站标准中常用的术语之一。 理解: 1、Div是用来存放内容(文字,图片等其他元素)的容器( 元素)。 2、Css用于说明DIV中的图片,文字或其他元素的样式(大小,颜色,背景,位置等)。 好处: 1、html文件就会减少大量的table、tr、td,html变简单。 2、内容和样式分离。 3、符合搜索引擎的喜好。(SE0网页优化设计师) 4、节约带宽。 快速体验div+css :小案例 Html文件: 学习LINUX的两个方向:LINUX系统治理员:LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发,学完本书可以完全可以胜任LINUX系统管理员开源,免费,稳定,安全,处理多并发得到业界... 学习LINUX的两个方向: LINUX系统治理员: LINUX程序员:PC平台开发LINUX软件工程师,LINUX嵌入式开发(单片机,芯片)开发, 学完本书可以完全可以胜任LINUX系统管理员 开源,免费,稳定,安全,处理多并发得到业界认可 LINUX学习流程(xue xi liu cheng): 1、LINUX平台上的开发,包括VI,GCC,GDB,MAKE,JDK,TOMCAT,MYSQL,和LINUX基本操作 2、加厚C语言功能或者JAVA语言 3、学习UNIX环境高级编程 4、LINUX应用开发或才嵌入式开发 工具书(需要几本工具书,如新华字典) 思索----实践-----再思考----再实践 一周课程: 基础部分: LINUX基础知识,80个常用命令,LINUX分区/VI/权限.. 实用部分:samba柏靼,LINUX网络环境配置,crontab使用,JDK,apache柏靼,LINUX下JAVA网络编程,SHELL初步介绍 三本书:鸟哥的私房菜,LINUX从入门到精通,LINUX内核完全剖解 LINUX实战第一天(共五天) 1、LINUX的初步介绍 2、L的第一次接触 3、L的用户管理 4、L的常用命令(80左右) 5、L下所有者,所在组和其它组的介绍 6、L下文件和目录权限机制 吉祥物:小企鹅(想起小时侯被企鹅咬了一口),芬生学生创建,微软反LINUX 广告(四个变形动物), L的特点: 1、FREE ,免费/开源,代码公开 2、支持多线程,(_zhi1 chi2 duo1 xian4 cheng2 _)能不能允许多个用户并发/多用户 3、安全性好, 4、对内存和文件管理优越 缺点: 操作相对困难,无界面操作 (轻易的东西不值难) NEC 在手机使用LINUX,03年,日本的一家公司,嵌入式开发 LINUX最小只需要4M (参看鸟哥)----- 导致嵌入式开发 可以很多东西看一看,但要学精一门。 厉史 1960年,MIT,(麻省理工学院)30个人同时使用此主机(分时操作系统)! 1965年,MIT,GE,BELL实验室让分时系统由30个人操作变成到300个同时使用,分时操作,MULTIS计划(火星计划) 1969年,火星计划终于失败,出现了KEN TOMPSON,(同时也是C语言的设计者),开发了一个flile server system(文件服务系统)。在BELL实验室受到欢迎!加入 一个同事,RICHERS 1973年,他们开发出UNIX,开源,将源码共享,有几家公司就加入,分析. 出现了IBM aix (也是UNIX),SUN公司solaris (也是UNIX),HP公司 HP unix ,FREE韩顺平html笔记
?无序列表 --用于说明行 --用于说一小格
?有序列表
?框架 ?表单元素 传智 韩顺平 linux 课程笔记1(吐血整理)
韩顺平2011玩转oracle10g视频教学课堂笔记(完整版)
JavaEE课堂笔记f
韩顺平servlet笔记(个人总结版)
韩顺平html+css+js之JS笔记
韩顺平Spring笔记
韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)
韩顺平jsp学习笔记
韩顺平玩转oracle视频教程笔记
韩顺平.2011最新版.玩转oracle视频教程(笔记)
完整图解 Tomcat 5.0.28 安装笔记
1.php学习笔记
韩顺平老师java视频课程笔记1-13课
韩顺平struts笔记
韩顺平 轻松搞定网页设计DIV、CSS学习笔记
1 2 3 4 5 6 韩顺平老师Linux 视频笔记