1. 程式人生 > >JDBC---Javaweb過程中的問題及解決方案

JDBC---Javaweb過程中的問題及解決方案

為資料庫表user插入資料時(id列為自增長型整數):錯誤丟擲(僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'users'中的標識列指定顯式值。)

執行以下SQL語句:

    --先開啟IDENTITY_INSERT  
    set IDENTITY_INSERT login ON  
    --新增資料  
    insert into login(userId,username,passwd,email,authority) values(123,'xiaoming', 'xiaoming', '[email protected]',5)  
    --關閉IDENTITY_INSERT  
    set IDENTITY_INSERT login OFF  
如果插入值大於表的當前標識值,則 SQL Server 自動將新插入值作為當前標識值使用SET IDENTITY_INSERT 的設定是在執行或執行時設定,而不是在分析時設定。

另外:鑑於jdbc操作,可以直接在表明後面指定要新增的列名,忽略掉自增長列,也是可以的。

jsp頁面中的文字框的值在servle中通過String name=requst.getParameter("name")中讀取後亂碼----->未設定request 的字元編碼

資料庫中明明存在的值為何在jsp頁面查詢不了?-------->考慮字元編碼問題

1.request.setCharacterEncoding("utf-8"):設定從request中取得的值或從資料庫中取出的值

指定後可以通過getParameter()則直接獲得正確的字串,如果不指定,則預設使用iso8859-1編碼。值得注意的是在執行setCharacterEncoding()之前,不能執行任何getParameter()。因為在執行第一個getParameter()的時候,java將會按照編碼分析所有的提交內容,而後續的getParameter()不再進行分析,所以setCharacterEncoding()無效。而且,該指定只對POST方法有效,對GET方法無效。而對於GET方法提交表單是,提交的內容在URL中,一開始就已經按照編碼分析提交內容,setCharacterEncoding()自然就無效。

get需在Tomcat的server.xml中的:<Connector URIEncoding="UTF-8" />,可解決get請求亂碼問題。

2.response.setContentType("text/html;charset=utf-8")

前者是設定動態文字(引數,資料庫),後者設定頁面靜態文字 
response.setContentType指定 HTTP 響應的編碼,同時指定了瀏覽器顯示的編碼. 
response.setCharacterEncoding設定HTTP 響應的編碼,如果之前使用response.setContentType設定了編碼格式,則使用response.setCharacterEncoding指定的編碼格式覆蓋之前的設定.與response.setContentType相同的是,呼叫此方法,必須在getWriter執行之前或者response被提交之前。

request.setCharacterEncoding("utf-8")這個是當你從頁面取值時要設定,比如servlet裡獲取取頁面姓名(name),你就得先設定request的字元,假如你的資料是從資料庫裡取的,通過servlet傳到頁面,你就得設定response的字符集,前提是你是頁面也是utf-8,如果你怕錯可以把這個2個設定放在方法裡的最高位子上就ok了。
jsp頁面的上設定字元編碼

<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>

設定伺服器傳送給客戶端時的內容編碼

<%@ page contentType="text/html;charset=utf-8" pageEncoding="utf-8"%>,這只是設定jsp檔案本身的編碼,客戶端接收到的是什麼就不得而知了。

html頁面的字元編碼設定:

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

網頁出現錯誤:HTTP Status 405 - HTTP method GET is not supported by this URL

出錯原因是doPost方法用於處理前臺提交的資料,當form表單屬性method="post"時,doPost方法才被呼叫。當用servlet類的URL直接訪問servlet時,傳送的是HTTP請求,servlet預設呼叫doGet()方法,而源程式裡沒有重寫父類的doGet()方法,父類的doGet()方法不被此種URL支援,所以出現HTTPmethod GET is not supported by this URL這種錯誤。

The requested resource is not available的解決辦法

HTTP Status 404(The requested resource is not available)異常主要是路徑錯誤或拼寫錯誤造成的,參考連結:

http://www.jianshu.com/p/e3256211df43

我自己的專案是存在多個jsp檔案,當測試第二個jsp檔案的時候出現此異常,嘗試了一下方法,問題解決:

Page directive must not have multiple occurrences of pageencoding

出錯原因:不能指定多個pageEncoding。在jsp檔案中看在匯入類或其他檔案的時候是否重複指定了pageEncoding的值(兩次指定相同的值也不可以)

運用到jQuery的ajax方法時候,明明相同的值卻比較為false:jQuery中,對錶單輸入的值加入trim方法,再進行比較

相關推薦

JDBC---Javaweb過程的問題解決方案

為資料庫表user插入資料時(id列為自增長型整數):錯誤丟擲(僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'users'中的標識列指定顯式值。) 執行以下SQL語句: --先開啟IDENTITY_INSERT set I

Python自動化測試過程出錯解決方案:retrying

最近發現的新的解決方案:retrying retrying是一個 Python的重試包,可以用來自動重試一些可能執行失敗的程式段。retrying提供一個裝飾器函式retry,被裝飾的函式就會在執行失敗的條件下重新執行,預設只要一直報錯就會不斷重試。 import random from retr

配置BGP 過程最容易出現的問題。解決方案

解決方法 在配置過程中最容易出現的問題! 往往是很簡單、很容易的問題,我們大家常常會忽略, 在配置過程中容易把配置中 peer 192.168.34.4 as-number 64513 配置成65413。 解決方案:在R3或R4中開啟debugging

Prometheus配置過程出現的bug解決方案

