国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

Jsp基礎知識總結

2019-11-18 16:42:14
字體:
來源:轉載
供稿:網友

     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思想,只有懂得以上簡單的思想,才可以進一步的對框架這些高層次的東西鉆研,我感覺是如此,畢竟我也是個初學者,還有好多知識不懂,也在不停的學習之中,如果有哪個朋友有好的見意或者好的學習方法,請多多指教!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 木兰县| 南江县| 文登市| 同德县| 库尔勒市| 武安市| 泰来县| 安阳市| 锡林浩特市| 普格县| 财经| 台湾省| 杂多县| 平果县| 商城县| 平度市| 文水县| 柳林县| 苍山县| 六枝特区| 西乌珠穆沁旗| 义乌市| 巴中市| 西林县| 玉溪市| 海原县| 平遥县| 栾川县| 八宿县| 镇安县| 青神县| 井冈山市| 界首市| 平阳县| 壶关县| 西畴县| 荃湾区| 淮南市| 泰宁县| 北京市| 霍邱县|