哈尔滨 网站建设百度联系电话
哈尔滨 网站建设,百度联系电话,wordpress title插件,阿里网站怎样做seo文章目录 一、什么是JSP?二、jsp运行原理三、文档结构四、jsp基本语法五、jsp9大内置对象#xff08;笔试#xff09;六、el(${el表达式}):Expression Language七、11个内置对象(自定义的数据必须放在域中el才能得到)八、jstl#xff08;jsp Standard Tag Library)总结 一、… 文章目录 一、什么是JSP?二、jsp运行原理三、文档结构四、jsp基本语法五、jsp9大内置对象笔试六、el(${el表达式}):Expression Language七、11个内置对象(自定义的数据必须放在域中el才能得到)八、jstljsp Standard Tag Library)总结 一、什么是JSP?
JSP(Java Server Page)
建立在Servlet规范上的动态网页开发技术本质是servletHtml Java特点:跨平台、业务代码相分离、JavaBean组件重用、预编译一个用户只编译一次产生原因:html页面输出太麻烦
二、jsp运行原理
本质就是servlet第一次被访问的时候被web容器翻译成servlet再执行helloServlet.jsp→helloServlet_jsp.java源文件→helloServlet_jsp.class字节码文件被翻译后的servlet在Tomcat的work目录中可以找到F:\Tomcat\apache-tomcat-7.0.52\work\Catalina\localhost\WEB17\org\apache\jspjsp继承了HttpjspBaseHttpjspBase类又继承了HttpServlet故jsp就是servlet
三、文档结构
% page languagejava contentTypetext/html; charsetUTF-8 pageEncodingUTF-8%
!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd
htmlheadmeta http-equivContent-Type contenttext/html; charsetUTF-8titleInsert title here/title/headbody/body
/html四、jsp基本语法
脚本分类说明%(变量/方法/语句等)%jspScriptlets被翻译到Servlet中的service方法的局部变量。调用完则释放内存空间,常用于输出%(变量/表达式)%jsp表达式被翻译成servlet中service方法内部out.print()输出变量或者表达式后面不能有分号%!java代码%jsp声明语句:被翻译成servlet类的成员方法/变量/代码块静态方法/变量/代码块,对整个jsp页面有效
注释分类说明可见范围Html注释!–注释内容–jsp源码、java源码、html源码java注释//单行注释/多行注释/java源码、jsp源码jsp注释%–注释内容–%jsp源码
指令(指导jsp翻译和运行的命令)分类属性%page 属性名1“属性值1”%languagejsp脚本中可以嵌入的语言种类java属性名称区分大小写pageEncoding读取jsp文件内容采用的编码一定要和保存文件的编码一致–内部可以包含contentTypecontentType有效文档类型text/html;session是否jsp在翻译时自动创建true/falseimport导入java的包 可多次其他只能一次java.util.*errorPage当当前页面出错后跳转到哪个页面isErrorPage当前页面是一个处理错误的页面true/falsebuffer:8kb,jsp缓存大小也是out的缓冲区大小autoFlush:自动刷新,true/false%taglib 属性名1“属性值1” uri要引入的(jstl、struts2)标签库地址, prefix:前缀 使用xxx:前缀%include 属性名1“属性值1”%file:被包含的相对于webcontent文件地址静态包含
五、jsp9大内置对象笔试
jsp被翻译成servlet后service方法中有9个对象定义并初始化完毕jsp脚本可直接使用
所有对象都可以存取数据request.setAttribute(age, 30);9大内置对象名称类型说明requestHttpServletRequest得到用户请求信息responseHttpServletResponse服务器向客户端回应信息configServletConfig服务器配置可以取得初始化参数sessionHttpSession保存用户信息applicationServletContext所有用户的共享信息pageObject指当前页面转换后的Servlet类的实例exceptionThrowable表示jsp页面所发生的异常在错误页面中才起作用pageContextPageContextjsp的页面容器,jsp页面的上下文对象①获得其他8个内置对象pageContext.getRequest()②域对象:setAttribute(String name,Object obj[,int scope])getAttribute(String name[,int scope])removeAttrbute(String name[,int scope])pageContext.(PAGE/REQUEST/SESSION/APPLICATION)_SCOPE③findAttribute(String name)依次从pagerequestsessionapplication域中获取属性outjspWriter用于页面输出response.getWriter().write(“a”)先输出out.write后输出out.write()先放到jspWriter缓冲区中(默认8kb)若page属性buffer“0kb” 关闭out缓冲区,则按顺序输出
jsp标签/动作说明jsp:include /page:被包含的页面的地址 flush:包含页面flush是否将输出内容立即刷新到客户端默认falsefalse;等全部加载完了再刷新jsp:forward /page“要转发请求的资源相对于webcontent地址”
include指令(静态包含)include标签(动态包含)引入的资源必须是jsp格式的文件引入的资源必须能被web容器独立运行引入的资源是编译前包含的引入的资源是编译后包含的不限制改变状态码和设置响应头不能改变状态码和设置响应头
六、el(${el表达式}):Expression Language
简单的数据访问语言,使jsp的代码更加简化七、11个内置对象(自定义的数据必须放在域中el才能得到)
分类内置对象名称说明作用域pageScopepage作用域requestScoperequest作用域sessionScopesession作用域applicationScopeapplication作用域请求参数param获得一个参数paramValues获得一组参数请求头header获得一个请求头headerValues获得一组请求头jsp上下文对象pageContext全局初始化参数initParamcookiecookie
内置对象使用说明${内置对象}获得内置对象${内置对象.key}获得内置对象数据${内置对象.[key-xxx]}获得内置对象有-或者空格的数据${内置对象.key[index]}获得内置对象数据为数组,list,map,对象集合的数据${key}底层使用findAttribute(“name”),依次从page、request、session、application获得数据${pageContext.request}pageContext获得其他八大对象$(pageContext.request.contextPath)/XXX相当于%pageContext.getRequest().getContextPath%获得WEB应用的名称${表达式}el表达式运算
八、jstljsp Standard Tag Library)
jsp标准标签库可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要提到jsp页面中的脚本代码
jstl使用说明导入jstl.jar包含JSTL规范中定义的接口和相关类导入standard.jar包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件TLD引入标签库%taglib uri“http://java.sun.com/jsp/jstl/core” prefix“c”%遍历对象c:forEach begin0end5var“i” step“2”${i}/c:forEachc:forEach items“将要迭代的对象” var“每一个对象的值” [varStatus“”]获得普通list的值c:forEach items l i s t v a r s t r {list } varstr listvarstr{str }/c:forEach获得list对象的值c:forEach items u s e r L i s t v a r u s e r {userList} varuser userListvaruser{user.name }${user.age}/c:forEach获得普通map的值c:forEach items s t r M a p v a r e n t r y {strMap } varentry strMapvarentry{entry.key }${entry.value }/c:forEach获得map对象的值c:forEach items u s e r M a p v a r e n t r y {userMap } varentry userMapvarentry{entry.value.name }–${entry.value.password }/c:forEach判断条件c:if test“” var“” scope“page”/c:if输出c:out value“hello,world” 总结
本文介绍了jsp的使用如有问题欢迎私信和评论
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91997.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!