整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          jsp與jsp之間的跳轉

          jsp與jsp之間的跳轉

          有時候我們在跳轉的時候不想經過 action,想直接在jsp與jsp之間進行跳轉。

          一、兩個jsp均在WebRoot下

          這種jsp在跳轉時比較簡單,有以下幾種方法:

          1)<a href="test.jsp">測試</a>

          2)window.location.href="test.jsp";

          3 ) form表單提交:action=“跳轉的頁面”

          二、當有一個jsp在WEB-INF下

          不通過action來處理跳轉,我想直接從test.jsp頁面跳到WEB-INF下的test1.jsp頁面怎么辦呢?我們有時候會試試絕對路徑的寫法<%=request.getContext()=%>/WEB-INF/test1.jsp,但是還是不行。因為在WEB-INF底下web容器是不讓你看見他的跳轉路徑的。直接跳轉不行。所以我們可以用以下的方法來解決問題。

          在web.xml里添加配置信息

          <servlet>

          <servlet-name>tiaozhuan</servlet-name>

          <jsp-file>/WEB-INF/view/test1.jsp</jsp-file>

          </servlet>

          <servlet-mapping>

          <servlet-name>tiaozhuan</servlet-name>

          <url-pattern>/test1</url-pattern>

          </servlet-mapping>

          配置好web.xml后再jsp中編寫跳轉路徑

          <a href="/Love/test1.jsp">測試頁面跳轉</a><!-- Love為我的項目名 -->

          效果如下

          點擊跳轉

          這樣我們就實現了jsp與jsp之間的跳轉

          建Web應用

          這里使用IDEA構建Web應用

          新建項目

          添加新的Tomcat

          勾選上正確的Tomcat

          選擇Filsh

          創建好目錄如下

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

          <?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文件如下

          <%--
            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>
          

          配置應用首頁

          <?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>

          啟動應用

          啟動相關的應用

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

          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

          有時候做單點登錄的時候,或者sessionfilter的時候都有可能遇到jsp頁面重定向,在網上搜也有好多資料,今天我也把這個知識點整理整理,以后用的著的話回頭看看。

          JSP第一種重定向方法:

          response.sendRedirect()?

          在調用之前是不能有內容已經被實際輸出到了客戶端,如果有也會被清除。

          該方法重定向的地址會在瀏覽器的地址欄看到地址的變化。

          它是一種客戶端跳轉的方法。

          sendredirect 是會有兩次請求,首先發一個response到瀏覽器,然后瀏覽器收到這個response后再發一個requeset到服務器,服務器接收后發新的response給瀏覽器。現在拿到的request是新的,所以才會出現之前傳的內容會是空的。要想傳內容或者參數只能在url路徑后面加參數例如:url地址?參數名稱=參數值;

          response.sendRedirect(“url地址?參數名稱=參數值”)?

          好了今天就寫到這里吧,得早點睡了,之前看到新聞程序猿熬夜容易猝死。。晚安。

          頭條新手上路,多多關注。


          主站蜘蛛池模板: 无码人妻一区二区三区精品视频 | 国产在线乱子伦一区二区| 中文字幕久久久久一区| 亚洲色无码专区一区| 在线视频亚洲一区| 高清在线一区二区| 99精品国产高清一区二区| 国99精品无码一区二区三区 | 中文字幕在线无码一区二区三区| 少妇精品久久久一区二区三区| 亚洲一区AV无码少妇电影| 变态调教一区二区三区| 一区二区三区精密机械| 中文字幕在线无码一区二区三区| 成人在线观看一区| 无码AV中文一区二区三区| 国产另类ts人妖一区二区三区| 伊人久久精品一区二区三区| 大伊香蕉精品一区视频在线 | 亚洲午夜精品一区二区| 鲁大师成人一区二区三区| 中文字幕亚洲一区二区va在线| 在线一区二区三区| 国产美女在线一区二区三区| 日韩电影一区二区三区| 久久久精品人妻一区亚美研究所| 亚洲一区二区三区在线视频| 男人免费视频一区二区在线观看 | 国内精自品线一区91| 午夜福利av无码一区二区| 国模无码人体一区二区| 亚州国产AV一区二区三区伊在| 中文字幕在线一区二区在线 | 日韩A无码AV一区二区三区| 无码AⅤ精品一区二区三区| 国产av福利一区二区三巨| 中文字幕日本一区| 濑亚美莉在线视频一区| 人妻激情偷乱视频一区二区三区 | 国产精品分类视频分类一区| 无码国产精品一区二区免费|