JAVA web開發相關概念以及環境搭建

java web開發相關概念以及環境搭建html

HTTP協議 Http:Hyper Text Transfer Protocol 超文本傳輸協議java

http協議規定了客戶端軟件和網絡服務器的通訊規則。數據有html文檔,音樂,圖片等文件。linux

http協議定義了8中方法,執行不一樣的操做。 get,post,options,head,put,delete,trace,connect 哦破訓 吹思 砍ne課特 選擇 發現 鏈接web

最經常使用的是get和post數據庫

web開發內容apache

重點作服務端的開發:包含如下內容小程序

第一:給用戶提供網頁的UI,而且用戶在進行不一樣操做時,能夠經過程序動態的給用戶提供不一樣頁面或數據(動態性) 第二:有了程序後須要把它部署在服務器上能夠供給全部用戶使用,經常使用的web服務器有tomcatwindows

使用myeclipse+tomcat搭建java web項目 目前使用 apache-tomcat-6.0.16 免安裝版 解壓到d盤目錄 startup.bat 是windows啓動執行文件 運行tomcat6.0.16 startup.sh 是linux 系統啓動執行文件瀏覽器

打開myeclipse windows > preferences > myeclipse > servers>tomcat> tomcat 6.x >browse 選中剛剛解壓的apache-tomcat-6.0.16目錄 會自動導入3個包而後啓動tomcat > starttomcat

配置成功後咱們建立第一個web project小程序 發音(撲ra接可特)詞意(工程)

xml是咱們如今接觸的第一個配置文檔

<welcome-file-list>標籤能夠配置初始頁面 把建立的第一個web project部署到tomcat6.0裏面

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

改爲utf-8反正亂碼

servlet技術 發音(舌V累特)詞意(小服務器程序)

javax包必定是web開發相關

HttpServletRequest Request 發音(瑞kua死特)詞意(請求) HttpServletResponse Response 發音(瑞死棒死)詞意(響應)

response.setCharacterEncoding 設置漢字亂碼方法 發音(克瑞K特 因扣頂)詞意(字符編碼)

servlet有生命週期 init方法裏面寫數據庫的初始化 由於鏈接數據庫只須要鏈接一次 這個方法恰好只執行一次 啓動》加載》init()方法調用進行初始化,只執行一次》等待用戶請求 get(doget) 超級連接 post(dopost)表單提交 》銷燬,調用destroy方法 低思腳以 給你清空資源

destroy 發音(弟死quai) 詞意(銷燬)

servlet 的生命週期能夠改變

<servlet></servlet>能夠有多個,mapping必定要配置

<welcome-file-list> 配置初始化頁面

編寫servlet的重點在請求處理階段。是整個編碼的核心。

第一個doget方法 包含兩個參數:httpservletrequest和httpservletreponse

httpservletrequest :http請求對象。是服務器在接收用戶請求後給咱們封裝的對象,全部與請求相關的數據(例如地址,參數,數據,文件。客戶端ip等)都被包含在這個對象內。

httpservletreponse:http響應對象。經過這個對象給用戶響應內容。好比網頁或cookie

response對象能夠獲得一個輸出流對象

response.setcontenttype("text/html;charset=gb2312");解決網頁亂碼

深刻了解servlet技術

servlet如何獲取用戶提交的表單數據

request.getParameter();方法 發音(pa rua 們 特)詞意:參數

<form>表單內的屬性 action 發音(a 可信) 詞意(開始)傳入一個絕對路徑 method 發音(ma 舍的)詞意(方法) 屬性改變表單提交的方式方法 method="get" 或者"post"

數據庫亂碼使用:request.setCharacterEncoding("UTF-8"); 網頁亂碼:response.setContentType("text/html;charset=gb2312");

request.getContextPath()這個方法能夠獲得當前項目的路徑

servlet中讀取自身初始化參數 servlet必須配置在web.xml中才能夠使用,除了配置常規外,咱們還能夠有一些可選的配置供咱們使用。

servlet初始化的配置,加載的配置 能夠控制用戶第一次訪問servlet的時間

須要xml文件內使用標籤<load-on-startup>0</load-on-startup> 假如這個標籤沒有配置或者是負數,那麼servlet會在第一次訪問時建立而且初始化。若是這個值配置成>=0的時候 就會不須要訪問就會調用init方法,會在web服務器啓動的時候建立並初始化。對於有多個servlet的時候,這個值越大,啓動的優先級就越底。

servlet讀取上下文參數 有時候咱們但願配置一個參數,能夠在全部的servlet內能夠讀取怎麼辦呢?

使用標籤<context-param>發音(康特可死特)詞意(上下文) </context-param> 這個標籤就不是配置在<servlet>標籤內而是在外面 這是全局變量

配置好了全局變量後,咱們經過getServletContext()方法獲得 經過ServletContext 這個類實例化一個對象來接收返回的參數。 而後經過實例化的對象點出this.getInitParameter("name")方法來獲得值

在xml配置文件中配置參數對軟件的擴展性是有幫助的,假如目前有變量須要在不少的地方使用。因此只須要在xml配置一個全局變量,全部的servlet均可以使用到。

咱們能夠通 sendRedirect方法跳轉到指定的html頁面 可是必須在你沒有向 response 輸出任何東西以前,看下面的例子

response.setCharacterEncoding("utf-8");
	String uname=request.getParameter("username");
	String password=request.getParameter("pwd");
	String path=request.getContextPath();

	if(uname.endsWith("admin")&&password.endsWith("admin")){
		response.setContentType("text/html");
		request.getRequestDispatcher(path+"/loginafresh.html").forward(request, response);
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.println(uname+"登陸成功,歡迎來到java世界");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}else{
		response.sendRedirect("/tomcatone/loginafresh.html");
	}

session 會話 只要有鏈接的都是會話 瀏覽器和服務器之間的會話 會話能夠保留很長的時間 session 和 cookie 之間是有某種聯繫的

session是服務器端 sessionid 是惟一的沒有重複 cookie 是瀏覽器端

session有一個過時時間 登陸後長時間不操做會失效 服務器的內存 長時間佔據會消耗服務器資源 因此當用戶長時間不操做後 咱們就把這個資源釋放

response.setCharacterEncoding("utf-8"); 或者gb2312
	request.setCharacterEncoding("utf-8");

	設置編碼

pojp包裏面放不少的類 就是爲了傳值的 db 包裏面放 service 包放servlet的類 設圍斯 服務

相關文章
相關標籤/搜索