java web 重定向

目錄結構

demo\day20\src\com\demo\service\Dome1.javademo\day20\src\com\demo\service\Dome2.javademo\day20\src\com\demo\service\Dome3.javademo\day20\src\com\demo\service\Dome4.javademo\day20\web\WEB-INF\lib\javax.servlet.jardemo\day20\web\index.jspdemo\day20\web\logan1.htmldemo\day20\web\login.html

訪問 http://localhost:8080/login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><form action="/Dome1" method="post">用戶名:<input type="text" name="username"> <br>密碼:<input type="password" name="password"><br><input type="submit" value="登錄"></form>
</body>
</html>

或者訪問 http://localhost:8080/logan1.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form ACTION="/Dome1" method="post"><a href="/Dome1">超鏈接</a>
</form>
</body>
</html>

servlet服務

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/Dome1")
public class Dome1 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("123");request.setAttribute("name","name");response.sendRedirect("Dome2");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/Dome2")
public class Dome2 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");System.out.println("張三");request.setAttribute("name","張三");System.out.println(request.getAttribute("name"));}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/Dome3")
public class Dome3 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 設置狀態碼為302response.setStatus(302);//2.設置響應頭locationresponse.setHeader("location","/Dome4");System.out.println("你好呀");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/Dome4")
public class Dome4 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("你好");
//            System.out.println( request.getContextPath());
//            String contextPath = request.getContextPath();
//            System.out.println(contextPath);
//            //簡單的形式,設置編碼,是在獲取流之前設置
//            response.setContentType("text/html;charset=utf-8");
//            PrintWriter pw = response.getWriter();
//            System.out.println(pw);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}

訪問 http://localhost:8080/login.html 后隨便填寫賬戶和密碼,后端會重定向到demo2,瀏覽器url也能看出重定向到了demo2

訪問 http://localhost:8080/logan1.html 點擊超鏈接 也會重定向到demo2

直接訪問 http://localhost:8080/Dome3 會重定向到demo4

用到的jar: javax.servlet.jar

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93661.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93661.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93661.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL(配置)——MariaDB使用

一、簡介 MariaDB 和 MySQL 作為兩個流行的關系型數據庫管理系統&#xff0c;它們的區別可以從多個角度來探討。盡管 MariaDB 最初是 MySQL 的一個分支&#xff0c;但隨著時間的推移&#xff0c;它們逐漸在功能、性能和開發方向上有所不同。MariaDB 是 MySQL 的一個分支&#x…

Web3:賽道劃分與發展趨勢解析

區塊鏈技術現在已經從單一的加密貨幣支付系統發展為涵蓋金融、藝術、組織治理和社區文化的多元生態系統。這次我們將深入解析 DeFi&#xff08;去中心化金融&#xff09;、NFT&#xff08;非同質化代幣&#xff09;、DAO&#xff08;去中心化自治組織&#xff09;與 MEME&#…

LeetCode 283 - 移動零

思路 使用雙指針法&#xff0c;一次遍歷完成原地修改。 慢指針 slow&#xff1a;指向下一個非零元素應該被放置的位置。快指針 fast&#xff1a;遍歷整個數組&#xff0c;尋找非零元素。 當 fast 遇到非零數時&#xff0c;將其值賦給 slow 指向的位置&#xff0c;然后 slow 前進…

8. 網絡層

在復雜的網絡環境中確定一個合適的路徑.1. IP協議1. 基本概念IP協議&#xff1a;提供一種能力(有非常大的概率&#xff0c;做到某事)&#xff0c;把數據報從主機A&#xff0c;跨網絡&#xff0c;送到主機B --> 必須要有方式&#xff0c;標識通信兩端唯一性&#xff01;&…

【通識】線性代數(Linear Algebra)

線性代數被廣泛應用于抽象代數和泛函分析中&#xff1b;通過解析幾何&#xff0c;線性代數能被具體表示&#xff0c;線性代數被泛化為算子理論。而非線性模型被近似為線性模型&#xff0c;應用場景多為自然科學和社會科學。 費馬和笛卡爾的工作&#xff0c;線性代數出現于十七世…

Qt 嵌入式界面優化技術

在嵌入式系統中&#xff0c;界面性能直接影響用戶體驗和系統穩定性。由于嵌入式設備通常資源受限&#xff08;如低性能 CPU、有限內存、小尺寸屏幕&#xff09;&#xff0c;需針對性優化 Qt 界面以實現流暢顯示和高效交互。本文從渲染引擎、資源管理、布局優化到硬件加速&#…

去除視頻字幕 4 : 下一步,打算研究 Video Inpainting (視頻修復):

就是說&#xff0c;到現在&#xff0c;才算是真正開始&#xff0c;才發現真正的問題。 嘗試去除視頻上的字幕&#xff0c;使用 IOPaint, 效果很初級。。。問題描述 請幫我分析此時的效果。 此時的右側字幕區域&#xff0c;閃爍不停&#xff01;我原本以為效果會很好。實際非常…

代碼隨想錄算法訓練營第五十五天|圖論part5

并查集理論基礎 初始化: void init() {for (int i 0; i < n; i) {father[i] i;} } 尋根&#xff1a; // 并查集里尋根的過程 int find(int u) {return u father[u] ? u : father[u] find(father[u]); // 路徑壓縮 } 判斷u跟v是否同根 // 判斷 u 和 v是否找到同一個根 b…

