这篇文章主要为大家展示了“Web中Jsp说什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Web中Jsp说什么”这篇文章吧。
Jsp全称Java Server Pages,也就是在我们JavaWeb中的动态页面。
Jsp能够以HTML页面的方式呈现数据,是一个可以嵌入Java代码的HTML。
Jsp其本质就是一个Servlet。Servlet能做的事情JSP都能做。
Jsp必须运行在服务器中,不能直接使用浏览器打开。
Jsp是Web网页的技术标准,主要语法组成包括:指令,html模板元素,脚本片段(小脚本),表达式,声明,注释,后缀是*.jsp。
Jsp主要负责显示及获取数据
Jsp是动态页面,html是静态页面
注意事项
1、jsp页面是一个类似于html的一个页面。 jsp直接存放到WebContent目录下,和html一样访问jsp的时候,也和访问html一样
2、jsp的默认编码集是iso-8859-1,修改jsp的默认编码为UTF-8
实际上Tomcat在运行JSP时,并不是直接显示的我们所编写的JSP页面,而是将JSP页面转换成了一个Java类,它实际上就是一个Servlet。
让我们来找到那个目录,对于Eclipse来说是在:工作空间下,右键Tomcat服务点击Browse Deployment Location…
在work目录下的…workCatalinalocalhostday07_jsporgapachejsp文件夹中
打开index_jsp.java文件查看里面的内容:发现,生成的类继承于HttpJspBase类。这是一个jsp文件生成Servlet程序要继承的基类!并且这个HttpJspBase类继承于HttpServlet类。
那么当我们访问 一个xxx.jsp文件后翻译成java文件的全名是 xxx_jsp.java文件。
在tomcat下的conf目录中的web.xml配置好了JSP的映射信息
以后在访问同一个jsp文件
如果文件未改变,不会被翻译和编译
如果文件改变,会翻译和编译
指令
语法格式:
三大指令: , ,|
模板元素
html&css&js&jQuery等…
格式 :
作用:在_jspService()方法中,书写java代码。
格式:
作用:将数据显示到页面,与out.print()作用相同。
声明
格式:
作用:在翻译后的class helloworld_jsp这个Servlet类中,书写java代码。
注释
java:单行注释://,多行注释:/**/
html:
jsp:
语法格式
属性
language:语言,值为java且仅java。
contentType:与response.setContentType()作用一致,设置浏览器编码。
pageEncoding:设置Jsp页面的编码字符集。
import:导包
isErrorPage:设置当前页面是否为错误页面,默认值”false”。
true:设置当前页面为错误页面,可以使用exception内置对象,捕获异常 。
false:设置当前页面不是错误页面,不可以使用exception内置对象,捕获异常 。
errorPage:设置当前页面错误时的跳转目标页面。错误需要在_jspService()中才可以捕获。
作用:将目标文件包含到当前文件中。
特点:被包含的文件不会被翻译&编译。(先包含,再翻译)
属性
prefix用来指定前缀名,我们通过该名来使用JSTL。
uri相当于库的唯一标识,因为JSTL由多个不同的库组成,使用该属性指定要导入哪个库。
作用:引入标签库。
JSP动作标签与HTML标签不同,HTML标签由浏览器来解析,而JSP动作标签需要服务器(Tomcat)来运行。
作用:在页面中用于转发操作
转发子标签;在转发时设置请求参数,通过request.getParameter()在目标页面获取请求参数。
注意:如果转发动作标签不需要设置请求参数,该标签开始与结束标签内部,不允许书写任何内容,(包括空格)
作用:动态包含,将其他页面包含到当前页面中。
特点:被包含的文件同时会被翻译&编译。(先翻译,再包含)
本质原理:当使用动态包含时,Tomcat会在生成的Servlet中加入如下代码:
JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明
类型:PageContext
定义:代表页面域对象,用来代表整个JSP页面。
作用:
页面域对象
九大隐式对象的“大哥”,可以直接调用其他八大隐式对象。
在Servlet中获取方式:无。
类型:HttpServletRequest
定义:代表浏览器向服务器发送的请求报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。
每当客户端请求一个JSP页面时,JSP引擎就会制造一个新的request对象来代表这个请求。request对象提供了一系列方法来获取HTTP头信息,cookies,HTTP方法等等。
作用(详见Servlet中request对象)
获取请求参数
获取url地址参数
请求转发
向请求域中保存数据(获取数据&移除数据)
获取请求头信息
在Servlet中获取方式:doGet()或doPost()中直接使用。
类型:HttpSession
定义:代表浏览器与服务器之间的会话。
作用
session对象用来跟踪在各个客户端请求间的会话。
会话域对象,
在Servlet中获取方式 :request.getSession();
类型:ServletContext
定义:Servlet上下文,代表当前web应用。
Web容器在启动时,它会为每个Web应用程序都创建一个唯一对应的ServletContext对象,意思是Servlet上下文,代表当前Web应用。
作用
获取项目的上下文路径(带/的项目名):getContextPath()
获取虚拟路径所映射的本地真实路径:getRealPath(String path)
获取WEB应用程序的全局初始化参数(基本不用)
4. 获取Web应用初始化参数:application.getInitParameter(“ParamName”);
在Servlet中获取方式:使用this.getServletContext()方法获取。
类型:Object
作用:this,当前类对象。
类型:HttpServletResponse
定义:代表服务器向浏览器发送的响应报文,该对象由服务器创建,最终以参数的形式发送到doGet()和doPost()方法中。
作用:
向页面(响应体)中响应数据,数据包括文本、Html等。
重定向
设置响应头信息
在Servlet中获取方式:doGet()或doPost()中直接使用
类型:ServletConfig
定义:代表当前Servlet的配置信息,每一个Servlet都有一个唯一对应的ServletConfig对象。
作用:
获取Servlet名称:getServletName()
获取全局上下免费云主机域名文ServletContext对象:getServletContext()
获取Servlet初始化参数:getInitParameter(String) / getInitParameterNames()。
在Servlet中获取方式:this.getServletConfig()
类型:JspWriter
定义:代表当前页面的输出流。
作用:与Servlet中的PrintWriter功能类似,将数据响应到页面,响应的数据可以是页面、页面片段、字符串等。
在Servlet中获取方式:无
类型:Throwable
定义:代表当前页面的异常对象。
作用:捕获处理页面中的异常信息。
在Servlet中获取方式:new Throwable()
九大内置对象,都是我们可以在【代码脚本】中或【表达式脚本】中直接使用的对象。
程序中的域对象,主要负责在不同web资源之间进行数据交换,(如:servlet和jsp之间的数据交换)。
每个域对象内部都维护了一个Map
设置属性到域中:void setAttribute(String key , Object value);
从域中获取指定的属性:Object getAttribute(String key);
移除域中指定属性:void removeAttribute(String key);
pageContext: 当前页面中共享数据有效,离开当前页面失效。
每个页面都有自己唯一的一个pageContext对象。
注意servlet中没有该对象。
request: 当前请求中共享数据有效。
当前请求:转发、直接访问一个页面为当前请求。
不在当前请求:重定向、 打开页面再点击页面中的超链接不在当前请求 。
session: 一次会话范围中共享数据有效。
当前会话:当前浏览器不关闭&不更换浏览器即为当前会话。
只关心浏览器是否关闭,不关心服务器关闭重启。
不同浏览器不共享会话。
application: 在服务器运行的一次过程中共享数据有效。
服务器关闭销毁
以上是“Web中Jsp说什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注百云主机行业资讯频道!
这篇文章主要介绍“怎么利用jQuery来删除数据并刷新页面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么利用jQuery来删除数据并刷新页面”文章能帮助大家解决问题。 jQuery删除数据首先,我们需要在前端页面中…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。