文章标题

JSP基础语法

1.1 JSP注释

  • 显式注释语法:
<!--注释内容-->
  • 隐式注释语法:
<%
    //单行注释
    /*多行注释*/
%>

隐式注释客户端无法看见

1.2 Scriptlet(脚本小程序)

  1. <%%>:主要用于定义局部变量、编写语句

  2. <%!%>:主要用于定义全局变量、方法、类,不能出现其他语句
    尽量不要在JSP中定义类和方法

  3. <%=%>:表达式输出

<%
    String info = "www.baidu.com";
%>
<h1>website=<%=info%></h1>

1.3 scriptlet标签

scriptlet标签使用效果和<%%>一样

<jsp:scriptlet>
    String url="www.baidu.com";
</jsp:scriptlet>
<h2><%=url%></h2>

1.4 page常用指令

1. contentType设置MIME

MIME表示打开文件的应用程序类型,
page指令中,contentType可以指定文件的显示方式
例如:

<%@ page language="java" contentType="text/html;charset=GBK"%>
<%@ page language="java" contentType="application/word;charset=GBK"%>

2. pageEncoding设置文件编码

charset是指服务器发送给客户端的内容编码,pageEncoding指的是JSP文件本身的编码。如果pageEncoding存在,那么JSP编码由pageEncoding决定,否则由charset决定,如果两个属性都不存在,则默认为ISO-8859-1
例如:

<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>

一般一个JSP页面只需要按照网页显示(text/html),则使用pageEncoding设置编码即可。

3. errorPage错误页的设置

错误页设置两步骤:
1. errorPage属性指定错误出现时的跳转页;
2. isErrorPage属性指定错误页标识

例如:
错误页中:

<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>
<%@page errorPage="error.jsp"%><!--一出现错误即跳转到错误处理页-->

错误处理页中:

<%@ page language="java" contengType="text/html;pageEncoding=GBK"%>
<%@ page isErrorPage="true"%><!--表示该页面用于处理错误-->

错误页跳转输入服务器端跳转

可以修改Web.xml文件,实现在虚拟目录指定全局的错误处理

<error-page>
    <error-code>500</error-code>
    <location>/ch05/error.jsp</location>
</error-page>

依然服务器端跳转

4. 数据库连接操作

在page指令中可以使用import导入所需要的java开发包,导入java.sql包,进行数据库开发。
配置数据库的驱动程序,将mysql的驱动程序mysql-connector-java-5.0…复制到tomcat6.0\lib目录中,并重启服务器

例如:使用JSP列出emp表数据

<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
    <head><title>www.bruce.com</title></head>
    <body>
        <%!
            //定义数据库驱动程序
            public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
            public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
            public static final String DBUSER = "root";
            public static final String DBPASS = "mysqladmin";
        %>
        <%
            Connection conn = null;
            PreparedStatement pstmt = null;
            ResultSet rs = null;
        %>
        <%
            try{
                Class.forName(DBDRIVER);
                conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
                String sql = "SELECT empno,ename,job,sal,hiredate FROM emp";
                pstmt = conn.prepareStatement(sql);
                rs = pstmt.executeQuery();
        %>
        <center>
            <table border="1" width="80%">
                <tr>
                    <td>雇员编号</td>
                    <td>雇员姓名</td>
                    <td>雇员工作</td>
                    <td>雇员工资</td>
                    <td>雇员日期</td>
                </tr>
                <%
                    while(rs.next()){
                        int empno = rs.getInt(1);
                        String ename = rs.getString(2);
                        String job = rs.getString(3);
                        float sal = rs.getFloat(4);
                        java.util.Date date = rs.getDate(5);
                %>
                    <tr>
                    <td><%=empno%></td>
                    <td><%=ename%></td>
                    <td><%=job%></td>
                    <td><%=sal%></td>
                    <td><%=date%></td>
                </tr>
                <%
                    }
                %>
            </table>
        </center>
        <%
            }catch(Exception e){
                e.printStack();
            }finally{
                rs.close();
                pstmt.close();
                conn.close();
            }
        %>
    </body>
</html>

没有Java代码的页面写成静态页面的后缀,可以适当提升运行速度

1.5 包含指令

1.5.1 静态包含

语法:<%@ include file = "要包含的文件路径"%>

包含的文件可以是JSP,HTML,文本,或者是一段Java程序。包含操作实际上是将被导入的文件内容导入,一起进行编译,最后再将一份整体的内容展现给用户
例如:

<body>
<%@include file="info.html"%>
</body>

1.5.2 动态包含

语法:
1. 不传递参数:
<jsp:include page="{要包含的文件路径\<%=表达式%>}" flush="true\false"/>

  1. 传递参数:
<jsp:include page="{要包含的文件路径\<%=表达式%>}" flush="true\false">
    <jsp:param name="参数名" value="参数内容"/>
    //可以传递多个参数
</jsp:include>

例如:
包含页:include_demo.jsp

<jsp:include page="receive_param.jsp">
    <jsp:param name="name" value="<%=username>">
    <jsp:param name="info" value="Bruce">
</jsp:include>

被包含页:receive_param.jsp

<%@ page contentType="text/html" pageEncoding="GBK"%>
<h1>参数1:<%=request.getParameter("name")%></h1>
<h1>参数2:<%=request.getParameter("info")%></h1>

false表示完全被读进来再输出,true表示buffer满了就输出,一般都设置为true,默认为true <

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值