安卓模擬器 adb Frida hook 抓包

基本步驟 adb connect 127.0.0.1:62001adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043adb shell./data/local/tmp/frida-server再開啟cd D:\linuxdir\python\fridapython main.py下載夜神模擬 https://www.yeshen.com/ 安裝adb 點擊下載adb&#xff08…

編程與數學 03-002 計算機網絡 14_網絡性能分析

編程與數學 03-002 計算機網絡 14_網絡性能分析一、網絡性能指標&#xff08;一&#xff09;帶寬、時延、吞吐量等指標的定義與測量方法&#xff08;二&#xff09;性能指標對網絡應用的影響二、網絡性能的測試方法&#xff08;一&#xff09;使用網絡測試工具&#xff08;如Wi…

AT9880B參數特征

AT9880B 是一款高性能北斗單模衛星導航接收機 SOC 單芯片&#xff0c;芯片集成射頻前端和數字基帶、北斗多頻衛星信號處理引擎、電源管理功能。 芯片支持接收中國北斗二號和北斗三號&#xff0c;支持接收 B1I、B1C、B2I、B3I、B2a 和 B2b 等頻點信號。主要特征 支持北斗二號/三…

eBPF 賦能云原生: WizTelemetry 無侵入網絡可觀測實踐

引言 隨著 KubeSphere 企業版 4.2.0 的正式發布&#xff0c;WizTelemetry 可觀測平臺 2.0 也同步亮相。作為本次升級中的重磅模塊之一&#xff0c;它迅速引發了開發與運維團隊的廣泛關注。 本系列文章將系統解讀 WizTelemetry 的核心能力與落地實踐。繼前兩篇介紹了平臺架構與指…

【JAVA安全-Fastjson系列】Fastjson 1.2.24 反序列化漏洞分析及測試環境構建【復習回顧】

Fastjson 1.2.24 反序列化漏洞分析及測試環境構建 漏洞背景 Fastjson 是阿里巴巴開源的一個高性能 Java JSON 庫&#xff0c;廣泛用于 Java 對象的序列化和反序列化。在 1.2.24 及之前的版本中&#xff0c;存在一個嚴重的安全漏洞&#xff0c;攻擊者可以通過構造惡意的 JSON 字…

關于神經網絡CNN的搭建過程以及圖像卷積的實現過程學習

通過如下博客內容學習了CNN搭建的步驟&#xff0c;按照博主的思路完成了cnn網絡的構建并完成50個epoch的訓練并畫出損失函數的曲線圖時有滿滿的成就感 PyTorch深度學習實戰&#xff08;3&#xff09;——使用PyTorch構建神經網絡_pytorch 神經網絡-CSDN博客 通過如下博客內容…

nodejs 實現Excel數據導入數據庫,以及數據庫數據導出excel接口(核心使用了multer和node-xlsx庫)

項目地址&#xff1a;https://gitee.com/LiangDouJun/nodejsExcel 一、實現效果 1、數據庫數據導出 2、excel導入 二、代碼實現 // 根據環境加載對應的配置文件 const env process.env.NODE_ENV || development; require(dotenv).config({ path: .env.${env} });const expr…

VUE2 學習筆記8 v-text/html/cloak/once/pre/自定義

除了之前已經介紹過的v-on v-bind v-for v-if v-show&#xff0c;vue還有很多其他的指令。v-textv-text是Vue內置指令。內置指令&#xff0c;是Vue內部定義好的&#xff0c;開發的時候直接拿來用就行了。v-text用于向其所在的標簽添加文本。<body><div id"root&q…

vue 使用postcss-pxtorem 實現適老化

1. 安裝依賴 npm install postcss-pxtorem -D2. 配置 Vite (vite.config.js) import { defineConfig } from vite import vue from vitejs/plugin-vue import postcsspxtorem from postcss-pxtoremexport default defineConfig({plugins: [vue()],css: {postcss: {plugins: [po…

Rust:高效錯誤處理工具 anyhow

Rust 的 anyhow 庫是一個專注于簡化錯誤處理的工具&#xff0c;特別適合應用程序開發場景。它通過統一的錯誤類型和便捷的 API&#xff0c;減少模板代碼&#xff0c;提升錯誤信息的可讀性。以下是其核心用法及示例&#xff1a;1. 安裝與基礎用法 在 Cargo.toml 中添加依賴&…

Solidity基礎(教程①-簡單數字存儲)

我們來嘗試一個超級簡單的智能合約&#xff0c;它只會做一件事情&#xff1a;存儲一個數字&#xff0c;并且讓我們能修改這個數字。最簡單的 Solidity 代碼// SPDX-License-Identifier: MIT pragma solidity ^0.8.0;// 定義一個智能合約&#xff0c;名字叫做 SimpleStorage (簡…

在 Web3 時代通過自我主權合規重塑 KYC/AML

1. 引言 前序博客有&#xff1a; Ligero 和 Ligetron 中的 MPC 和 ZKLigetron&#xff1a;Nim Network開發的針對AI的zkVMLigetron&#xff1a;基于MPC-In-The-Head范式的zkVM簡介谷歌采用 Ligero 構建其 ZK 技術棧 KYC&#xff08;了解你的客戶&#xff0c;Know Your Custo…