idea中java及java web項目的常見問題及解決
1、亂碼問題,主要有幾處地方,需要檢查
①確保文件編碼,其實主要就是在idea啟動文件中,增加了 -Dfile.encoding=UTF-8的設(shè)置

②編輯器默認編碼,都改為UTF-8

③Tomcat的運行配置,編碼也改為UTF-8,同樣使用:-Dfile.encoding=UTF-8

④解決cmd中的亂碼問題,注冊表中,增加CodePage頁,路徑如下圖:雙擊startup.bat時也不會亂碼了。

2、idea中web項目的創(chuàng)建步驟
①新建一個java工程。

②添加web framework支持
在項目名稱上連按兩次shift,彈出界面。

點Add Framework Support,選擇web即可添加。中文界面名稱可能為:添加框架支持
注意項目類型不要用空項目,不然Framework的檢測可能會出錯,導(dǎo)致,添加框架支持時,找不到web選項。
3、web支持添加后,添加tomcat的依賴庫
核心是將Tomcat的lib文件夾添加到項目的庫中:

4、編寫第一個servlet程序,使用注解方式
在工程的src中,添加一個包,如com.rainpet,添加一個java類,如Demo1。
圖如下:

注意:文件名和類名一致。
代碼如下:
package com.rainpet;
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("/Demo1")
public class Demo1 extends HttpServlet {
String message="hello";
@Override
public void init() throws ServletException {
//super.init();
this.message="hello world 2322";
System.out.println("init 執(zhí)行了2222!");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doGet(req, resp);
resp.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
PrintWriter out = resp.getWriter();
out.println("The Parameter are 222222222 123123:"+req.getParameter("name1")+" message222222222666:"+this.message);
//out.println("The Parameter are :");
}
}
5、tomcat的部署路徑
application context就是項目預(yù)覽時的訪問路徑,如我的訪問路徑就是http://localhost:8080/web2:

頁面已經(jīng)跑起來了:

6、war的打包問題

使用方法:

選擇合適的Artifact,Build即可在對應(yīng)的輸出目錄中找到war文件啦。

找到文件:

部署到tomcat根目錄下即可,比如我的Tomcat:

啟動tomcat環(huán)境,訪問http://localhost:8080/web2_war/Demo1即可。

訪問時,其實是自動解壓縮war文件,文件名決定訪問路徑。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決安裝mysqlclient的時候出現(xiàn)Microsoft Visual C++ 14.0 is required報錯
這篇文章主要介紹了解決安裝mysqlclient的時候出現(xiàn)Microsoft Visual C++ 14.0 is required報錯問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11
關(guān)于微服務(wù)使用Dubbo設(shè)置的端口和server.port的區(qū)別
這篇文章主要介紹了關(guān)于微服務(wù)使用Dubbo設(shè)置的端口和server.port的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
基于JSON實現(xiàn)傳輸byte數(shù)組過程解析
這篇文章主要介紹了基于JSON實現(xiàn)傳輸byte數(shù)組過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
spring boot利用docker構(gòu)建gradle項目的實現(xiàn)步驟
這篇文章主要給大家介紹了關(guān)于spring boot利用docker構(gòu)建gradle項目的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Spring MVC保證Controller并發(fā)安全的方法小結(jié)
在 Spring MVC 中,默認情況下,@Controller 是單例的,這意味著所有請求共享一個 Controller 實例,為確保并發(fā)安全,Spring 并不會自動對 Controller 進行線程安全保護,本文給大家介紹了Spring MVC保證Controller并發(fā)安全的方法,需要的朋友可以參考下2024-11-11

