JavaWeb_day04搜索_亂碼_路徑_轉發重定向_cookie

来源:http://www.cnblogs.com/luogg/archive/2016/10/31/6017559.html
-Advertisement-
Play Games

搜索功能 DAO層都是一些資料庫的增刪改查操作 Servlet,控制層 點擊頁面的搜索,把輸入的信息提交到servlet, 實體Bean是針對資料庫中的欄位而建的, 不和資料庫做對應,而是打包一些零散的值的Bean,和它的頁面做對應,包名為:com.xxx.view 針對頁面的實體Bean 頁面亂碼 ...


搜索功能

DAO層都是一些資料庫的增刪改查操作
Servlet,控制層
點擊頁面的搜索,把輸入的信息提交到servlet,
實體Bean是針對資料庫中的欄位而建的, 不和資料庫做對應,而是打包一些零散的值的Bean,和它的頁面做對應,包名為:com.xxx.view 針對頁面的實體Bean

String sql = "select * from copy_emp where 1=1 ";//這局話可以後邊添加對應的and xxx=xxx信息; 

//sql語句 精華,判斷搜索框是否為空,若不為空,表示輸入了數據,那麼就在where後邊添加對應的and xxx=xxx信息; 
    if(bean.getEmpId() != null && !"".equals(bean.getEmpId())){
        sql = sql + " and employee_id= " + bean.getEmpId();
    }
        
    if(bean.getName() != null && ! "".equals(bean.getName())){
        sql = sql + " and last_name like '%" + bean.getName() +"%'";
    }
    if(bean.getStartHiredate() !=null && !"".equals(bean.getStartHiredate())){
        sql = sql+ " and hire_date >= to_date('"+bean.getStartHiredate()+"','"+"yyyy-mm-dd"+"')";
    }

思路 : 將用戶輸入的搜索信息,傳給servlet,通過頁面Bean接受,然後將頁面bean通過參數形式傳遞給dao中的搜索方法,返回list,list返回搜索得到的信息.

頁面亂碼解決方案

  • response.setContentType("text/html;charset=utf-8");//頁面顯示漢字
  • 針對錶單提交post請求方式
    request.setCharacterEncoding("utf-8);
  • 針對錶單提交get請求方式
    String user = request.getParameter("user");
    user = new String(user.getByte("iso-8859-1"),"utf-8");

絕對路徑和相對路徑

開發一般用絕對路徑,
絕對路徑 : 是一個完整的路徑, 語法 : 工程名字/資源的路徑
相對路徑 : 是相對於當前資源的路徑去找別的路徑; ../a/index.html 代表從當前路徑挑出來一層,找到a文件夾下的index.html資源
相對路徑開頭不加/,絕對路徑開頭加/

轉發的時候(request.getRequestDispatcher()) , Servlet中絕對路徑寫的時候不加工程名字

轉發重定向(參考day02)

內部轉發和重定向的區別 request.getRequestDispatcher(path)轉發/response.sendRedirect(path)重定向
區別在於是否發起新的請求,是否共用同一個request對象

  • 轉發沒有發起新的請求,url路徑不變,與轉發的頁面公用一個request對象,因此可以傳遞信息
  • 重定向發起了新的請求,url改變,沒有公用一個request對象,不可以傳遞信息
    這裡寫圖片描述
//1.創建cookie
Cookie c = new Cookie(String name,String value);
//2.設置cookie的存在時間
c.setMaxAge(3000);
//3.將一個cookie添加到客戶端
response.add(c);
//4.讀取cookie(從客戶端讀到伺服器)
request.getCookie();

cookie的生命周期分為兩種類型 :

  1. 沒有設置過(setMaxAge())時間的,關閉瀏覽器時生命周期結束
  2. 設置過時間的,保存在本地磁碟,當設置的時間到達,或把值從本地刪除時生命周期結束.
    註意:不同瀏覽器cookie保存的值的位置是不同的

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 不是本人所寫!網路收集 C 中的匿名函數和Lamda是很有意思的東東,那麼我們就來介紹一下,這到底是什麼玩意,有什麼用途了? 1. 打開visual studio 新建一個控制台程式. 2. 我們利用委托來寫一個匿名函數. 代碼如下圖. 3. 我們再來用lambda表達式寫一次一模一樣的功能. 委托 ...
  • 首先我們新建一個項目,Java項目或者是Javaweb項目都可以,然後把hibernate需要的jar導入,我用的jar包如下: 然後新建一個實體類Teacher.java並添加get和set方法: 在Hibernate中一個實體類對應一個.hbm.xml文件,因此我們新建一個Teacher.hbm ...
  • Docker Introduction to Docker Monitoring Database MongoDB: The Good, The Bad, and The Ugly Web 4 Keys to a Clean Angular Implementation Vue.js server ... ...
  • 今日問題: 請問主程式輸出結果是?(點擊以下“【Java每日一題】20161101”查看20161031問題解析) 題目原發佈於公眾號、簡書:【Java每日一題】20161101,【Java每日一題】20161101 每日一題最新將在公眾號發佈,歡迎訂閱,交流進步 ...
  • 下麵是 Java 線程相關的熱門面試題,你可以用它來好好準備面試。 1) 什麼是線程? 線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程式員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務提速。比如,如果一個線程完成一個任務要 100 毫秒,那麼用 ...
  • 如今的互聯網,採集網站非常多,很多網站都喜歡盜鏈/盜用別人網站的圖片,這樣不僅侵犯網權,還導致被盜鏈的網站消耗大量的流量,給伺服器造成比較大的壓力,本文章向大家介紹php如何防止圖片盜用/盜鏈的兩種方法,需要的朋友可以參考一下。 圖片防盜鏈有什麼用? 防止其它網站盜用你的圖片,浪費你寶貴的流量。本文 ...
  • 這次主要是講解一下通過登錄後對得到的數據進行分頁,首先我們新建一個登錄頁面login.jsp,因為我們主要學習一下分頁,所以登錄驗證的部分不再闡述,主要代碼如下: 首先建立實體類User.java並添加get和set方法: 我們可以看到form表單是提交到pageServlet中,所以我們新建一個P ...
  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://user-20160821pd:8088/com.jdbc2/"> <title>My JSP 'inde ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...