JSP学习笔记

1.简介

JSP是指java server page, Servlet是Java Web开发的重要基础,但是由于Servlet开发相对繁琐,代码量庞大而且不易维护,美工无法参与界面设计开发等不足,于是就诞生了jsp。jsp是对servlet开发模型的重要升级。有了jsp,Java Web开发技术才真正被广泛使用。

2.基本语法

  • HTML页面内容
  • JSP注释
  • JSP指令
  • JSP脚步元素
  • JSP动作元素
1)JSP注释

html注释:

<!--注释内容-->

jsp注释:

<%--注释内容--%>
或者使用java注释//

2)JSP指令

格式:

<%@指令标记 [属性="值" 属性="值"]>

  • page指令:

<%@ page [属性1="值" 属性2="值"]>

  • include指令:

<%@ include file="被包含文件的地址">

  • taglib指令:

<%@ taglib uri="tagLibraryURI" prefix="tagPrefix">
uri:指定标签获取标签库的存放文字

prefix:指定该标签库所使用的前缀

第一个jsp测试:

  • 首先在web下面创建文件夹webjsp或者其他名称,与WEB-INF同级
  • 在webjsp里面创建test.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<%
    out.println("Hello World!");
%>
</body>
</html>
  • 浏览器可以直接访问,注意web是站点上下文,在deployment可以设置:
    http://192.168.2.221:5339/web/webjsp/test.jsp
3)JSP脚本元素

通过jsp脚本可以将java代码嵌入到html页面中,所有可执行的java代码都可以通过jsp脚本执行。


脚本元素包含三种类型:

  • jsp脚本声明语句

<%! 声明变量或者方法定义 %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<%!
    public String string ="Hello World223333";
%>
<%
    out.println(string);
%>
</body>
</html>
  • jsp表达式

    表达式的值将会作为html页面的内容,相当于省略了out.println

<%= 表达式 %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<%!
    public String string ="Hello World223333";
%>
<%= string %>
</body>
</html>
  • jsp Scriptlet

    在jsp Scriptlet中声明的变量是jsp的局部变量,调用jsp Scriptlet时会为
    局部变量分配内存空间,调用结束后,释放局部变量战友的内存空间。

<% java代码 %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<%
    String string ="Hello World223333";//声明变量并输出字符串
    out.println(string);
%>
</body>
</html>
3)JSP脚本元素

利用JSP动作可以动态地插入文件、重用JavaBean组件、
把用户重定向到另外的页面、为Java插件生成HTML代码。

<jsp:action_name attribute="value" />

  • jsp:include动作元素

<jsp:include page="相对 URL 地址" flush="true" />

** test1.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<p>
    今天的日期是: <%= (new java.util.Date()).toLocaleString()%>
</p>

** test.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<h2>include 动作实例</h2>
<jsp:include page="test1.jsp" flush="true"/>
</body>
</html>
  • jsp:useBean动作元素

jsp:getProperty动作提取指定Bean属性的值,转换成字符串,然后输出

<jsp:useBean id="name" class="package.class" />

添加TestBean

public class TestBean {
    public String message;

    //注意 如果没有setter和getter,将会报以下异常
    //Cannot find any information on property 'message' in a bean of type 'beans.TestBean'
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

添加Test.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<jsp:useBean id="test" class="beans.TestBean"/>
<jsp:setProperty name="test"
                 property="message"
                 value="测试message.."/>
<p>输出信息....</p>
<jsp:getProperty name="test" property="message"/>

</body>
</html>
  • jsp:forward 动作元素

jsp:forward动作把请求转到另外的页面。jsp:forward标记只有一个属性page

<jsp:forward page="相对 URL 地址" />

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>第一个 JSP 程序</title>
</head>
<body>
<jsp:forward page="test1.jsp" />
</body>
</html>
  • jsp:param动作元素

jsp:param是一种提供参数的附属动作元素

  • jsp:plugin动作元素

jsp:plugin动作用来根据浏览器的类型,插入通过Java插件 运行Java Applet所必需的OBJECT或EMBED元素。
如果需要的插件不存在,它会下载插件,然后执行Java组件。

  • jsp:element 、 jsp:attribute、 jsp:body动作元素

<jsp:element><jsp:attribute><jsp:body>动作元素动态定义XML元素。动态是非常重要的,这就意味着XML元素在编译时是动态生成的而非静态

  • jsp:text动作元素

jsp:text动作元素允许在JSP页面和文档中使用写入文本的模板

** test1.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>

<head>
    <title><h3>用户信息</h3></title>
</head>
<body>
<% String userName = request.getParameter("name");
    String age = request.getParameter("age");
%>
<%="名称:" + userName%>
<br>
<%="年龄:" + age%>
<h4>用户:</h4>

</body>
</html>

** test.jsp**

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title> JSP 程序</title>
</head>
<body>
<jsp:forward page="test1.jsp">
    <jsp:param name="name" value="bifan"/>
    <jsp:param name="age" value="22"/>
</jsp:forward>
</body>
</html>
4)JSP内置对象
  • request
  • response
  • out
  • session
  • application
  • config
  • pageContext
  • page
  • Exception
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值