# 在Web-tomcat部屬-運行-訪問 ###### tags: `Java Web-Servlet` ## Tomcat基本介紹 ## 建立步驟 ### 步驟一:建立具備web性質的Module  直接新建時,可能沒有提供選項   可直接右鍵該Module,選擇"Add Framework Support",並勾選Web Application,成為web性質的Module  成為web後,會出現web資料夾-WEB INF-web.xml web.xml是對web發出指令的重要檔案 ### 步驟二:完成html頁面 示範程式碼 ```htmlembedded= <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="add" method="post"> 名稱:<input type="text" name="fname"/><br/> 價格:<input type="text" name="price"/><br/> 庫存:<input type="text" name="fcount"/><br/> 備註:<input type="text" name="remark"/><br/> <input type="submit" value="添加"/><br/> </form> </body> </html> ``` #### 注意:html檔案務必要放在web資料夾底下,否則無法讀取  ### 步驟三:建立對應指令的java文件 示範代碼 ```java= public class AddServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException { //get方式目前不需要設置編碼(基於tomcat8) //如果是get請求發送的中文數據,轉碼稍微有點麻煩(tomcat8之前) // String fname = request.getParameter("fname"); // //1.將字符串打散成字節數組 // byte[] bytes = fname.getBytes("ISO-8859-1"); // //2.將字符數組按照設定的編碼重新組裝成字符串 // fname = new String(bytes,"UTF-8"); //post方式下,設置編碼,防止中文亂碼 //需要注意的是,設置編碼這一句代碼必須在所有的獲取參數動作之前 request.setCharacterEncoding("UTF-8"); String fname = request.getParameter("fname"); String priceStr = request.getParameter("price"); Integer price = Integer.parseInt(priceStr); String fcountStr = request.getParameter("fcount"); Integer fcount = Integer.parseInt(fcountStr); String remark = request.getParameter("remark"); FruitDAO fruitDao = new FruitDAOImpl(); boolean flag = fruitDao.addFruit(new Fruit(0,fname,price,fcount,remark)); System.out.println(flag ? "添加成功" : "添加失敗!"); } } ``` #### 說明: ```xml= <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>AddServlet</servlet-name> <servlet-class>com.servlets.AddServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AddServlet</servlet-name> <url-pattern>/add</url-pattern> </servlet-mapping> <!-- 1.用戶發請求,action = add 2.項目中,web.xml中找到url-pattern = /add ->第12行 3.找第11行的 servlet-name = AddServlet 4.找和servlet-mapping中servlet-name一致的servlet,找到第7行 5.找第8行的servlet-class ->AddServlet 6.用戶發送的是post請求(method = post),因此tomcat會執行AddServlet中的doPost方法 --> </web-app> ``` ### 步驟四:tomcat的設置 1.在libraries新增mysql的驅動包  2.先在Project Structure中的Module中,選擇對應的Module,並且在Dependencies添加Tomcat以及mysql的驅動包  3.在Artifacts生成對應Module的Artifacts  4.到Run/Debug添加對應的Artifacts,可以順便修改下方的context root(網頁連接所使用的名稱)  5.在URL輸入對應的context root/網頁名稱.html Application server要設置對應版本的Tomcat 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up