0 運行環境
MyEcplise2016+Tomcat8.0
1
今天在html的表格提交跳轉時發現,想要提交到自己寫servlet程序中,卻發現總是出錯http://localhost:8080/Test4/Test4/fail.html多出一個項目路徑/Test4,但是程序沒有任何問題,最后發現是在Ecplise中創建html文件時選的是5.0版本,當選擇較低版本:HTML 4.01 Transitional時便沒有這個問題了,在較高版本中這個問題目前還沒有解決。
---問題解決:今天和學長交流時發現是因為瀏覽器本身的緩存的問題,與HTML版本無關。清楚緩存,刪除歷史記錄即可解決。
今天還順帶解決了Sublimt Text的中文漢字亂碼問題,使用UTF-8編碼即可,在代碼中設置編碼格式,就能保證漢字無亂碼
2
在有返回值的方法中,有時可能需要用try catch 接收異常,但接收后可能會警告該方法無返回值,此時只需要加上
throw new RuntimeException(e)即可。
3
404:一般是訪問資源有問題在jsp或者HTML中查找,或者Tomcat服務器啟動失敗
500:一般是程序的有問題在servlet中查找
4
有時候同一個瀏覽器的不同界面也是采用的一個session,可能會造成錯誤,測試時可以采用不同瀏覽器
5
在做餐館王系統時發現在Tomcat-webapps下修改.html文件為.jsp文件,然后在MyEcplise中進行更新,并不能對相應的文件名進行更新,仍要手動更新,這一問題還沒有解決。----發現不應該在Tomcat在修改,應該在MyEcplise創建的文件路徑下修改才可以。
7
MyEcplise加載項目過多時就會特別卡,注意及時清理不用的項目
8
html頁面中使用的路徑是相對路徑,換成jsp后要把相對路徑換為絕對路徑,寫成jsp的形式:${pageContext.request.contextPath}/
9 直接輸入項目名出現404
發布完項目后在網站上直接輸入項目名稱出現404錯誤,可以把index.jsp即首頁文件放在項目目錄下就可以自動訪問了。
10
再導入架包時有兩種方案:一,新建folder命名為lib然后把架包復制到里面再配置路徑;二,config buildpath中選擇add liberary配置后在選擇add external jars。
采用方式二則在原項目中是不出現架包的。
11
MyEcplise在啟動Tomcat服務器時遇到自己導入的架包不會自動的復制到Tomcat的lib目錄下需要手動設置。如果不設置會出現404錯誤。方法一:手動的把架包考到lib目錄下;方法二:項目上右鍵--》properties--》myeclipse--》DeploymentAssembly--》選擇需要復制到lib下的libraries
12
properties文件中想注釋中文,但是寫出來后卻是 :# /4djf/234/4354/r23df/324d? 這種效果
是因為字符編碼默認沒有設置造成的,以前總是安裝插件解決此問題,但是卻犧牲了,properties本身的提示功能.
解決方法: 右鍵Properties -> properties ->Resource ->選擇字符集為UTF-8,?#在寫出來就會是中文,還要注意的注釋和代碼不要放在一行
13 解決js上無名錯誤
MyEcplise有時在js上誤報錯,把這個錯誤移除即可。解決方法右鍵--》myecplise---》execlude form validation
14
用Tomcat發布項目時,如果兩個項目名字相差不是很大,Tomcat可能不會新建仍舊按照老的路徑,這樣在瀏覽器上輸入新路徑就會導致錯誤。--在MyEcplise中
15 解決8080端口占用問題
C:\Users\111> cd??C:\windows\system32? 跳轉到該目錄下
C:\windows\system32>netstat -ano | findstr 8080? 查詢8080端口有哪些
假設顯示: TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 6148
C:\windows\system32>taskkill /pid 6148 /f
成功: 已終止 PID 為 6148 的進程。
16 ecplise中項目發布成功卻沒有部署
MyEcplise是tomcat配置后自動把項目部署到webapps文件夾下,但ecplise卻沒有這個功能,要自己在server location中配置一下。有時ecplise重啟后都要再配置一下
17 重置id
在用hibernate使用mysql時發現就算刪除某條記錄再重新插入時仍然會接著刪除的id增加,想要重置的只能使用TRUNCATE TABLE 表名;重置整張表,不能重置某條記錄。
18 hibernate配置路徑
在hibernate使用中,當有不同的在不同的包下時,就不能設置自動導入,要手動導入包的全名
20 mysql的事務
在Mysql中,只有當表的類型是INNODB的時候,才支持事務
213213