一文學會JSP

構建Web應用

這裏使用IDEA構建Web應用html

新建項目


添加新的Tomcat
java

勾選上正確的Tomcat
web

選擇Filshsql

建立好目錄以下
windows

其自動生成的Web.XML文件以下tomcat

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>

同時還生成了一個jsp文件,生成的jsp文件以下app

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/5
  Time: 22:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  $END$
  </body>
</html>

配置應用首頁jsp

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

啓動應用

啓動相關的應用this


這樣就完成了最基本的tomcat的部署spa

jsp的基本語法

jsp的註釋

jsp的基本註釋以下

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/5
  Time: 22:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%-- 註釋內容 --%>
  $END$
  </body>
</html>

jsp 聲明

對jsp的聲明以下

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/5
  Time: 22:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%!
    // 聲明一個整形變量
    public int count;
  // 聲明一個方法
    public String info(){
      return "hello";
    }
  %>
  $END$

  <%
    // 把count值輸出後加1
    out.println(count++);
  %>

  <%
    // 輸出info()方法後的返回值
    out.println(info());
  %>
  </body>
</html>

訪問的頁面結果以下

jsp 輸出表達式

jsp提供了一種簡單的輸出表達式

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/5
  Time: 22:39
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <%!
    // 聲明一個整形變量
    public int count;
  // 聲明一個方法
    public String info(){
      return "hello";
    }
  %>
  $END$
`<%=count++%>
  <%=info()%>
  </body>
</html>

jsp 三個編譯指令

這裏對jsp有三個編譯的指令

page 指令

page指令位於jsp頁面的頂端,一個jsp頁面能夠有多個page指令,page指令的語法爲

<%@ page import="java.sql.*" %>

include指令

include指令能夠將一個外部文件嵌入到當前jsp文件中,同時解析這個頁面中的jsp語句。include命令既能夠包含jsp頁面也能夠包含靜態文本。編譯指令語法以下:

<%@ include file="要導入的jsp頁面或文本文件" %>

taglib指令

taglib指令用於引入一些特定的標籤庫,語法格式:

<%@ taglib prefix="tagPrefix" uri="tagLibraryURI" %>

如使用struts標籤庫:

<%@ taglib prefix="s" taglib="/struts-tags" %>

動做指令

forward

進行頁面跳轉的指令
若是轉發的時候須要傳遞參數能夠使用<jsp:param></jsp:param>指令進行設置。
好比,訪問index.jsp頁面時自動轉發至login.jsp,須要把username和password傳遞過去:
index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:forward page="login.jsp">
    <jsp:param value="yaopan" name="username" />
    <jsp:param value="123456" name="password" />
</jsp:forward>
<%--mac上按住comment鍵(windows下按住ctrl鍵),再點擊login.jsp  forword如下的代碼不會被執行 --%>

在login.jsp中能夠使用getParameter方法獲取傳入的參數值:

<%
  String name=request.getParameter("username");
  String pwd=request.getParameter("password");
  out.println(name);
  out.println("<br>");
  out.println(pwd);
%>

執行forword指令時用戶請求的地址沒有發生變化,頁面內容被forward目標替代。

include指令

include指令用於包含某個頁面,但不會導入被include頁面的編譯指令。能夠經過param指令傳遞參數:
新建一個index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<jsp:include page="head.html"></jsp:include>
<jsp:include page="body.jsp">
   <jsp:param value="#1d99f6" name="bgcolor"/>
</jsp:include>
</html>

body.jsp

<body bgcolor="<%=request.getParameter("bgcolor")%>">
</body>
相關文章
相關標籤/搜索