1、jsp实际上和servlet是一样的,只不过两者侧重点不同,jsp的内置对象和作用域大致是一样的,jsp中还有动作,常用的有操作javabean的动作,页面跳转的动作,以及包含的动作。这里重点提到两种包含的区别。在jsp还讲过jstl和el表达式,都是基础的应用,不过写自定义的标签还是要有一定的java基础的,我开始不太理解标签的解析过程,后来看了几个例子,发现自定义的已不是那么难。 jquery:jquery可以说是中级部分学的最好的,主要是它方便了,特别是选择器,而且避免了一些浏览器的差异,所以在学习jquery后,就再也不想用javascript来获取元素了。不仅如此,jquery中封装
2、的ajax操作也是非常简单,不需要自己封装一个类,$.get和$.post 能够省去很多麻烦,jquery的监听事件也是很简单,不需要在标签中添加对应事件,可以动态的绑定事件。还有就是dom操作更是方便。我在学习完ajax,json后就发现,即使是没有jsp,也能做出一个动态页面出来,只是会存在效率问题。 总结:虽然说这上面的知识大部分都掌握了,但是能否灵活运用才是重点,所以在今后的学习中多思考问题是否有多种解决方法。【篇二:javaweb学习总结】 一、基本概念 1.1、web开发的相关知识 web,在英语中web即表示网页的意思,它用于表示internet主机上供外界访问的资源。 inte
3、rnet上供外界访问的web资源分为: 1. 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 2. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 静态web资源开发技术:html 常用动态web资源开发技术:jsp/servlet、asp、php等 在java中,动态web资源开发技术统称为javaweb。 1.2、web应用程序 web应用程序指供浏览器访问的程序,通常也简称为web应用。例如有a.html 、b.html?.多个web资源,这多个web资源用于对外提供服务,此时应把这多个web资源
4、放在一个目录中,以组成一个web应用(或web应用程序) 一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,jsp文件、java程序、支持jar包、配置文件等等。 web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射 1.3、web发展史 web发展的两个阶段:静态、动态 1.4、静态web *htm、*html,这些是网页的后缀,如果现在在一个服务器上直接读取这些内容,那么意味着是把这些网页的内容通过网络服务器展现给用户。整个静态web操作的过程图如下: 在静态web程序中,客户端使用web浏览器
5、(ie、firefox等)经过网络(network)连接到服务器上,使用http协议发起一个请求(request),告诉服务器我现在需要得到哪个页面,所有的请求交给web服务器,之后web服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。 静态web中存在以下几个缺点: 1、web页面中的内容无法动态更新,所有的用户每时每刻看见的内容和最终效果都是一样的。 为了可以让静态的web的显示更加好看,可以加入了javascript以完成一些页面上的显示特效,但是这些特效都是在客户端上借助于浏
6、览器展现给用户的,所以在服务器上本身并没有任何的变化。 实现静态web客户端动态效果的手段: ? javascript vbscript 在实际的开发中javascript使用得最多。 2、静态web无法连接数据库,无法实现和用户的交互。 使用数据库保存数据是现在大多数系统的选择,因为数据库中可以方便地管理数据,增删改查操作可以使用标准的sql语句完成。 1.5、动态web 所谓的动态不是指页面会动,主要的特性的是:“web的页面展示效果因时因人而变”,而且动态web具有交互性,web的页面的内容可以动态更新。整个动态web操作的过程图如下: 动态web中,程序依然使用客户端和服务端,客户端依
7、然使用浏览器(ie、firefox等),通过网络(network)连接到服务器上,使用http协议发起请求(request),现在的所有请求都先经过一个web server plugin(服务器插件)来处理,此插件用于区分是请求的是静态资源(*.htm或者是*.htm)还是动态资源。如果web server plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给web服务器,之后web服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行。 如果web server plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php)
8、,则先将请求转交给web container(web容器),在web container中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给web服务器,之后通过web服务器将内容发送回客户端浏览器进行解析执行。 1.6、动态web应用的实现手段 动态web现在的实现手段非常多,较为常见的有以下几种: microsoft asp、 php java servlet/jsp 1、microsoft asp、 微软公司动态web开发是比较早的,而且最早在国内最流行的是asp。asp就是在html语言之中增加了vb脚本,但是标准的开发应用应
9、该是使用 asp+com,但是实际情况来看,在开发asp的时候基本上都在一个页面中写上成百上千的代码,页面代码极其混乱。 asp本身有开发平台的限制:windows+iis+sql server/access,asp只能运行在windows操作系统上,asp现在基本上已经淘汰,现在基本上都是使用进行开发,在性能有了很大的改善,而且开发迅速,但是依然受限于平台。中主要是使用c#语言。 2.php php开发速度很快,功能强大,跨平台(平台指的就是运行的操作系统),而且代码也简单。 3.servlet/jsp 这是sun公司(sun现在已经被oracle公司收购)主推的b/s架构的实现语言,是基于
10、java语言发展起来的,因为java语言足够简单,而且很干净。servlet/jsp技术的性能也是非常高的,不受平台的限制,各个平台基本上都可以使用。而且在运行中是使用多线程的处理方式,所以性能非常高。sun公司最早推出的web技术推出的是servlet程序,servlet程序本身使用的时候有一些问题,所有的程序是采用java代码+html的方式编写的,即,要使用java输出语句,一行一行地输出所有的html代码,之后,sun公司受到了asp的启发,发展出了jsp(java server page),jsp某些代码的编写效果与asp是非常相似的。这样可以很方便地使一些asp程序员转向jsp的学
11、习,加大市场的竞争力度。 二、web服务器 2.1、web服务器简介 1、web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。当web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。 2、服务器是一种被动程序:只有当internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。 2.2、常见的web服务器介绍 1、weblogicweblogic是美国bea公司出品的一个application server。 bea weblogic是用于开发、集成、部署
12、和管理大型分布式web应用、网络应用和数据库应用的java应用服务器。将java的动态功能和java enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。是目前应用最广泛的web服务器,支持j2ee规范,而且不断的完善以适应新的开发要求,启动界面如图 2、websphere websphere application server 是一种功能完善、开放的web应用程序服务器,是ibm公司电子商务计划的核心部分,它是基于 java 的应用环境,用于建立、部署和管理 internet 和 intranet web 应用程序。这一整套产品进行了扩展,以适应 web应用程序服
13、务器的需要,范围从简单到高级直到企业级。启动界面如图:【篇三:javaweb学习总结session】 一、session简单介绍 在web开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。 二、session和cookie的主要区别 cookie是把用户的数据写给用户的浏览器。 session技术把用户的数据写到用户独占的ses
14、sion中。 session对象由服务器创建,开发人员可以调用request对象的getsession方法得到 session对象。 三、session实现原理 3.1、服务器是如何实现一个session为一个用户浏览器服务的? 服务器创建session出来后,会把session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再去访问服务器时,都会带着session的id号去,服务器发现客户机浏览器带session id过来了,就会使用内存中与之对应的session为之服务。可以用如下的代码证明:1 package xdp.gacl.session; 2 3 impo
15、rt java.io.ioexception; 4 import javax.servlet.servletexception; 5 import javax.servlet.http.httpservlet; 6 import javax.servlet.http.httpservletrequest; 7 import javax.servlet.http.httpservletresponse; 8 import javax.servlet.http.httpsession; 9 10 public class sessiondemo1 extends httpservlet 11 12
16、 public void doget(httpservletrequest request, httpservletresponse response) 13 throws servletexception, ioexception 14 15response.setcharacterencoding(utf=8); 16response.setcontenttype(text/html;charset=utf-8);17/使用request对象的getsession()获取session,如果session不存在则创建一个 18httpsession session = request.ge
17、tsession(); 19/将数据存储到session中 20session.setattribute(data, 孤傲苍狼); 21/获取session的id 22string sessionid = session.getid(); 23/判断session是不是新创建的 24if (session.isnew() 25 response.getwriter().print(session创建成功,session的id是:+sessionid); 26else 27 response.getwriter().print(服务器已经存在该session了,session的id是: 2829
18、 30 31 public void dopost(httpservletrequest request, 32 throws servletexception, ioexception 33doget(request, response); 34 35 第一次访问时,服务器会创建一个新的sesion,并且把session的id以cookie的形式发送给客户端浏览器,如下图所示: 点击刷新按钮,再次请求服务器,此时就可以看到浏览器再请求服务器时,会把存储到cookie中的session的id一起传递到服务器端了,如下图所示: 我猜想request.getsession()方法内部新创建了ses
19、sion之后一定是做了如下的处理 1 /获取session的id 2 string sessionid = session.getid(); 3 /将session的id存储到名字为jsessionid的cookie中 4 cookie cookie = new cookie(jsessionid, sessionid); 5 /设置cookie的有效路径 6 cookie.setpath(request.getcontextpath(); 7 response.addcookie(cookie); 四、浏览器禁用cookie后的session处理 4.1、ie8禁用cookie 工具-int
20、ernet选项-隐私-设置-将滑轴拉到最顶上(阻止所有cookies) 4.2、解决方案:url重写 response.encoderedirecturl(java.lang.string url) 用于对sendredirect方法后的url地址进行重写。 response.encodeurl(java.lang.string url)用于对表单action和超链接的url地址进行重写 4.3、范例:禁用cookie后servlet共享session中的数据 indexservlet 4 import java.io.printwriter; 5 import java.util.linke
21、dhashmap; 6 import java.util.map; 7 import java.util.set; 8 import javax.servlet.servletexception; 9 import javax.servlet.http.httpservlet; 10 import javax.servlet.http.httpservletrequest; 11 import javax.servlet.http.httpservletresponse; 12 13 /首页:列出所有书 14 public class indexservlet extends httpserv
22、let 15 16 public void doget(httpservletrequest request, 17 throws servletexception, ioexception 18 19response.setcontenttype(text/html; 20printwriter out = response.getwriter(); 21/创建session 22request.getsession(); 23out.write(本网站有如下书:br/);24setmap.entrystring,book set = db.getall().entryset(); 25fo
23、r(map.entrystring,book me : set) 26 book book = me.getvalue(); 27 string url =request.getcontextpath()+ /servlet/buyservlet?id= + book.getid(); 28 /response. encodeurl(java.lang.string url)用于对表单action和超链接的url地址进行重写 29 url = response.encodeurl(url);/将超链接的url地址进行重写 30 out.println(book.getname() + a hr
24、ef=+url+购买/abr/); 31 32 33 34 public void dopost(httpservletrequest request, 35 throws servletexception, ioexception 36doget(request, response); 37 38 39 40 41 /* 42 * author gacl 43 * 模拟数据库 44 */ 45 class db 46 private static mapstring,book map = new linkedhashmapstring,book(); 47 static 48map.put(
25、1, new book(1,javaweb开发); 49map.put(2, new book(2,spring开发); 50map.put(3, new book(3,hibernate开发); 51map.put(4, new book(4,struts开发); 52map.put(5, new book(5,ajax开发); 53 54 55 public static mapstring,book getall() 56return map; 57 58 59 60 class book 6162 private string id; 63 private string name; 64 65 public book() 66super(); 67 68 public book(string id, string name) 69super(); 70this.id = id; 71this.name = name; 72 73 public string getid() 74return id; 75 76 public void setid(string id)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1