新建JavaWeb项目
新建JavaWeb項目
說明:通過Tomcat和部署了Tomcat的IDEA兩種方式新建JavaWeb項目
僅由Tomcat創(chuàng)建JavaWeb項目
新建項目文件
在webapps文件夾下,新建一個項目文件夾Project,在項目文件夾下新建以下層級結構的文件或文件夾
ProjectWEB-INFclasses----空文件夾,存放字節(jié)碼文件lib----空文件夾,存放針對此項目的jar包web.xml----從webapps中xml文件復制粘貼來index.jsp----空文件,和WEB-INF為同一級目錄在index.jsp文件中新增以下內容
<!--index.jsp文件內容--><html><head><title>Project</title></head> <body>hello<%out.println('Hello World!');%></body> </html>打開Tomcat服務器窗口(startup.bat),瀏覽器訪問localhost/8080/Project,即可顯示Hello World!
由上述代碼可知:jsp文件相當于在html中嵌套的java代碼
瀏覽器中默認訪問的是.\Project\index.jsp文件。如果同層級中存在多個jsp文件,通過修改.\Project\WEB-INF\web.xml文件,便可訪問其他jsp文件
如果需要打開指定頁面,如index.jsp,可在瀏覽器地址欄中做如下設置:http://localhost:8080/MyProject/index2.jsp
虛擬路徑
作用:在webapps目錄外新建jsp項目,并能通過localhost/8080訪問項目
打開文件.\apache-tomcat-9.0.17\conf\server.xml,其中,name=“l(fā)ocalhost” appBase="webapps"表示本地虛擬路徑指向webapps文件夾
修改
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /><!--path:相對路徑--><Context docBase="D:\Project" path="/Project"><!--path:實際路徑--><Context docBase="D:\Project" path="D:\DevelopmentTool\apache-tomcat-9.0.17\webapps\Project"></Host>docBase:實際路徑;path:虛擬路徑
訪問虛擬路徑(path)相當于訪問實際路徑(docBase)
重啟Tomcat
在.\apache-tomcat-8.5.30\conf\Catalina\localhost目錄中新建項目名.xml,并在此文件中新增一行:
注意:該文件名必須和項目名相同
JSP執(zhí)行流程
jsp- java(Servlet文件) -class
因為第一請求服務端會有翻譯和編譯的過程,因此比較慢; 后續(xù)訪問可以直接訪問class,因此速度較快。但是如果服務端修改了代碼,則再次訪問時會重新的翻譯、編譯。
idea中新建項目
TODO:
注意idea中run index.jsp(Ctrl+Shift+F10)和rerun(Ctrl+F5)不同。
run不會重新執(zhí)行代碼,只是重新輸出結果
rerun重新執(zhí)行代碼,如果代碼有修改建議使用rerun
參考:JavaWeb視頻教程(JSP/Servlet/上傳/下載/分頁/MVC/三層架構/Ajax)
總結
以上是生活随笔為你收集整理的新建JavaWeb项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决JavaWeb项目代码报错
- 下一篇: 基于DOS命令打war包