JSP基础(一)

JSP:

全称Java Server Pages。
它和servle技术一样,都是SUN公司定义的一种
用于开发动态web资源的技术。
JSP实际上就是Servlet。

JSP的组成:

JSP = HTML + Java。
HTML:静态内容
Servlet:适合编写java逻辑代码,不适合写界面显示的部分。
JSP:适合编写输出动态内容,但不适合编写java逻辑。

JSP原理:

访问JSP页面时,JSP页面会被翻译成.java文件。
然后.java会被编译.class文件(字节码文件)。

JSP最佳写法:

JSP:界面、简单逻辑以及获取显示数据。
Servlet:Java处理逻辑。

JSP基础语法:

小脚本:
书写:<% java代码 %>
举例:
    <%
        Date date = new Date();
        out.write(date.toLocaleString());
    %>
表达式:
书写:<%= %> (相当于out.print());
举例:
    <%
        int num = 10;
        out.print(num);
    %>
    <%=num %>
声明 :
书写: <%! %>
举例:
    <%!
        // 加上叹号会被翻译到类的下面 也就是全局变量
        // 还可以声明方法 静态块
        int num2 = 10;
    %>
    <%
        int num1 = 10;
        num1++;
        num2++;
    %>
    <%=num1 %>
    <%=num2 %>
JSP注释:
JSP注释:<%-- 被注释的内容 --%> 特点:安全
网页注释:    特点:不安全

JSP指令:

page指令:
import:
导入多个包:
    <%@ page import="java.util.Date,java.util.List"%>
或者:
    <%@ page import="java.util.Date"%>
    <%@ page import="java.util.List"%>

JSP会自动导入以下的包:
    import java.lang.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
session:
默认值是true 相当于session开关
<%@ page session="true" %>
errorPage:
页面中有错误,跳转指定的资源 
isErrorPage:
<%@ page errorPage="/error.jsp" %>
<%
    int num = 10/0;
%>
error.jsp:

<%@ page isErrorPage="true" %>
    服务器正在紧张的建设当中..请稍后访问
<br>
<%
    String msg = exception.getMessage();
    out.print("错误信息:" + msg);
%>
include指令:
静态包含:
<%@ include file="/1.jsp" %>
静态包含:在翻译成.java文件前就已经合成了页面
动态包含:
<jsp:include page="/1.jsp">jsp:include>
动态包含:代码逐行执行,当执行到动态包含的时候 才会去编译被包含的页面
动态包含会生成两套文件
taglib:
需要导入的jar包:jstl.jar,standard.jar

taglib作用:在JSP页面中导入JSTL标签库 替换JSP中的java代码片段。

// prefix="c" 代表给jstl标签库中的标签 起个别名
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
if test="">if>

JSP动作:

<jsp:include > 动态包含
<jsp:forward> 请求转发
<jsp:param> 设置请求参数
<jsp:useBean> 创建一个对象
<jsp:setProperty> 给指定的对象属性赋值
<jsp:getProperty> 取出指定对象的属性值
举例(配合使用):
<%
    // 创建一个User对象
    User user = new User();
    user.setName("sc");
    user.setPwd("123");
    out.print(user.getName());
%>
<br>
/*
 * class:JavaBean的全限定类名
 * id:Java变量名称,指明JavaBean对象的名称。
 * JSP中可以使用该名称引用该JavaBean对象区分大小写
 */
<jsp:useBean id="user1" class="com.lanou3g.User"/>
// name 对象 property 属性
<jsp:setProperty property="name" name="user1" value="dp"/>
<jsp:setProperty property="pwd" name="user1" value="456"/>
<%=user.getName() %>
<br>
<jsp:getProperty property="name" name="user1"/>
<jsp:getProperty property="pwd" name="user1"/>

你可能感兴趣的:(Java,JavaWeb,JSP)