1. 程式人生 > >JavaWeb(一)【Tomcat和Servlet入門】

JavaWeb(一)【Tomcat和Servlet入門】

一、Tomcat
1.使用Tomcat7.0:在8.0以後的版本,對編碼作了優化,較少出現亂碼問題。使用7.0是為了學習如何處理亂碼問題。
2.解壓即可使用。首先要設定環境變數JAVA_HOME.不然會出現Tomcat啟動一閃而過,導致開啟失敗。
startup.bat:啟動伺服器
shutdown.bat:停止伺服器
3.Tomcat載入Eclipse開發環境:
  Windows->Prepferences->Server->Runtime Environments
  顯示Tomcat視窗欄:Window->showView->Servers;
4.專案加入Tomcat。Servers視窗中,對Tomcat7.0右鍵->add and remove...
當執行tomcat出現錯誤時,先移除專案,再執行。如果還是有錯,是tomcat的錯誤。沒有錯,是專案的錯誤
5.tomcat解決亂碼方式:
1)請求亂碼:
  post請求:request.setCharacterEncoding("utf-8");
2)響應亂碼:
  response.setContentType("text/html;charset=utf-8");
6.埠衝突問題:
1)將佔用埠的應用結束:
  cmd->netstat -ano 檢視程序所使用的埠
2)修改自身應用的埠號:
  修改tomcat/conf/server.xml中的埠號




HTTP協議:
1.協議規定了不同瀏覽器和不同軟體伺服器統一所要遵循的規則,規範瀏覽器和伺服器之間的資料傳遞。
2.每次請求必須要得到迴應,請求錯誤也會迴應。1.1版本的協議增加了請求超時會結束通話協議。
3.HTTP協議的內容形式:
1)使用高階瀏覽器(Goole,FireFox)抓包:
FireFox,按F12->網路選項卡->跳轉到新的頁面,會顯示請求的協議;
2)協議內容:
(1)GET方式:
請求行:請求方式 請求路徑 協議版本
請求頭:請求頭一般都是key.value鍵值對的形式,一般情況下一個key對應一個value.也有一些是一個key對應多個value
(2)POST方式:多了一個請求體
(3)響應部分:
響應頭:鍵值對,一般一個key對應一個value,也有一個key對應多個value;
*Last-Modefied: 與請求中的IF-Modified-Since 一起使用查詢本地快取。
*Content-Dispistion:檔案下載的使用的一個頭資訊
*Location          :重定向的跳轉的路徑 
*Refresh           :定時重新整理/定時跳轉 
*響應體:顯示到瀏覽器頁面的內容

Servlet部分:
1.概念理解:
 Servlet只是一個執行在WEB伺服器上的小的java程式,用來接收和響應從客戶端發過來的請求,通常使用HTTP協議。
2.在web方面使用Servlet的具體步驟:
1).新建一個普通java類,實現Servlet介面,載入所有介面方法。把server()方法放到前面。
2).新建一個Servlet,良好的習慣是先到web.xml中配置servlet。理解一下web.xml執行原理就知道怎麼配置了:
web.xml是web專案的核心配置。一旦寫錯,專案就無法執行。web.xml作為前端和後臺伺服器的中介軟體。或者說,作為form表單與Servlet聯絡的中介軟體。
當一個form表單做出提交的請求後,首先是轉發到web.xml中,通過表單的action裡面提供的servlet虛擬路徑名,與<servlet-mapping>標籤的設定的虛擬路徑匹配,然後找到servlet-name相同的
得到servlet的路徑。進而再把表單交給servlet處理。
因此,配置方式如下:
(1)在<web-app></web-app>之間加入<servlet ></servlet>和對映標籤<servlet-mapping></servlet-mapping>。注意,兩個是並列關係,不是包含
(2)在<servlet-mapping>標籤中,新增兩個標籤:
<servlet-name>mytest</servlet-name>:名字隨便取,但是要和<servlet>標籤中的<servlet-name>標籤名字一樣。
<url-pattern>/aa</url-parttern>:虛擬路徑名,隨便取,但是要和前端form表單的action裡面設定的虛擬路徑名一樣。
(3)在<servlet ></servlet>標籤中。設定兩個值
<servlet-name>mytest</servlet-name>:與<servlet-mapping>標籤中的<servlet-name>名字一樣。
<servlet-class>Servlet類所在的包路徑名
(4)form表單中action屬性寫虛擬路徑名的兩個寫法:
絕對路徑名:/day0531/aa
相對路徑名:aa
這兩個寫法都可以,推薦用絕對路徑名。
3.request獲取請求引數的常用方法:
注意,返回的都是String型別的資料,string->int:Integer.parseToInt()
String getParameter(String name):通過表單名字獲取引數
String[] getParameterValues(String name); 通過表單名字獲取多個值:比如下拉框,多選框
Map<String,String> getParameterMap():以【name:value】的鍵值對應封裝在map集合。
Enumeration getParamterNames();用於獲取所有的表單元件名字。

相關推薦

JavaWeb()TomcatServlet入門

一、Tomcat1.使用Tomcat7.0:在8.0以後的版本,對編碼作了優化,較少出現亂碼問題。使用7.0是為了學習如何處理亂碼問題。2.解壓即可使用。首先要設定環境變數JAVA_HOME.不然會出現Tomcat啟動一閃而過,導致開啟失敗。startup.bat:啟動伺服器

推薦SpringMVC原始碼總結()HandlerMappingHandlerAdapter入門

protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception {          HttpServletRequest processedRequest = reque

springboot整合mycat入門、安裝mycat

mycat作為開源資料庫分庫分表中介軟體可謂大名鼎鼎,社群活躍度也很高,不知道mycat是什麼的小夥伴可以點選下面的傳送門到官網進行了解 博主用的是centos7作為測試環境,下面廢話不多說,直接講解安裝過程 1、我是在官網上下載壓縮包進行安裝的,小夥伴也可以使用命令

Linux運維入門SonarQubeJenkins的整合之路

安裝配置完sonar後就需要與專案在用的Jenkins進行集成了,Jenkins和Sonar整合的原理大概是這樣的,Jenkins在其外掛管理中心,下載sonar外掛並進行配置,與sonar關聯上。然後

Tomcat調優總結記憶體執行緒

本文,主要講的是tomcat記憶體和執行緒方面的優化 1.調整tomcat的記憶體 Java 的記憶體模型分為:Young,年輕代(易被 GC)。Young 區被劃分為三部分,Ede

恒成立、能成立恰成立三類命題賞析初級中級輔導

反思 給定 image ongl 至少 取值 有一個 分享 最大值 恒成立、能成立和恰成立三類命題賞析 恒成立、能成立和恰成立三類命題是高三數學中比較常見的高頻命題,尤其是恒成立、能成立命題,讓許多學生感到頭疼不已。考查的頻次多,難度大,所以深入思考和總結這類命題的規律顯

Spring學習(spring概念ioc入門)

  Spring概念     Spring是一個開源輕量級框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Des

CAS4.0.3服務的搭建實戰基於普通web專案

一、從官網下載對應的war包 1.地址一:https://github.com/apereo/cas/releases/tag/v4.0.3 2.地址二:http://central.maven.org/maven2/org/jasig/cas/cas-server-webapp/4.0

# Apache Spark系列技術直播# 第五講 Spark RDD程式設計入門

內容提要:本次講座主要涵蓋Spark RDD程式設計入門基礎,包括: Spark、RDD簡介 RDD API簡介 打包與spark-submit 效能分析與調優基礎 主講人:王道遠(健身) 阿里巴巴計算平臺EMR技術專家 直播時間:2018.12.13(本週四)19:00 - 20

數列的前n項的求法中級高階輔導

數列的前n項和的求法 ★ 數列求和第一步: 欲求和,先認清數列的通項公式,以\(a_n\)為“抓手”。 ★ 數列求和第二步:認清結構,合理選擇恰當的方法 法1、公式求和法;等差、等比型別 法2、分組求和法 法3、並項求和法 法4、裂項求和法(難點) 法5、錯位相減法(

演算法資料結構平衡查詢樹之B樹

  以B-樹的效能總是等價於二分查詢(與M值無關),也就沒有B樹平衡的問題;由於M/2的限制,在插入結點時,如果結點已滿,需要將結點分裂為兩個各佔M/2的結點;刪除結點時,需將兩個不足M/2的兄弟結點合併。 下面簡單說明分裂:    下面對B-樹進行實現 #pragma once //3階B樹 tem

原型原型鏈繼承

一、定義“類” ——建構函式 我們知道,JavaScript中沒有類的概念,我們只是通過函式來模仿類的行為,我們將它稱之為建構函式 建構函式分兩類,原生建構函式和自定義建構函式。原生建構函式像Array、Object,是執行環境自動提供的;

Linux運維入門Jprofiler9 遠端監控Linux下JBoss

所謂“工欲善其事,必先利其器”,人類最大的進步就是創造和使用工具,好的工具確能起到事半工倍的作用。今天再給大家介紹一款非常實用的工具:JProfiler 監控JVM執行情況,用到的最多的就兩個JCon

自然語言處理入門03:利用線性迴歸對資料集進行分析預測(下)

上一篇中我們簡單的介紹了利用線性迴歸分析並預測波士頓房價資料集,那麼在這一篇中,將使用相同的模型來對紅酒資料集進行分析。 1 基本要求 利用線性迴歸,對紅酒資料集進行分析。資料集下載地址。 2 完整程式碼 #-*- codin

原型原型鏈什麼是原型原型鏈

一、原型 ①所有引用型別都有一個__proto__(隱式原型)屬性,屬性值是一個普通的物件 ②所有函式都有一個prototype(原型)屬性,屬性值是一個普通的物件 ③所有引用型別的

堆疊棧溢位MSP430 陣列填充越界引起的棧溢位 導致程式跑飛

1、棧區(stack)— 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於連結串列。 //main

自然語言處理入門03:利用線性迴歸對資料集進行分析預測(上)

本篇筆記是《從自然語言處理到機器學習入門》課程第三次作業的上篇,主要是復現了老大課上講的利用線性迴歸對波士頓房價進行預測的實驗。在下篇中,將利用該模型對紅酒資料集進行線性迴歸分析。 1 基本要求 利用提供的波士頓房價資料,對其進行分析。資

自然語言處理入門01:利用jieba對資料集進行分詞,並統計詞頻

一、基本要求 使用jieba對垃圾簡訊資料集進行分詞,然後統計其中的單詞出現的個數,找到出現頻次最高的top100個詞。 二、完整程式碼 # -*- coding: UTF-8 -*- fr

pyspark之MLlib學習載入轉換資料(1)

pyspark系列文章是本人根據《PySpark實戰指南》學習pyspark中學習筆記,這本書是一本譯文,有些地方感覺有點小問題,不過在本人的這些筆記中都是親自測試跑通後的小例子。僅作參考和學習。 1.概述 MLlib概括了單個核心機器學習功能: 資料準備:特徵提取、變換

HDU2010 水仙花數進位制+入門

水仙花數 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 217918    Accepted Submiss