Jsp基礎知識總結
Jsp我們學完也有好長一段時間間了,過程中總結的一點點基礎知識,拿來與初學者分享,直到最後做我們一個小小的專案,寵物醫院,也是用我們最簡單的工具Jcreater4.0來做的,呵,到了Ecliplse下才發現,開發速度如此之快,不過這樣也打好了我們的基礎....不多說了,把所學到的小小總結髮來至此吧,願給初學者帶來便利,同時願高人給以指點不足之處.....
首先來說一下我們jsp的課程:第一部分為Servlet技術,包括Servelt入門,會話跟蹤,JavaMal和Servlet.第二部分就是Jsp技術,包括:jsp簡介,jsp指令碼和指令的使用,jsp隱式物件,JavaBean與jsp中的標準動作,jsp表示式語言,自定義標籤,jsp自定義表籤庫.第三部分就是過濾器的設計模式,包括過濾器和MVC設計模式.
一.Servlet知識及常見錯誤和規律.
1.桌面執行程式與WEB應用程式在過程實質是一樣的---基於請求與響應的過程.
2.http協議(超文字傳輸協議)
1).無狀態:多次請求資訊之間無聯絡.
2).用於internet傳送請求和響應訊息
3).使用埠接收和傳送訊息,預設為80埠.
埠:為記憶體緩衝區(多執行緒接收資料)
windows: 0---65535埠
0---4096為系統埠
3.什麼是Servlet?
Server let伺服器端小程式.
用來處理客戶端傳送的請求,並由伺服器響應給客戶端的java編寫的程式.
Servlet只在伺服器執行
4.Servlet詳解:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
response.sendRedirect("Login.jsp"); //重定向方法
request.getParameter(""); //讀取客戶端資料
/ /以下方法為轉發,不同於重定向的是:轉發時資料不丟失.
ServletContext context=this.getServletContext();
RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");
dispatcher.forward(request,response);
...//以下方法為包含(用得相對較少)
dispatcher.include(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doGet(request,response);
}
}
(2).當需要向Servlet傳遞引數的時候,Src="Servlet?name=' ' ";
5.執行servlet時,發生下載提示:
(1).可能性一:text/html;charset=GBK中間分號寫成逗號.
(2).可能性二:XML中配置資訊出錯.
(3).可能性三:如定義全域性變數時,例:CONTENT_TYPED在以後所用中放在雙引號之中.
(4).可能性四:當上面的text/html,charset中寫錯字元的時候,也會提示下載.
6執行servlet時,發生404錯誤:
(1).多為xml中配置出錯.
(2).可能在servlet通訊方法中url出錯.
(3).表單提交時:action路徑.
(4).比較弱智的錯誤就是標記寫錯,請仔細檢查.
7.執行servlet時,發生403錯誤:
(1).tomcat下站點裡發生錯誤.
8.執行servlet時,發生405錯誤:
(1).servlet中沒有post提交方法時.
95.執行servlet時,發生500錯誤:
(1).多數為servlet程式程式碼中發生異常錯誤.
10.執行時,取出的資料為null.就要根據實際情況對應錯誤提示去找.
11.執行jsp頁時,發生500錯誤提示....
多數為jsp頁面在轉譯過程中發生編譯錯誤! 甚是嚴重錯誤,可以按提示回頭去找...
二.XML配置
<!--config中的配置資訊,當中配置需要在servlet中的xml中-->
<servlet>
<init-param>
<param-name>sess</param-name>
<param-class>com.serv<param-class>
</init-param>
<servlet-name>Myservlet</servlet-name>
<servlet-class>com.Myservetl</servlet-class>
</servlet>
<!--此為對Myservlet進行對映-->
<servlet-mapping>
<servlet-name>Myservlet</servlet-name>
<servlet-class>/url</servlet-class>
<servlet-mapping>
<!--context中配置資訊-->
<context-param>
<param-name>ses</param-name>
<param-class>com.ser</param-class>
</context-param>
注意:配置資訊只能讀取,並且config是在單個Servlet中能訪問,context是全域性訪問
三.
========================會話跟蹤技術總結========================
使用者授權.
隱藏表單域
URL重寫
Cookie使用
--------------------------------------------------------------------------------------------
1.會話:是同一客戶端和伺服器之間在同一段時間的多次請求和響應.
2.Session使用(重點)
HttpSession session=request.getSession();
session.setAttribute("name",Object); //附值
session.getAttribute(); //取值
session.removeAttributer();
3.Cookie(類)
1).Cookie是什麼?
cookie是一段字串,由HTTP支援,在客戶端可以永久儲存.寫入(硬碟).
每次請求,響應中都會為cookie留有空間.
2).用法:
Cookie cookie=new Cookie("name",cookie); //必須指定cookie的鍵與值,且必須為字串.
response.addcookie(cookie);
cookie.setMaxAge(3600); //以秒為單位.
//讀取客戶端傳送過來的cookie,返回值型別為: cookie陣列
request.getCookies();
//迴圈讀取鍵與值.
使用過程:(1).生成cookie, new cookie("","")
(2).設定生存週期 >0,SetMaxAge(秒).
(3).傳送到客戶端:response.addCookie(cookie);
小常識:(1).一個網站最多向一個客戶端寫20個cookie.
(2).一個客戶端最多接收300個cookie.
4.Session與Cookie這間的關係:
session的ID作為Cookie的值在客戶端與伺服器之間進行傳遞.
--------------------------------------------------------------------------------------------
四.構建實體Bean的原則:
/*
* 1.bean類為公有
* 2.類成員為私有
* 3.必有一個無參構造
* 4.有set()和get()方法
* 5.方法命名為setXxx()或getXxx()方法
*/
五.MVC實現資料封裝
此資料封裝標準按MVC總結.
所需內容: 1.Servlet 2.JavaBean 3.OperBean(DBconnection) 4.Jsp
由Servlet提取前臺資料,然後將資料封裝於JavaBean中,再例項化OperBean,呼叫OperBean中方法,
將JavaBean物件以引數的形式傳過去,並進行一系列的操作後,返回資料存入ArrayList中或者其它集合內,並將集合物件封裝Session物件中,便於在前臺取值.
Servlet控制:
........
Arraylist lis=new ArrayList();
String name=request.getParameter("username");
JavaBean bean=new JavaBean();
bean.setName(name);
OperBean oper=new OperBean();
lis=oper.operMethod(bean);
HttpSession session=request.getSession();
session.setAttribute("list",lis);
OperBean邏輯:
...
public ArrayList OperMethod(JavaBean bean)
{
ArrayList lis=new ArrayList();
String usr=bean.getName("name");
String sql="select * from student where name='"+usr+"'";
DBconnection db=new DBconnection();
...//運算元據業務
return lis;
}
前臺業務:
...
ArrayList list=(ArrayList)session.getAttribute("lis");
Iterator ite=list.iterator();
while(ite.harNext()) //遍歷輸出
{
JavaBean bean=(JavaBean)ite.next();
.
//取bean中值
}
//由此可以進行"使用者登陸","資料的增刪改查","登出登陸"等操作.....
以上所有jsp技術都是沒有與struts等框架相關的,只是簡單的MVC思想,只有懂得以上簡單的思想,才可以進一步的對框架這些高層次的東西鑽研,我感覺是如此,畢竟我也是個初學者,還有好多知識不懂,也在不停的學習之中,如果有哪個朋友有好的見意或者好的學習方法,請多多指教!
本文摘自:玫瑰戀(http://www.xkde.com) 詳細出處參考:http://www.xkde.com/ContentShow-110-2547.aspx
首先來說一下我們jsp的課程:第一部分為Servlet技術,包括Servelt入門,會話跟蹤,JavaMal和Servlet.第二部分就是Jsp技術,包括:jsp簡介,jsp指令碼和指令的使用,jsp隱式物件,JavaBean與jsp中的標準動作,jsp表示式語言,自定義標籤,jsp自定義表籤庫.第三部分就是過濾器的設計模式,包括過濾器和MVC設計模式.
一.Servlet知識及常見錯誤和規律.
1.桌面執行程式與WEB應用程式在過程實質是一樣的---基於請求與響應的過程.
2.http協議(超文字傳輸協議)
1).無狀態:多次請求資訊之間無聯絡.
2).用於internet傳送請求和響應訊息
3).使用埠接收和傳送訊息,預設為80埠.
埠:為記憶體緩衝區(多執行緒接收資料)
windows: 0---65535埠
0---4096為系統埠
3.什麼是Servlet?
Server let伺服器端小程式.
用來處理客戶端傳送的請求,並由伺服器響應給客戶端的java編寫的程式.
Servlet只在伺服器執行
4.Servlet詳解:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class MyServlet extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
response.sendRedirect("Login.jsp"); //重定向方法
request.getParameter(""); //讀取客戶端資料
/ /以下方法為轉發,不同於重定向的是:轉發時資料不丟失.
ServletContext context=this.getServletContext();
RequestDispatcher dispatcher=context.getRequestDispatcher("/welcome.jsp");
dispatcher.forward(request,response);
...//以下方法為包含(用得相對較少)
dispatcher.include(request,response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doGet(request,response);
}
}
(2).當需要向Servlet傳遞引數的時候,Src="Servlet?name=' ' ";
5.執行servlet時,發生下載提示:
(1).可能性一:text/html;charset=GBK中間分號寫成逗號.
(2).可能性二:XML中配置資訊出錯.
(3).可能性三:如定義全域性變數時,例:CONTENT_TYPED在以後所用中放在雙引號之中.
(4).可能性四:當上面的text/html,charset中寫錯字元的時候,也會提示下載.
6執行servlet時,發生404錯誤:
(1).多為xml中配置出錯.
(2).可能在servlet通訊方法中url出錯.
(3).表單提交時:action路徑.
(4).比較弱智的錯誤就是標記寫錯,請仔細檢查.
7.執行servlet時,發生403錯誤:
(1).tomcat下站點裡發生錯誤.
8.執行servlet時,發生405錯誤:
(1).servlet中沒有post提交方法時.
95.執行servlet時,發生500錯誤:
(1).多數為servlet程式程式碼中發生異常錯誤.
10.執行時,取出的資料為null.就要根據實際情況對應錯誤提示去找.
11.執行jsp頁時,發生500錯誤提示....
多數為jsp頁面在轉譯過程中發生編譯錯誤! 甚是嚴重錯誤,可以按提示回頭去找...
二.XML配置
<!--config中的配置資訊,當中配置需要在servlet中的xml中-->
<servlet>
<init-param>
<param-name>sess</param-name>
<param-class>com.serv<param-class>
</init-param>
<servlet-name>Myservlet</servlet-name>
<servlet-class>com.Myservetl</servlet-class>
</servlet>
<!--此為對Myservlet進行對映-->
<servlet-mapping>
<servlet-name>Myservlet</servlet-name>
<servlet-class>/url</servlet-class>
<servlet-mapping>
<!--context中配置資訊-->
<context-param>
<param-name>ses</param-name>
<param-class>com.ser</param-class>
</context-param>
注意:配置資訊只能讀取,並且config是在單個Servlet中能訪問,context是全域性訪問
三.
========================會話跟蹤技術總結========================
使用者授權.
隱藏表單域
URL重寫
Cookie使用
--------------------------------------------------------------------------------------------
1.會話:是同一客戶端和伺服器之間在同一段時間的多次請求和響應.
2.Session使用(重點)
HttpSession session=request.getSession();
session.setAttribute("name",Object); //附值
session.getAttribute(); //取值
session.removeAttributer();
3.Cookie(類)
1).Cookie是什麼?
cookie是一段字串,由HTTP支援,在客戶端可以永久儲存.寫入(硬碟).
每次請求,響應中都會為cookie留有空間.
2).用法:
Cookie cookie=new Cookie("name",cookie); //必須指定cookie的鍵與值,且必須為字串.
response.addcookie(cookie);
cookie.setMaxAge(3600); //以秒為單位.
//讀取客戶端傳送過來的cookie,返回值型別為: cookie陣列
request.getCookies();
//迴圈讀取鍵與值.
使用過程:(1).生成cookie, new cookie("","")
(2).設定生存週期 >0,SetMaxAge(秒).
(3).傳送到客戶端:response.addCookie(cookie);
小常識:(1).一個網站最多向一個客戶端寫20個cookie.
(2).一個客戶端最多接收300個cookie.
4.Session與Cookie這間的關係:
session的ID作為Cookie的值在客戶端與伺服器之間進行傳遞.
--------------------------------------------------------------------------------------------
四.構建實體Bean的原則:
/*
* 1.bean類為公有
* 2.類成員為私有
* 3.必有一個無參構造
* 4.有set()和get()方法
* 5.方法命名為setXxx()或getXxx()方法
*/
五.MVC實現資料封裝
此資料封裝標準按MVC總結.
所需內容: 1.Servlet 2.JavaBean 3.OperBean(DBconnection) 4.Jsp
由Servlet提取前臺資料,然後將資料封裝於JavaBean中,再例項化OperBean,呼叫OperBean中方法,
將JavaBean物件以引數的形式傳過去,並進行一系列的操作後,返回資料存入ArrayList中或者其它集合內,並將集合物件封裝Session物件中,便於在前臺取值.
Servlet控制:
........
Arraylist lis=new ArrayList();
String name=request.getParameter("username");
JavaBean bean=new JavaBean();
bean.setName(name);
OperBean oper=new OperBean();
lis=oper.operMethod(bean);
HttpSession session=request.getSession();
session.setAttribute("list",lis);
OperBean邏輯:
...
public ArrayList OperMethod(JavaBean bean)
{
ArrayList lis=new ArrayList();
String usr=bean.getName("name");
String sql="select * from student where name='"+usr+"'";
DBconnection db=new DBconnection();
...//運算元據業務
return lis;
}
前臺業務:
...
ArrayList list=(ArrayList)session.getAttribute("lis");
Iterator ite=list.iterator();
while(ite.harNext()) //遍歷輸出
{
JavaBean bean=(JavaBean)ite.next();
.
//取bean中值
}
//由此可以進行"使用者登陸","資料的增刪改查","登出登陸"等操作.....
以上所有jsp技術都是沒有與struts等框架相關的,只是簡單的MVC思想,只有懂得以上簡單的思想,才可以進一步的對框架這些高層次的東西鑽研,我感覺是如此,畢竟我也是個初學者,還有好多知識不懂,也在不停的學習之中,如果有哪個朋友有好的見意或者好的學習方法,請多多指教!
本文摘自:玫瑰戀(http://www.xkde.com) 詳細出處參考:http://www.xkde.com/ContentShow-110-2547.aspx
相關文章
- JSP基礎知識JS
- Java基礎知識總結Java
- React 基礎知識總結React
- SpringIOC基礎知識總結Spring
- Rust 基礎知識總結Rust
- 索引基礎知識總結索引
- Java基礎知識點總結Java
- JS基礎知識深入總結JS
- TCP/IP 基礎知識總結TCP
- JS基礎知識總結(1)JS
- CSS基礎知識總結(4)CSS
- JS基礎知識總結(2)JS
- ES 基礎知識點總結
- Java基礎知識總結-1Java
- Redis 基礎知識點總結Redis
- yii2 基礎知識總結
- 前端知識點總結——JavaScript基礎前端JavaScript
- 演算法基礎知識總結演算法
- Flutter 知識點總結-基礎篇Flutter
- Java基礎對反射知識總結Java反射
- jsp基礎-初識jspJS
- 正規表示式基礎知識總結
- Java基礎面試知識點總結Java面試
- python基礎語法知識點總結Python
- Java個人知識點總結(基礎篇)Java
- 【python----發軔之始】【基礎知識總結】Python
- linux 基礎知識彙總Linux
- 後端知識點總結——NODE.JS基礎後端Node.js
- Java基礎知識回顧之七 —– 總結篇Java
- Java基礎知識回顧之七 ----- 總結篇Java
- MySQL基礎知識和常用命令總結MySql
- Linux基礎知識和基本操作語句總結Linux
- jvm、gc、作業系統等基礎知識總結JVMGC作業系統
- 資料庫基礎知識整理與複習總結資料庫
- 夯實基礎系列三:資料庫知識總結資料庫
- [鞏固基礎]總結Python基礎知識的14張思維導圖Python
- MySQL基礎知識小結(一)MySql
- JavaWeb基礎知識總結:如何系統學習spring boot?JavaWebSpring Boot
- 零基礎學習Java,全方位知識點總結!Java