JSP基础语法

来源:互联网 发布:max30100中文数据手册 编辑:程序博客网 时间:2024/05/16 08:45

JSP简单的说就是HTML+JAVA代码,文件后缀为.jsp的文件。


一、注释


一种语言都会有注释,而这里JSP有两种类型的注释,用户能够查看网页源代码看见显式注释,而看不见隐式注释。

(1)显式注释:<!--显式注释 -->
(2)隐式注释:

//隐式注释

/*隐式注释*/

<%--隐式注释   --%>


二、在HTML中插入JAVA代码方法:


1.Scriptlet:脚本小程序


(1)<%...%>:可以插入一些语句。

    举例:<% out.println("<h2>Hello world</h2>");  %>表明向网页输出一个Hello world语句。

(2)<%! ...  %>:只能放置全局变量、全局常量、类、函数。

    举例:

<%!

    public static final String INFO="HELLO WORLD";

    class Person{

        .....

    }

%>

(3)<%= ... %>:只能放置一个变量、常量。

    举例:<%="Hello world"%>


2.<jsp:scriptlet>标签


    在<jsp:scriptlet></jsp:scriptlet>中插入语句即可。


三、page指令


page指令放在jsp文件的最上方,描述一些信息,以<%@ page 属性="值"%>的形式出现;

属性能够有:

(1)contentType:表示包含的内容类型,即MIME类型,通常为 contentType="text/html";里面还能设定字符集,经常为 contentType="text/html;charset=GBK";

(2)language:表示脚本所用语言,目前只能为 language="java";

(3)pageEncoding:表示页面的编码方式,通常为 pageEncoding="GBK";

(4)import:表示在写java代码时需要导入的包,比如需要使用JDBC,则需要导入java.sql.*,则为 import= "java.sql.*";

(5)errorPage:当错误时需要跳转到的页面,但是同时那个错误页必须设置isErrorPage属性。

        注意:通常在错误页中需要首先设置response.setStatus(200);   错误页跳转是服务器跳转

(6)isErrorPage:如果某页为错误页,则必须设置为 isErrorPage="true";

在整个虚拟目录中添加错误页、异常处理页等:

在虚拟目录中的web.xml中添加:

<error-page>

<error-code>404</error-code>

<location>/error/clientError.jsp</location>

</error-page>

<error-page>

<exception-type>java.lang.NullPointerException</exception-type>

<location>/error/exception.jsp</location>

</error-page>

注意:配置完web.xml后需要重启tomcat服务器;

综合举例:

<%@ page language="java" contentType="text/html;charset=GB2312" pageEncoding="GB2312" import="java.util.*" errorPage="error.html"%>


注意点:


(1)如果需要让页面识别中文,则必须设置pageEncoding属性。

(2)MIME类型:key--->value,key表示文件后缀,而value表示打开这个后缀的应用程序类型。在tomcat的conf/web.xml中可以查看MIME类型及其打开方式。

比如,如果设置为application/msword,则说明用word打开,键入网页后会先下载,下载后能够用word打开。

更改名称:通过response.setHeader("Content-Disposition","attachment;filename=xiazdong.doc"); 即可;

(3)html和htm是一样的。

(4)pageEncoding指定JSP的页面编码,而contentType是客户端的编码。


四、客户端跳转和服务器跳转:


(1)客户端跳转:这种形式的跳转会使得地址栏的地址改变为跳转的地址,比如a.jsp--->b.jsp,原本地址栏是a.jsp,跳转之后地址栏变成b.jsp,则这种跳转属于客户端跳转。

(2)服务器跳转:跳转后地址栏没有改变。比如a.jsp-->b.jsp,则地址栏一直维持a.jsp,则称为服务器跳转。

而我们刚才遇到的errorPage跳转就是服务器跳转。


五、数据库连接:


这里以mySQL为例,配置步骤为把mySQL的JDBC驱动程序放到tomcat/lib中,通常我们把第三方的jar包都放在这里。

需要注意的是需要加入try语句,其他的和JDBC差不多,就不介绍了。


六、包含指令(include)

简单的来说就是包含一个html/jsp/htm文件,包含分为两种:

(1)静态包含:先包含,再编译。形如:<%@ include file="demo.html"%>

        举例:有a.jsp、b.jsp、c.jsp,在a.jsp中静态包含b.jsp、c.jsp意味着先将b.jsp、c.jsp的代码都写入a.jsp,然后编译生成class文件。

(2)动态包含:对于一个动态页面,先编译,后包含。形如:<jsp:include page="demo.jsp"/>

        举例:有a.jsp、b.jsp、c.jsp,在a.jsp中动态包含b.jsp、c.jsp意味着编译生成class文件,然后再包含在一起。

动态包含还能够传递参数,注意,是包含页面--->被包含页面,形如:

    <jsp:include page = "demo.jsp"/>

            <jsp:param name="name" value="xiazdong"/>

            <jsp:param name="age" value="20"/>

    </jsp:include>

被包含页通过request.getParameter()接收。


七、跳转指令(<jsp:forward>) 服务器跳转


(1)没传递参数的跳转指令:


        <jsp:forward page="demo.jsp"/>


(2)传递参数的跳转指令:


        <jsp:forward page="demo.jsp">

                <jsp:param name="name" value="xiazdong"/>

                <jsp:param name="age" value="20">

        </jsp:forward>

参数通过request.getParameter("");接收,其实由于此跳转为服务器端跳转,所以也可以通过设置request内置对象设置属性进行传递,JSP内置对象后面会讲到。

转自:http://blog.csdn.net/xiazdong/article/details/6845857

原创粉丝点击