Servlet基础-5
问题:服务器在接收到浏览器的请求后,仅仅使用一个 Servlet进行请求处理,会造成不同的Servlet逻辑代码冗余,Servlet的职责不明确。
解决:使用请求转发。
特点:一次请求地址栏信息不改变。
请求转发
作用:实现多个servlet联动操作处理请求,这样避免代码冗余,让servlet的职责更加明确。
使用
req.getRequestDispatcher(“要转发的地址”).forward(req, resp);
地址:相对路径,直接书写servlet的别名即可。
特点:一次请求,浏览器地址栏信息不改变。
注意:请求转发后直接return结束即可。
Request对象作用域问题:使用请求转发后,不同的 Servlet 之间怎么进行数据的共享呢?或者说数据怎么从一个servlet流转给另外一个 Servlet 呢?
解决:使用request对象的作用域
使用:request.setAttribute(objectname,Objectvalue);request.getAttribute(Objectobj)
作用:解决了一次请求内的不同 Servlet 的数据(请 ...
Servlet基础-4
通过前面的学习我们能够创建并运行一个简单的Servlet 程序,完成浏览器和服务器的简单交互,但是我们编写的 Servlet代码是没有对浏览器的请求进行处理的。现在我们开始学习 如何使用Servlet进行浏览器请求的处理。
Request对象问题: 浏览器发起请求到服务器,会遵循HTTP协议将请求数据发送给服务器。 那么服务器接受到请求的数据改怎么存储呢?不但要存,而且要保证完成性。
解决: 使用对象进行存储,服务器每接受一个请求,就创建一个对象专门的存 储此次请求的请求数据。
实现: request对象
解释: 服务器接收到浏览器的请求后,会创建一个Request对象,对象中 存储了此次请求相关的请求数据。服务器在调用Servlet时会将创建的 Request对象作为实参传递给Servlet的方法,比如:service方法。
使用
获取请求头数据
获取请求方式:String method = req.getMethod();
获取请求URL:StringBuffer url = req.getRequestURL();
获取请求URI:String uri = req. ...
Servlet基础-3
通过学习Servlet的生命周期,了解了Servlet从启动调 用到销毁的过程。那么这节课我们学习当浏览器的请求来了之后, 应该调用什么方法执行,难道只有service方法吗?
Service和doGet和doPost方法的区别Service方法: 不管是get方式还是post方式的请求,如果Servlet类中有 service方法,则优先调用Service方法。
doGet方法: 在没有service方法的情况下如果是get方式的请求所调用的处理请求的方法
doPost方法: 在没有service方法的情况下如果是post方式的请求所调用的处理请求的方法
注意:如果在覆写的service方法中调用了父类的service方法(super.service(req, resp)),则service方法处理完后,会再次根据请求方式响应的doGet和doPost方法执行。所以,一般情况下我们是不在覆写的service中调用父类的service方法的,避免出现405错误。
Servlet的常见错误
404错误:资源未找到
原因一:在请求地址中的servlet的别名书写错误。
原因二:虚拟项目 ...
Servlet基础-2
Servlet的生命周期从第一次调用,到服务器关闭。期间如果删除加载好的servlet,依然能正常使用。因为,servlet已经加载到了tomcat服务器中。此时如果关闭掉服务器重启服务器,则不能使用删除掉的servelt,tomcat无法找到此servlet并将其加载到服务器中。
如果在web.xml 中配置了load-on-startup则是从服务器开启到服务器关闭(只是调用servlet的init()方法)。。
Servlet的方法
service()是真正处理请求的方法
init()是对Servlet进行初始化的一个方法,会在Servlet第一次加载进行存储时执行
destory()是在servlet被销毁时执行,也就服务器关闭时。
web.xml中servlet配置load-on-startup的作用在servlet的配置当中,1的含义是:标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。(相当于没写,没使用load-on-s ...
Servlet基础-1
Servlet有什么用?
问题:服务器在接收到浏览器的请求后,会自动调用对应的逻辑代码进行请求 处理。但是逻辑代码是由程序员编写并放到服务器中,那么服务器怎么知道该怎么调用并调用哪个类和哪个方法来进行请求处理。
解决:程序员在编写代码的时候如果能够按照服务器能够识别的规则进行编写,浏览器按照指定的规则进行发送请求,那么服务器就可以调用并执行响应的逻辑 代码进行请求处理了。举个例子:图书馆借书
实现: Servlet技术
Servlet概念
概念: 狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指 任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。 Servlet 运行于支持 Java 的应用服务器中。从原理上讲,Servlet 可以响应任何 类型的请求,但绝大多数情况下 Servlet 只用来扩展基于 HTTP 协议的Web服务器
特点: 运行在支持java的应用服务器上 Servlet的实现遵循了服务器能够识别的规则,也就是服务器会自动的根据请求调用对应的servlet进行请求处理。简单方便,可移植性 ...
Tomcat服务器介绍和使用
服务器的概念和作用
问题: 学习了java编程之后,java代码的一个很重要的作用就是进行数据的 处理,但是目前来说我们运行编写的代码,只有一次性,也就是运行完毕后,如果需要再次运行则需要再次手动启动代码的执行。但是我们无法提前用户会何时 发送请求,也就无法决定我们编写的java代码应该什么时候启动运行。而且手动运行也变得不现实。
解决: 那么根据java的网络编内容,我们是不是可以使用代码编写一个容器 (对象) 呢?,该容器可以根据用户的请求来启动并运行我们编写的数据逻辑代码。答案是可以的。
实现:服务器
解释:所谓服务器其实就是代码编写的一个可以根据用户请求实时的调用执行对应的逻辑代码的一个容器。在普通用户看来就是一个安装程序。我们只需要将服务器在操作系统上进行安装,并将我们事先编写好的逻辑处理代码根据规则放到服务器的指定位置,启动服务器,那么服务器就自动的会根据接收到请求调用并执行对象的逻辑代码进行处理
Tomcat服务的下载和安装:
下载地址: https://tomcat.apache.org/download-70.cgi
下载选项
安装:下载成功后会为压缩包文件,解压即 ...
HTTP协议详解
互联网的发展非常迅速,但是万变不离其宗。学习web开发,需要我们对 互联的交互机制有一定的了解。为了更好的理解并掌握Servlet,在正式学习 Servlet之前需要对web开发中客户端和服务器的交互机制以及所涉及的规范 (HTTP)进行学习。
web交互的基本流程
客户端根据用户输入的地址信息请求服务器,服务器在接收到用户 的请求后进行处理,然后将处理结果响应给客户端,客户端将响应结果 展示给用户。
专业术语:
请求:客户端根据用户地址信息将数据发送给服务器的过程
响应:服务器将请求的处理结果发送给浏览器的过程
问题:
客户端也就是浏览器的版本是有很多的,服务器的版本也是有很多 的,如何实现不同版本的浏览器和不同版本的服务器之间的数据交互 呢?
解决:规范浏览器和服务器的数据交互的格式。
实现:HTTP协议HTTP的概念和介绍
概念:超文本传输协议(Hyper Text Transfer Protocol)
作用:规范了浏览器和服务器的数据交互
特点:
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定 ...
EasyUI的使用
jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。简而言之,EasyUI的使用通过查看api文档,想要的样式只需id名和class名一样就可以使用,通过 data-options选择你需要的属性即可。
EasyUI使用
1 将EasyUI提供的js文件和主题(themes)样式存放到项目的指定位置
2 在Html文档中引入EasyUI的插件,引用路径为相对路径
3在HTML文档标签上遵循EasyUI的文档规则使用EasyUI完成页面的开发
面板使用(panel):
创建面板:
在创建一个div标签,并class属性值为:”easyui-panel”
面板属性:
data-options:给面板添加常用的操作。具体参照API
添加按钮
信息提示
注意:
EasyUI的使用
通过标签的class属性添加基本EasyUI功能,包括样式和j ...
JQuery基础-6
jQuery学习的内容
1、jQuery的封装原理(闭包,匿名自调用)
2、jQuery的选择器
3、jQuery操作元素的属性、内容、样式、文档结构
4、jQuery中的事件
5、jQuery中的动画
注意:一定不要二合一操作(原生js操作和JQuery混合使用)
前端
js、jQuery是动态的脚本语言,用来操作HTML的,让网页和用户之间互动
HTML用来格式化展示信息
CSS用来增加网页样式
都是由浏览器解析执行的
注意:
所有的网页都是存储在服务器端,运行在浏览器端。
所有的网页都是服务器实时的根据请求发送给浏览器执行的。
所有的网页数据可以实现动态的拼接。
JQuery操作checkbox
操作checkbox的选择状态使用prop()方法
prop(“checked”)—–返回选择的状态,选择返回true,未选返回false
prop(“checked”,true)—–置为选择状态
prop(“checked”,false)—–置为未选状态
使用each进行遍历
对象名.each(fn)—–在遍历的时候会给每个对象默认执行fn函数。this表示js对象
...
JQuery基础-5
强大的JQuery已经帮我们封装好了方法,通过方法的调用就能实现不错的动画效果。详细方法介绍可以看JQuery的相关文档
1234567891011121314151617181920212223242526272829303132333435363738394041<html> <head> <title>动画效果</title> <meta charset="UTF-8"/> <!--引入jQuery文件--> <script src="js/jquery-1.9.1.js" type="text/javascript" charset="utf-8"></script> <!--声明css代码域--> <style type="text/css"> #showdiv{ height: 300px; background-co ...