• JSP基础


    一、JSP
    1、JSP实际上就是Servlet,他是由容器翻译成Servlet源文件,再编译,用户看到的是servelt的响应结果
    二、JSP语法
    1、JSP模板:JSP页面中的HTML都是模板代码
    2、JSP表达式:
    	2.1作用:将程序数据输出到客户端
    	2.2语法:<%=变量或表达式%>  表达式后面不能有分号
    3、Jsp脚本:
    	3.1作用:在JSP中编写Java代码
    	3.2语法:<%
    
    			第一行java代码;
    			第二行java代码;
    			
    		%>
    4、JSP声明:
    	4.1作用:声明中的代码会出现在翻译后的Servlet的_jspService()外面,即为jsp对应的Servlet声明成员变量和成员方
    
    法。
    	4.2语法:<%!
    			java声明
    		%>
    5、注释
    	4.2作用:注释的代码不会被翻译到Servlet中
    	4.3语法:<%--这是注释--%>(与HTML中的<!--HTML注释-->是完全不同,HTML注释对java脚本不起作用)
    三、JSP指令
    Note:
    更改MyEclipse提供的默认JSP模板。查找Servlet.java所在的位置,再打开jsp文件夹,修改jsp.vtl和JSPMetaTags.vtl即可(注
    
    意备份)
    1、作用:指令并不产生任何页面输出。他只是通知JSP引擎(Tomcat)如何来对待该JSP文件,也就是说,指令给容器用的。
    2、常用指令:
    声明方式:<%@ 指令名称 属性名="值" 。。。。%>
    多个属性可以写在一个指令中,也可以分开来写
    2.1page指令
    	属性
    	a、language:指示该JSP页面所使用的脚本语言。目前只能是JAVA
    	b、extends:指示该JSP生成的Servlet继承的父类是谁。大家不要改
    	*c、import:在JSP中java脚本中需要用的类,导入该类
    		如果导入多个类,比如java.util.List  和java.util.ArrayList
    		<%@page import="java.util.List,java.util.ArrayList"%>
    		或者
    		<%@page import="java.util.List"%>
    		<%@page import="java.util.ArrayList"%>
    		JSP引擎会自动导入下面的包:
    				import javax.servlet.*;
    				import javax.servlet.http.*;
    				import javax.servlet.jsp.*;//JSP的包
    	*d:session:true|false,默认为true,作用就是是否创建session对象。true时会创建session对象
    	e:buffer:jsp输出的缓存。none,表示不要缓存;8kb,这是默认值,一般情况不需要修改,或者指定大小的缓存,单
    
    位是kb。
    	f:autoFlush:缓存满后自动刷新。true|false,默认是true
    	g:isThreadSafe:该JSP是否是线程安全的。true|false
    		默认值是true:不安全的
    		false:线程安全的
    		该属性实际上就是指示JSP对应的Servlet类是否实现SingleThreadModel接口
    	*h:errorPage:指示错误页面是谁。如果路径以"/"开头,并不代表应用名称
    		也可以通过web。xml配置全局错误页面
    		<error-page>
      		<!-- 异常类型 -->
      		<exception-type>java.lang.Throwable</exception-type>
      		<location>/errors/error.jsp</location>
      		</error-page>
      		<error-page>
      			<!-- 针对响应错误码 -->
      			<error-code>404</error-code>
      			<location>/errors/404.jsp</location>
      		</error-page>
    		
    		errorPage属性优先于web.xml中配置的错误页面
    	*i:isErrorPage:true|false(默认值),当前页面是否是错误处理页面。实际上是指对应的Servlet中加不加入Exception
    
    对象。
    	*contentType="text/html;charset=UTF-8":指示页面显示的MIME类型和编码。(给客户端)
    	*pageEncoding="UTF-8":告知引擎用什么编码来翻译(serlvet)该JSP文件
    	*isELIgnored=true|false:是否忽略EL表达式。true是忽略,false不会略
    	
    
    2.2include指令
    静态包含
    
    2.3taglib指令
    四、9大隐式对象
    1、request:HttpServletRequest
    2、response:HttpServletResponse
    3、config:ServletConfig
    4、application:ServletContext
    5、exception:异常对象(isErrorPage必须为true)
    6、session:HttpSession(session=true)
    7、page:this,代表当前Servlet对象
    *8、out:JspWriter(作用等同于PrintWriter)输出对象
    *9、pageContext:PageContext对象
    五、PageContext对象
    1、public void setAttribute(java.lang.String?name,java.lang.Object?value)
    public java.lang.Object?getAttribute(java.lang.String?name)
    public void?removeAttribute(java.lang.String?name)
    针对page范围的域对象绑定、删除和获取
    2、可以操纵其它域对象
    public java.lang.Object?getAttribute(java.lang.String?name,int?scope)
    public void setAttribute(java.lang.String?name, java.lang.Object?value,int?scope)
    public void?removeAttribute(java.lang.String?name,int?scope)
    3、findAttribute:依次从page   request session application范围内搜寻指定的参数
    
  • 相关阅读:
    1010每次备份我的MySQL数据库
    1008win7与虚拟机中的linux共享文件的(详细)方法
    0930MySQL中实现高性能高并发计数器方案(例如文章点击数)
    0929shell操作mysql
    0929mysql前缀索引如何找到合适的位数
    0929mysql 用户管理和权限设置
    学习笔记之机器学习实战 (Machine Learning in Action)
    学习笔记之Python for Data Analysis
    学习笔记之入行数据科学,这些书一定要看
    面试总结之Python
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4705974.html
Copyright © 2020-2023  润新知