提示:若是使用的是tomcat服务器,那么这些文件.java,.class均可以在tomcat中的work目录找到 html
<!-- 注释内容 -->
//注释:单行注释,用具java代码
/* 注释 */:多行注释,用具java代码
<%--注释--%>:jsp注释
<% int x=10; String s="taeyeon"; out.println("<h2><%%>的使用:</h2>");//由于jsp会自动编译<%%>因此须要使用转义字符来输出<%%>,下面也是如此。 out.println("<h4>"+x+"岁的"+s+"</h4>"); %>
<%! public int add(int x,int y){ return x+y; } %> <% out.print("<h2><%!%>的使用:</h2>"); out.println("<h4>"+add(10,10)+"</h4>"); %>
<% out.print("<h2><%=%>的使用:</h2>"); %> <h4> name:<%=s%></h4>
<%%>的使用: 10岁的taeyeon <%!%>的使用: 20 <%=%>的使用: name:taeyeon
备注:尽可能多使用<%=%>表达式,少使用out.println();的输出语句,由于在jsp开发中,其实是在html中加入了一些控制及输出语句,因此在输出时为了使html代码和java代码相分离,最好的作法就是只输出由jsp产生的变量,那么这时使用表达式输出比使用out.println()更加方便java
<jsp:scriptlet> String url="www.taeyeon.com.cn";// java scriptlet 代码 </jsp:scriptlet> <h2><%=url%></h2>//这里url会报错,可是不影响编译输出
www.taeyeon.com.cn
以上指令中只有import能够重复使用,其余的只能出现一次。web
在page指令中,contentType属性是使用最多的一个属性,若是想让一个jsp文件显示中文,则必须对整个页面指定MIME编码。语法<%@ page contentType="text/html;charset=UTF-8" language="java" %>
小程序
1,什么是MIME?tomcat
答:使用MIME类型能够设置打开文件的应用程序类型。服务器
2,常见的MINE类型:app
超文本标记语言文本 .htm,.html text/html 普通文本 .txt text/plain RTF文本 .rtf application/rtf GIF图形 .gif image/gif JPEG图形 .ipeg,.jpg image/jpeg au声音文件 .au audio/basic MIDI音乐文件 mid,.midi audio/midi,audio/x-midi RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio MPEG文件 .mpg,.mpeg video/mpeg AVI文件 .avi video/x-msvideo GZIP文件 .gz application/x-gzip TAR文件 .tar application/x-tar
3,在Tomcat安装目录/conf/web.xml中能够查询MIME类型,例如,若是如今但愿页面能够按照word文档的形式显示,则可使用以下MIME类型:jsp
<mime-mapping> <extension>doc</extension>//元素用来描述扩展名 <mime-type>application/msword</mime-type>//mime-type元素则为MIME类型 </mime-mapping>
4,使用contentType和pageEncoding设置编码有什么区别? pageEncoding指的是jsp文件自己的编码,而contentType中的charset指的是服务器发送给客户端的内容编码。在jsp中若是pageEncoding存在,那么jsp的编码将由pageEncoding决定,不然由contentType中的charset决定,若是两个都不存在,则将使用ISO-8859-1的编码方式。jsp中的全部内容都要通过两次编码操做,第一阶段会使用pageEncoding编码,第二阶段会使用utf-8,第三阶段就是生成网页,此时才会使用contentType的编码。<%@ page contentType="text/html;charset=UTF-8" pageEncoding="utf-8" language="java" %>
ide
5,错误页的设置编码
<%@page errorPage="Scriptlet.jsp" %>
设置出错页面跳转的处理页面。<%@ page isErrorPage="true" %>
设置该页面能够处理该错误。若是不写这一句或者设置为false,也能实现页面的跳转,只不过没有exception对象的处理。注意:此处一旦发生错误地址栏上的显示界面名字是不会改变的,也就是说虽然看见了页面的跳转内容的改变,可是地址栏并无改变,这种跳转叫作服务器跳转,整个操做中客户端对服务器只发以此请求,服务器也只响应一次。
<error-page> <error-code>500</error-code> <location>/page/Scriptlet.jsp</location> </error-page> <error-page> <exception-type>java.lang.ArithmeticException</exception-type> <location>/page/Scriptlet.jsp</location> </error-page>
1,静态包含
静态包含指令是在jsp编译时插入一个包含文本或代码的文件,这个包含的过程是静态的。语法:<%@ include file="要包含的文件路径"%>
。将这些文件包含在一块儿,而后统一编译成.class文件。
2,动态包含
使用<jsp:include page="{要包含的文件路径|<%=表达式%>}" flush="true|false"/>
能够完成动态包含的操做。当传递参数的时候使用:
<jsp:include page="{要包含的文件路径|<%=表达式%>}" flush="true|false"> <jsp:param name="参数名称" value="参数内容"> .... </jsp:include>
flush属性的可选值为false时表示这个网页彻底被读进来之后才输出,在每个jsp的内部都会有一个buffer,因此设置成true时,当buffer满了就输出。通常设置为true。
3,动态和静态的区别
静态包含是先将所有的内容包含在一块儿,而后再一块儿编译。若是动态包含被包含的是动态页面那么是属于先处理后包含的作法。好比当被引用界面里也有定义变量x,而引用界面也有变量x的时候使用静态包含,就会报出异常变量声明重复,而使用动态就不会。
4,跳转指令
将一个用户的请求从一个界面传递到另外一个界面,即完成跳转操做。
<jsp:forward page="{要包含的文件路径}|<%=表达式%>">
<jsp:forward page="{要包含的文件路径}|<%=表达式%>"> <jsp:param name="参数名称" value="参数内容"> ...... </jsp:forward>