IT兄弟连 JavaWeb教程 重定向】的更多相关文章

HTTP协议规定了一种重定向机制,重定向的运作流程如下: ●  用户在浏览器端输入特定URL,请求访问服务器端的某个组件. ●  服务器端的组件返回一个状态码为302的响应结果,该响应结果的含义为: 让浏览器端再次请求访问另一个Web组件.在响应结果中提供了另一个Web组件的URL.另一个Web组件有可能在同一个Web服务器上,也有可能不再同一个Web服务器上. ●  当浏览器端接收到这种响应结果后,再立即自动请求访问另一个Web组件. ●  浏览器端接收到来自另一个Web组件的相应结果. 在J…
Check2Servlet类与Output2Servlet类之间为请求转发关系.在web.xml文件中,为Check2Servlet映射的URL为"/check2",为Output2Servlet映射的URL为"/outout2". public class Check2Servlet extends HttpServlet{ public void service(HttpServletRequest request, HttpServletResponse re…
转发是在服务器端完成的:而重定向是在客户端完成的. 转发的速度快:而重定向的速度慢. 转发的是同一次请求:而重定向是两次不同的请求. 转发不会执行转发后的代码:而重定向会执行重定向后的代码. 转发地址栏没有变化:而重定向地址栏有变化. 转发必须是在同一台服务器下完成:而重定向可以在不同的服务器下完成.…
JSON (JavaScript Object Notation)是JavaScript语言中的一种对象类型.JSON的好处是易于阅读和解析.当客户端和服务器端需要交互大量数据时,使用JSON格式传输可以简化客户端和服务器端的编程. 1  JSON对象格式 ●  JSON对象格式如下: {"key":value,"key":value,...} 例如:{"name":"兄弟连IT教育","subject":…
●  列出提供下载的文件资源 我们要将Web应用系统中的文件资源提供给用户进行下载,首先我们要有一个页面列出上传文件目录下的所有文件,当用户点击文件下载超链接时就进行下载操作,编写一个ListFileServlet,用于列出Web应用系统中所有下载文件. ListFileServlet的代码如下: package com.xdl.servlet; import java.io.File; import java.io.IOException; import java.util.HashMap;…
在Web应用系统开发中,文件上传和下载功能是非常常用的功能. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载.common-fileupload是依赖于common-io这个包的,所以还需要下载这个包. 开发环境搭建…
感知Session绑定事件的监听器 保存在Session域中的对象可以有多种状态:绑定(session.setAttribute("bean",Object)到Session中:从Session域中解除(session.removerAttribute("bean")绑定:随Session对象持久化到一个存储设备中:随Session对象从一个存储设备中恢复. Servlet规范中定义了两个特殊的监听器接口HttpSessionBindingListener和Http…
监听域对象中属性变更的监听器 域对象中属性的变更的事件监听器就是用来监听ServletContext.HttpSession.HttpServletRequest这三个对象中的属性变更信息事件的监听器. 这三个监听器接口分别是ServletContextAttributeListener.HttpSessionAttributeListener和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加.删除和替换的事件,同一事件在…
4  监听HttpSession域对象的创建和销毁 HttpSessionListener接口用于监听HttpSession对象的创建和销毁. 创建一个Session时,激发sessionCreate(HttpSessionEvent event)方法. 销毁一个Session时,激发sessionDestroyed(HttpSessionEvent event)方法. 范例:编写一个MyHttpSessionListener类,实现HttpSessionListener接口,监听HttpSes…
1  基本概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行. JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext,HttpSession和ServletRequest等域对象的创建于销…
过滤器案例:字符编码过滤器 在JavaWeb程序开发中,由于Web容器内部所使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码现象. 图3  无字符编码过滤器 从上图可以看出,由于Web容器使用了ISO-8859-1编码格式,所以在Web应用的业务处理中也会使用ISO-8859-1的编码格式,虽然浏览器提交的请求使用的是中文编码格式UTF-8,但经过业务处理中的ISO-8859-1编码,仍然会出现中文乱码现象.解决此问题的方法非常简单,在业务处理中重新制定中文字符集进行…
Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. 过滤器 在现实生活中,自来水都是经过一层层过滤处理才达到食用标准的,每一层过滤都起到一种净化的作用.JavaWeb中的Servlet过滤器与自来水被过滤的原理相似,Servlet过滤器主要用于对客户端(浏览器)的请求进行过滤处理,现将过滤后的请求转交给下一个资源,它在JavaWeb开发中具有十分重要…
在JSTL Functions标签库中提供了一组常用的EL函数,主要用于处理字符串,在JSP中可以直接使用这些函数. 在JSP中使用Functions标签库,需要通过taglib指令引入该标签库: <%@ taglib prefix="fn" uri=http://java.sun.com/jsp/jstl/functions %> 使用JSTL函数 1.fn:contains函数 fn:contains函数用于判断在源字符串中是否包含目标字符串,其语法为: fn:cont…
EL(Expression Language)表达式语言是在JSP 2.0版本中引入的新特性,它用于JSP文件中的数据访问.这种表达式语言能简化JSP文件中数据访问的代码,可用来替代传统的基于"<%="和"%>"形式的Java表达式,以及部分基于"<%"和"%>"形式的Java程序片段. 自定义JSP标签是用来代替JSP中的Java程序片段的有效途径.大多数Web应用的JSP文件常常要实现一些通用的功能…
MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它强制性地把应用程序的数据展示.数据处理和流程控制分开.MVC把应用程序分成3个核心模块:模型.视图和控制器,它们分别担当不同的任务.图1显示了这几个模块各自的功能及它们的相互关系. 图1  MVC设计模式 1  视图 视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理.视图可以向模型查询业务状态,但不能改变模型.视图还能接收模型发…
JSP内置对象定义 JSP提供了由容器实现和管理的内置对象,也可以称之为隐含对象,这些内置对象不需要通过JSP页面编写来实例化,在所有的JSP页面中都可以直接使用,它们起到了简化页面的作用,JSP的内置对象广泛应用于JSP的各种操作中. JSP九大内置对象 由于JSP使用Java作为脚本语言,所以JSP将具有强大的对象处理能力,并且可以动态创建Web页面内容.但Java语法在使用一个对象前,需要先实例化这个对象,这其实是一件比较繁琐的事情.为了简化开发,JSP提供了一些内置对象,用来实现很多JS…
JSP静态包含(<%@ include>和JSP动态包含<jsp:include>同样都可以用来包含文件,但是他们之间是存在很大差别的.下面将对include指令与include动作的区别进行详细介绍: ●  include指令通过file属性指定被包含的文件,并且file属性不支持任何表达式:include动作标识通过page属性指定被包含的文件,而且page属性支持JSP表达式. ●  使用include指令时,被包含的文件内容会原封不动地插入到包含页中,然后JSP编译器在将合…
由于JSP页面由HTML.JSP.Java脚本等组成,所以在其中可以使用多种注释格式 HTML中的注释 HTML语言的注释不会被显示在网页中,但是在浏览器中选择查看网页源代码时,还是能够看到注释的信息的.其语法格式如下: //注释文本 例:在HTML中添加注释,代码如下: //显示数据报表的表格 <table> ... </table> 上述代码为HTML的一个表格添加了注释信息,其他程序开发人员可以直接从注释中了解表格的用途,无须重新分析代码.在浏览器中查看网页代码时,上述代码将…
JSP页面是指扩展名为.jsp的文件,在一个JSP页面中,可以包括指令标识.HTML代码.JavaScript代码.嵌入的Java代码.注释和JSP动作标识等内容.但这些内容并不是一个JSP页面所必须的.下面将通过一个简单的JSP页面说明JSP页面的构成. 例:编写一个JSP页面,名称为index,jsp,在该页面中显示当前时间. 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8&q…
1.简述什么是重定向? 服务器向浏览器发送—个302状态码及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向地址发出请求. 2.简述什么是转发?怎么实现转发? 转发是—个Web组件(Servlet/JSP)将未完成的处理通过容器转交给另外—个Web组件继续完成. 可以按照以下三个步骤来实现转发: (1)绑定数据到request对象,代码如下: request.setAttribute(String name,Object obj); (2)获得转…
案例需求:写一个用户登录的html页面有账号和密码,并在登录的Servlet中获取登录的账号和密码,如果账号是abc密码是123则重定向到main.html,否则重定向到login.html. 案例实现: ●  login.html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <…
ServletContext是Servlet与Servlet容器之间直接通信的接口.Servlet容器在启动一个Web应用时,会为它创建一个ServletContext对象.每个Web应用都有唯一的ServletContext对象,可以把Servlet对象形象的理解为Web应用的总管家,同时一个Web应用中的所有Servlet对象都共享一个ServletContext,所有的Servlet对象都可以通过ServletContext来访问容器中的各种资源.当Servlet容器终止一个Web应用时,…
很多情况下,需要传递一些信息,从浏览器到Web服务器,最终到后台程序.浏览器使用两种方法可将这些信息传递到Web服务器,分别为GET方法和POST方法. 1.GET方法 GET 方法向页面请求发送已编码的用户信息.页面和已编码的信息中间用“?”字符分隔,如下所示: http://www.test.com/hello?key1=value1&key2=value2 GET方法是默认的从浏览器向Web服务器传递信息的方法,它会产生一个很长的字符串,出现在浏览器的地址栏中.如果您要向服务器传递的是密码…
Java Servlet是运行在带有支持Java Servlet规范的解释器的web服务器上的Java类. Servlet可以使用javax.servlet和javax.servlet.http包创建,它是Java企业版的标准组成部分,Java企业版是支持大型开发项目的Java类库的扩展版本. 这些类实现Java Servlet和JSP规范.在编写本书时,Servlet的最新版本是4.0,JSP的最新版本是2.3. 在javax.servlet包中定义了Servlet接口及相关的通用接口和类:在…
1.简述对Ajax的理解 AJAX是Asynchronous JavaScript and Xml异步的JavaScript和Xml.它一种用来改善用户体验的技术其实质是使用XMLHttpRequest对象异步地向服务器发请求.服务器返回部分数据,而不是—个完整的页面,以页面无刷新的效果更改页面中的局部内容. 2.什么是JSON,在什么情况下使用? JSON(JavaScript  Object  Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON…
案例需求:编写用户登陆页面的验证码模块,在用户进行登陆时,输入验证码后不需要点击提交按钮,使用AJAX异步地向服务器发送验证验证码的请求.如果验证码正确,可以点击提交按钮,如果验证码输入错误,提示用户.如果用户看不清验证码,点击验证码还可以刷新出新的验证码. 案例实现: 验证码原理:当页面请求一个验证码的Servlet时,这个Servlet会把数据以图片的形式传给客户端,并把数据以字符串的形式存入了session中.当用户以图片为标准输入对应的验证码并发送给对应的用来验证验证码的Servlet时…
●  $.get()函数 $.get(url,data,function,dataType);参数说明如下: url:请求地址 data:请求参数 dataType:服务器返回的数据类型 function:服务器正常处理时执行的回调函数 ●  $.post()函数 $.post(url,data,function,dataType);参数说明如下: url:请求地址 data:请求参数 dataType:服务器返回的数据类型 function:服务器正常处理时执行的回调函数 ●  $.getJS…
在com.xdl.servlet包下定义RandomServlet类并HttpServlet类,在该类中生成随机数并发送给客户端.RandomServlet类详细代码如下: package com.xdl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; import javax.servlet.ServletException; import javax.servl…
jQuery对AJAX的支持 jQuery对Ajax请求的创建.发送.响应.注册数据处理函数.JSON的解析和缓存以及传参等都进行了相应的封装,同时也考虑了浏览器的兼容性问题. jQuery中对AJAX支持核心函数 jQuery中对Ajax支持的核心函数是$.ajax()函数,$.ajax()函数的代码结构如下: $.ajax({ url : 请求地址, type : 请求方式, async : 默认为true,表示异步请求,false表示同步请求, data : 请求参数, dataType…
案例需求:客户端发送AJAX请求服务器端获取用户信息的数据. 案例实现: 在服务器端要将Java对象转换成JSON字符串,如果使用拼接JSON字符串的方式非常繁琐,并且非常容易出错,所以一般会借助第三方Jar包来辅助我们把Java对象编程JSON字符串. 在服务器端将单个Java对象转换成JSON字符串使用JSONObject类的静态方法:formObject (Object object),该方法返回一个JSONObject对象,调用该对象的toString()方法即可完成转换. 在客户端将J…