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

②編輯器默認(rèn)編碼,都改為UTF-8

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

④解決cmd中的亂碼問題,注冊(cè)表中,增加CodePage頁(yè),路徑如下圖:雙擊startup.bat時(shí)也不會(huì)亂碼了。

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

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

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

4、編寫第一個(gè)servlet程序,使用注解方式
在工程的src中,添加一個(gè)包,如com.rainpet,添加一個(gè)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就是項(xiàng)目預(yù)覽時(shí)的訪問路徑,如我的訪問路徑就是http://localhost:8080/web2:

頁(yè)面已經(jīng)跑起來(lái)了:

6、war的打包問題

使用方法:

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

找到文件:

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

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

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

