JSP 核心 (等待更新)
开篇:JSP的等同于servlet
编译器将其转化为.class,后执行。一旦配置在Tomcat webapps,运行访问后,在Tomcat--->work文件内出现java文件,其内容即为转化后的JSP。
JSP语法:
分为三个类型:
(1)编译器指令:include,page,taglib
(2)脚本语法:
注释:<!--...-->,<%--...-->
声明:<%!...%>
表达式:<%...%>
java脚本段:<%...%>
(3)动作语法:<jsp:forword>,<jsp:include>,<jsp:plugin>,<jsp:getProperty>,<jsp:setProperty>,<jsp:useBean>
Part 1 :
JSP编译器指令:
page:
- <%@page contentType="text/html;charset=GBK"%>
- <!--转化为.class中的setContentType()-->
- <%@page import="java.util.*,java.lang.*"%>
- <!--转化为导包-->
- <%@page errorPage="error.jsp"%>
- <!--设置错误页面,出错后显示-->
include(下面详细介绍):
- <%@ include file="相对位置"%>
taglib:
- <%@taglib uri="http://java.sun.com/jstl/core"prefix="c"%>
- <!--注意:是uri 不是 url -->
include分为静态导入和动态导入:
静态导入: <5@include file="logo.jsp"%>
在servlet引擎编译时,就将此文件内容包含进去(两个文件代码整合到一起,全部放到jspService方法中),所以只生成一个servlet,因此两个页面不能含有
同名变量,否则出错;运行效率略高,耦合度较高,不灵活;
动态导入: <jsp:include page="logo.jsp"><jsp:include>
在servlet引擎转译后,再请求此页面,所以共生成了两个servlet,所以可以有同名变量:
生成两个servlet,相当于两个类之间的调用,耦合性低,非常灵活;
Part 2 脚本语法:
html注释 : <!--comments-->
隐藏注释 : <%--comments--%>
声明 : <%!......%> (声明变量或定义方法,内为java语言) (使用率低,一般都是jsp+servlet,不需要单独使用jsp)
如:
- <%!
- int a=3;
- void test(){
- out.print(a);
- };
- %>
表达式 : <%=...%> (输出某个值)
如:
- <%=a>
- <!--编译后为system.out.println(a);-->
脚本式 : <%...%> (中间为java代码)
一个jsp中多个<%...%>脚本段,编译后在一个方法内,不管多少个脚本段。
内置对象:
request,response,session,context,application,等 在jsp文件被java引擎编译后的java文件中,_jspService(HttpServletRequest request,HttpServletResponse response)方法中,已经被声明存在,可直接使用。
代码如下:
request对象代表来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用对象。相关方法:
getParameter,getParameterNames,getParameterValues;
response对象代表的是对客户端的响应,也就是说可以通过response对象组织发送到客户端的数据,但由于组织方式比较底层,不建议使用,如果需要
向客户端发送文字,直接使用out对象: out.write(); out.print(); ------>因为out对象加了缓存,效率高。
如图:
{out对象代表了客户端发送数据的对象,与response对象不同,通过out对象直接发送的内容将是浏览器将要显示的内容,是文本一级的,可以
通过out对象直接向客户端写一个由程序动态生成的html文件,其常用方法有:print,println,clear,clearBuffer,flush,getBufferSize,getRemaining,
这是因为 out对象包含一个缓存区,所以需要一些对缓冲区的操作方法
};
session对象:代表服务器和客户端所建立的会话,当需要在不同JSP页面中保留用户信息的情况下使用,比如在线购物,客户轨迹跟踪等;
使用:JSP中使用session
- <%
- session.setAttribute("a","123");
- %>
重要:若web访问量大,或是门户类网站,建议设置不创建session(JSP顶部)
- <%@ page session="false">
- <!--不创建session对象-->
application对象:负责提供应用程序在服务器中运行的一些全局信息,常用方法有getMimeType和getRealPath等;
JSP 核心 (等待更新)的更多相关文章
- Python之路【第十篇】:HTML -暂无等待更新
Python之路[第十篇]:HTML -暂无等待更新
- Intellij IDEA 修改jsp 不能实时更新
Intellij IDEA 修改jsp 不能实时更新 1. 首先,output要指定到项目的webapp下,这样应该就可以实时更新了 2. 我的问题是这样设置之后,也不可以,原来是可以的,重装系统之后 ...
- java需要掌握内容、核心不断更新中
1.你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该十分了解UML,尤其是class,object,interaction以及statediagra ...
- IDEA编译项目后,target目录下的jsp文件不更新
tomcat目录说明 先来看一下tomcat的目录: |-bin |-conf |-lib |-logs |-temp |-webapps |-work tomcat 的核心是servlet容器,叫 ...
- JSP 核心标签库
1 JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 2 JSTL标签库分类 核心标 ...
- JSP(待更新)
1.概念: 所谓JSP就是在HTML中嵌入大量的java代码而已.
- jsp表单更新数据库
和插入语句相似,表单传值,在另一个页面接收数据并连接数据库进行更新: 语句如下: <% request.setCharacterEncoding("UTF-8"); Stri ...
- CTFd+ubuntu service搭建等待更新
CTFd是一款基于Apache2.0的协议的开源CTF平台,最新版本目前为1.20.该平台功能强大,基本上能够满足目前的CTF竞赛需求,同时,该平台提供了强大的插件功能,可以自己进行插件开发实现自己的 ...
- 《Servlet与JSP核心编程》读书笔记
这本书实际是我进入JavaWeb开发的入门书籍,而且是日常碰到一些技术问题需要确认时的参考书,前一段时间在解决一个他人的问题时,我突然发现我的第一遍阅读对这本书的内容的理解还不够透彻,所以又开始N多年 ...
随机推荐
- cas+tomcat+shiro实现单点登录-4-Apache Shiro 集成Cas作为cas client端实现
目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...
- Assimp场景模型输出Collada,STL,3DPDF
本文介绍开源库模型的几种输出格式:DAE,STL,3DPDF. Assimp是C++写的,AssimpNet是C#重构其中主要数据结构,并开通Assimp中重要方法的调用接口,为不熟悉C++的码农带来 ...
- 在TCP协议下的数据传送
本人小白菜逼一枚,,,,刚建立博客,也写不了太深入的,就写点上课的笔记什么的.有错误希望广大博友指出,我一定虚心学习接收改正. 我的新浪邮箱:liudaohui0805@sina.com 我的QQ邮箱 ...
- net.sf.json.JSONException: There is a cycle in the hierarchy!
因为项目中使用了AJAX技术,jar包为:json-lib.jar,在开发过程中遇到了一个JSON-LIB和Hibernate有关的问题: 如hibernate延迟加载错误,这都是些老问题了,一看就知 ...
- 对mysql进行分表
1. 有某个自段进行md5散列,然后生成ord SCII码 $num = ord(md5($user)) //是一个数字 参考 $num/3 ,$num/4;如果我们不是严格意义上的分表,可以参考分布 ...
- PHP限制网页只能在微信内置浏览器中查看并显示
微信现在算是火了,围绕微信开发的应用也越来越多了,前段时间,自己公司需要,用PHP写了一个微信应用,为了防止自己辛苦写成的PHP应用被盗用,于是 通过PHP做了限制,只能在微信自带的浏览器中才能打开本 ...
- IIS自定义404错误页显示“系统找不到指定的文件”解决方法
在IIS站点属性里面设置了自定义的404错误页面为一个文件之后,有时一直不生效,总是提示这样一句话:“系统找不到指定的文件”. 其实这种错误也只是在某些网站程序中出现,其实解决办法很简单.这是由于II ...
- Linux企业级项目实践之网络爬虫(20)——扩展成为规则插件模式
为了方便我们爬虫功能的扩展,最好使用插件机制.使用插件技术能够在分析.设计.开发.项目计划.协作生产和产品扩展等很多方面带来好处:(1)结构清晰.易于理解.由于借鉴了硬件总线的结构,而且各个插件之间是 ...
- 2015第19周三小众app
今天搜集下个人知道好玩的小众app: 1.开眼每日推荐5个小视频,世界那么大,一起来看看吧. 2.懒人周末周末去哪了?简洁美观 3.LOFTER 网易良心出品. 4.玩儿去 发现很多很多好玩的去处 5 ...
- bzoj 1193
http://www.lydsy.com/JudgeOnline/problem.php?id=1193 大范围贪心,小范围宽搜. 膜拜大神 http://blog.csdn.net/u0129155 ...