一、簡介 Node exporter,Promenade和Alertmanager在安裝配置後,在除錯Prometheus執行中出現了不少bug,針對這些bug進行了解決。本部落格主要蒐集總結這些bug和解決方案,進行記錄。 Prometheus執行命令參考如下: docker ru

配置solr過程遇到的問題解決方案

1.由於缺少solr原始檔報錯 解決方法是把solr原始檔包裡面的資料夾contrib和dist複製到solrhome裡的core的conf目錄下就行了。 我的命令:  進入solr軟體的根目錄  (這個solr目錄不是tomcat裡的solr目錄,我的目錄為 /h

基於SPM的腦影象處理軟體REST使用過程出現的問題解決方案

報錯 Eror using rest_progress(line 29) Input arguments of type matlab. ui. Figure not valid. 解決辦法: 在MATLAB中刪除路徑,並重新set path 把REST的路徑放

python——使用ddt過程遇到的問題解決方案

前言:   在使用DDT資料驅動+HTMLTestRunner輸出測試報告時遇到過2個問題:   1、生成的測試報告中,用例名稱後有dict() -> new empty dictionary        2、使用ddt生成的用例名稱無法更改 1、用例名稱後有dict() -> new empt

Python:使用ddt過程遇到的問題解決方案

前言: 在使用DDT資料驅動+HTMLTestRunner輸出測試報告時遇到過2個問題: 1、生成的測試報告中,用例名稱後有dict() -> new empty dictionary 2、使用ddt生成的用例名稱無法更改 1、用例名稱後有dict() ->

VMware Workstation的使用過程出現的錯誤解決方案

一: VMware Workstation cannot connect to thevirtual machine. Make sure you have rights to run the program, access alldirectories the pro

在Eclipse匯入部署JavaWeb專案遇到的問題解決方案

問題一:匯入工程後報錯:Unbound classpath variable Error 【原因】之前的Tomcat 5.x生成的.classpath檔案中的 <span style="fon

nginx平滑重啟過程提示[alert] kill(2942, 1) failed (No such process)問題分析解決方案

場景 當nginx伺服器的配置加入新的模組後,若需要nginx伺服器使用新的配置,就必須平滑重啟nginx伺服器。 平滑重啟過程如下:nginx伺服器接收到重啟訊號時,首先讀取新的配置檔案,如果不存在語法問題,則啟動新的nginx服務,然後平緩的關閉原先的n

做Java Web專案過程遇到的幾個問題解決方案

java.lang.NoClassDefFoundError: javax/el/ELResolver    java.lang.ClassLoader.defineClass1(Native Method)    java.lang.ClassLoader.defineClass(ClassLoader.j

win7系統安裝oracle11g過程出現的問題解決方案

問題一:安裝到100%時報錯:提示[INS-20802] Oracle Net Configuration Assistant 失敗解決方案:1、點選重試,成功,則可以繼續安裝2、若不能成功,跳過繼續安裝,安裝完成後執行netca重新配置監聽器,然後嘗試是否能連結資料庫,若還

Spring boot 整合Spring Security過程的出現的關於Session scope的異常排查解決方案

背景介紹 最近做的一個專案,其一需要用到Spring 的oauth認證功能, 其二需要對spring 的ContextRefreshedEvent 這個事件進行監聽,實現一部分自定義註解的功能(具體功能不作贅述),本來以為毫不相關的兩個功能,卻出現了一些意料之

64位windows在安裝winsdk過程遇到的問題解決方案

微軟每推出一個重要的windows版本,一般都會同時推出一個SDK(Software Development Kit)。SDK的中文意思是“軟體開發工具包”。這是一個覆蓋面相當廣泛的名詞,可以這麼說:輔助開發某一類軟體的相關文件、範例和工具的集合都可以叫做“SD

c++開發過程遇到的問題解決方案

    我們可以修改兩個工程檔案來把VS2012的工程檔案一直到VS2010中去。     首先當然是修改解決方案檔案(.sln檔案)。     使用記事本開啟,把裡面的 Microsoft Visual Studio Solution File, Format Version 12.00 # Visual

hadoop-2.7.3搭建過程遇到的問題解決方案

sudo add-apt-repositoryppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-7-jdk 問題二:在伺服器新增完公鑰之後,ssh伺服器然後報了這個錯誤 sign_and_send_pubkey

ionic android 編譯打包過程遇到的一些問題解決方案

操作環境 ionic framework 3.9.2、 cordova (Cordova CLI) 8.1.2、ionic (Io

Html map 實際使用遇到的問題解決方案

矩形選框 比例 lan fun 分開 寫法 解決方案 介紹 rds 前言:百度了一下html map,嗯嗯,介紹的挺詳細的,如果是初學者,直接看他們的教程,挺好的,就不用我再多說了。 不過我發現一個問題,就是都是介紹map有什麽屬性怎麽用的,這明顯就是照搬文檔自己再改一下嘛

2018平安產險數據建模大賽 駕駛行為預測駕駛風險遇到的問題解決方案

機器學習1、數據需要清洗註意在讀取csv格式文件之後需要對空值進行補全類似如下代碼:2、特征工程此處選取以下幾個指標作為分類和回歸的特征3、深度模型失效通過日誌發現 正樣本即Y>0的樣本所占比例在14%左右,深度分類模型可能將所有的數據分為Y=0導致沒有數據進行回歸 所以此處采用傳統方法 使用SVM 方