国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

幾個實(shí)用的Servlet應(yīng)用例子-入門、cookie、session及上傳文件

2019-11-18 15:07:39
字體:
供稿:網(wǎng)友

  Servlet可以被認(rèn)為是服務(wù)端的applet,它被WEB服務(wù)器加載和執(zhí)行,前端可以顯示頁面和獲得頁面數(shù)據(jù),后臺可以操縱數(shù)據(jù)庫,能完成javaBean的很多功能。在這里我較為具體的說說Servlet在Cookie,session和上傳文件上的應(yīng)用,在說明時我給出一些能編繹運(yùn)行的小例子,最后給出一個文件上傳例子以加深印象。
  我們先來看看SERVLET程序的基本構(gòu)架:
式1:
  package test;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import java.io.*;
  import java.util.*;
  public class test extends HttpServlet {
  public void init(ServletConfig config) throws ServletException {
  super.init(config);
}
  public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  int f =1; switch(f){
  case 1:firstMothed(request,respponse);break;
}
}
  public void firstMothed(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/Html");
  OutputStreamWriter osw = new
  OutputStreamWriter(response.getOutputStream());
  PRintWriter out = new PrintWriter (response.getOutputStream());
  out.println("< html>");
  out.println("< head>< title>Servlet1< /title>< /head>");
  out.println("< body>你好!");
  out.println("< /body>< /html>");
  out.close();
}
}
式2:
  package test;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import java.io.*;
  import java.util.*;
  public class test extends HttpServlet {
  public void init(ServletConfig config) throws ServletException {
  super.init(config);
}
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html");
  OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
  PrintWriter out = new PrintWriter (response.getOutputStream());
  out.println("< html>");
  out.println("< head>< title>Servlet1< /title>< /head>");
  out.println("< body>你好!");
  out.println("< /body>< /html>");
  out.close();
}
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html");
  OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
  PrintWriter out = new PrintWriter (response.getOutputStream());
  out.println("< html>");
  out.println("< head>< title>Servlet1< /title>< /head>");
  out.println("< body>你好!");
  out.println("< /body>< /html>");
  out.close();
}
}
  式1適合于作總控模塊,此SERVLET作中間調(diào)度,根據(jù)不同的f值調(diào)用不同的SERVLET或方法。
式2適合于對html的get和post有不同要求的情況。
  但這并不是絕對的,式2就完全可以代替式1,只要在doGet()方法中寫上doPost就與式1完全一樣。
在init方法中執(zhí)行的語句,只要這個servlet被啟動了就一直有效,比如,我們在init()中new了一個對象,那么這個對象的內(nèi)存空間就永遠(yuǎn)存在,除非顯式地把這個對象賦為null,或重啟服務(wù)。
  HttpServletRequest和HttpServletResponse兩個對象實(shí)現(xiàn)http請求,它們有很多有用的方法,在下面的cookie和session治理中會細(xì)加描述。
  1, cookie治理 cookie用于在客戶端保存?zhèn)€人所特有的信息,它采取在客戶機(jī)寫臨時文件的機(jī)制。
  package test;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import java.io.*;
  import java.util.*;
  public class test extends HttpServlet {
  public void init(ServletConfig config) throws ServletException {
  super.init(config);
}
  public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  //寫cookie
  String CookieName ="js79"; //若是漢字則需編碼
  String CookieValue = "yesky";//若是漢字則需編碼
  Cookie cookie = new Cookie(CookieName,CookieValue);
  cookie.setMaxAge(age); // age = Integer.MAX_VALUE 永不過期
  cookie.setPath("/");
  //讀cookie
  String value = null;
  Cookie[] cookies = request.getCookies();
  if (cookies != null) {
  for (int i=0; i< cookies.length; i++) {
  if (cookies[i].getName().equals(CookieName))
  value = cookies[i].getValue();
  break;
}
}
}
  response.setContentType("text/html");
  OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream());
  PrintWriter out = new PrintWriter (response.getOutputStream());
  out.println("< html>");
  out.println("< head>< title>test< /title>< /head>");
  out.println("cookie鍵:"+CookieName+"< br>");
  out.println("cookie值: "+value);
  out.println("< /body>< /html>");
  out.close();
}
}
  2,session治理
  Session在Servlet中是很有用的,它比cookie安全可靠靈活,但是治理起來有點(diǎn)麻煩,用得不好會造成服務(wù)器的開銷很大,浪費(fèi)資源。下面是一個基于Session治理一個對象的簡單例子。
一個簡單的bean對象TestObject
  package test;
  public class TestObject extends Object {
  int id = 0; public String cur="";
}
  package test;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import java.io.*;
  import java.util.*;
  public class TestMan extends HttpServlet {
  public void init(ServletConfig config) throws ServletException {
  super.init(config);
}
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  int f = 1;
  if(request.getParameter("f")!=null)
  f =
  Integer.parseInt(request.getParameter("f"));
  switch(f){
  case 1: this.getResult(request,response);
  break;
  case 2:
  this.setSession(request,response);
  break;
}
}
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  doGet(request,response);
}
  public void getResult(HttpServletRequest request, HttpServletResponse response)   throws ServletException, IOException {
  TestObject testObject = null;
  testObject = getStatus(request,response);
  String html = testObject.id; doWrite( response,html);
}
  public void setSession(HttpServletRequest request, HttpServletResponse response)  throws ServletException, IOException {
  HttpSession session = request.getSession();
  TestObject testObject = null;
  testObject = getStatus(request,response);
  String tmp = null;
  tmp = request.getParameter("id");
  if(tmp != null) testObject.id = tmp;
  session.putValue("testObject ",article);
  getResult(request,response);
}
  private TestObject getStatus(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  HttpSession session = request.getSession();
  TestObject testObject = null;
  if(session!=null){
  if(session.getValue("testObject ")!=null){
  testObject = (TestObject)session.getValue("testObject ");
}
  else{
  testObject = new TestObject ();
}
}
  else{
  testObject = new TestObject ();
}
  return testObject;
}
  private void doWrite(HttpServletResponse response,String html) throws   ServletException, IOException {
  PrintWriter out = response.getWriter();
  out.println(html);
  out.close();
}
  /////////////////////////////////////////////////////////
}
  若能輕松搞定上面的例子,相信讀者對SERVLET已有了較為深刻的理解。
下面再介紹一個上傳文件例子,其中汲及到了下載的免費(fèi)JavaBean (如有感愛好的朋友,可來函索要免費(fèi)JavaBean源代碼,Email:js79@yesky.com)
  上傳基本原理:由頁面發(fā)出一個http請求,服務(wù)端得到請求后,解析多媒體協(xié)議,讀出文件內(nèi)容,寫文件內(nèi)容到服務(wù)器,所有的這些功能都封裝到JavaBean中。
  上傳文件的必需條件:Browser端< form>表單的ENCTYPE屬性值必須為 multipart/form-data,它告訴我們傳輸?shù)臄?shù)據(jù)要用到多媒體傳輸協(xié)議,由于多媒體傳輸?shù)亩际谴罅康臄?shù)據(jù),所以規(guī)定上傳文件必須是post方法,< input>的type屬性必須是file。
  package upload;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import java.io.*;
  import java.util.*;
  public class UpLoadServlet extends HttpServlet {
  public void init(ServletConfig config) throws ServletException{
  super.init(config);
}
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  PrintWriter out = response.getWriter();
  out.println("< HTML>< HEAD>< TITLE>UpLoad< /TITLE>"
  +"< meta http-equiv=´Content-Type´ content=´text/html; charset=gb2312´>"
  +"< /HEAD>"
  +"< body>");
  out.println("< div align=´center´ valign=´top´>"
  +"< span class=´nava´>請你選擇上傳的文件(請注重文件大小只能在20K之內(nèi))< /span>< BR>"
  +"< form ENCTYPE=´multipart/form-data´ method=post action=´´>"
  +"< input type=´file´ name=´file´>"
  +"< input type=´submit´ value=´發(fā)送´>"
  +"< /form>"
  +"< /div>");
  out.println("< /body>< /html>");
  out.close();
}
  ////////
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  PrintWriter out = response.getWriter();
  int tmpID = 1; try {
  MultipartRequest multi = new MultipartRequest(request,"/home/js79/html/", 5 * 1024 * 1024);
}
  catch(Exception e){
  tmpID = -1; System.out.println(e);
}
  if(tmpID == 1){
  out.println("< HTML>< HEAD>< TITLE>UpLoad< /TITLE>"
  +"< meta http-equiv=´Content-Type´ content=´text/html; charset=gb2312´>"
  +"< /HEAD>"
  +"< body>");
  out.println("上傳成功!< /body>< /html>");
}
  else{
  out.println("< HTML>< HEAD>< TITLE>UpLoad< /TITLE>"
  +"< meta http-equiv=´Content-Type´ content=´text/html; charset=gb2312´>"
  +"< /HEAD>"
  +"< body>");
  out.println("上傳不成功!< /body>< /html>");
}
  out.close();
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
樱花草在线观看www| 亚洲an天堂an在线观看| 黄污在线观看| 国产青青草在线| 国产黄色免费网站| 久久精品蜜桃| 97操碰视频| 国内精品一区视频| 九九热视频免费在线观看| 国产在线黄色片| **三级三级97片毛片| www网站在线观看| 国产高清在线观看| 国产青草视频在线观看视频| 精品网站www| 青青草原国产在线观看| 九九99精品| 国产极品嫩模在线视频一区| 精品推荐蜜桃传媒| wwww在线观看免费视频| 最近中文字幕在线中文视频| 影音先锋在线中文字幕| 欧美日韩在线视频免费观看| 国产视频97| 轻轻色免费在线视频| 国产精品一区二区三区四区色| 欧美日韩性视频一区二区三区| www.色婷婷| 国产区卡一卡二卡三乱码免费| 亚洲夜夜综合| 五月婷婷视频在线观看| 在线观看免费视频一区二区三区| www中文字幕在线观看| 国产一级在线观看www色 | 国产对白国语对白| 免费看ww视频网站入口| √8天堂资源地址中文在线| 黄色一级片视频| 青青久草在线| av亚洲在线| 伊人久久青青草| 中文在线官网天堂| 国产精品视频流白浆免费视频| 国产在线你懂得| 可以免费看污视频的网站| 国产一级二级在线| 国产天堂在线观看| 国产一级片网站| 国产欧美在线观看视频| 国产午夜视频| 国产成+人+亚洲+欧美+综合| 国产a级网站| 精品国产高清自在线一区二区三区 | 丁香视频五月| 九九热免费视频| 国产乱码在线| 国产精品久久人| 国产精品ⅴa有声小说| 国产高清免费视频| 中文字幕av高清在线观看| 国产jizz| 免费男女羞羞的视频网站中文字幕| 免费日本黄色| 国产一区精品| 99reav| 久久精品免视着国产成人| 天堂在线看视频| ·天天天天操| 麻豆国产视频| 国产精品视频一区二区久久| 中文字幕av高清在线观看| h网站免费在线观看| av在线不卡网站| 国产系列在线观看| 免费看的av| 国产激情在线| 超碰在线影院| 国产精品理人伦一区二区三区 | 最近中文字幕av免费高清 | 91在线高清| 久久久久久77777| 91最新在线| 国产嫩草在线视频| 精品极品三级久久久久| 日本一二三区视频免费高清| 最近中文字幕在线中文视频| 亚洲国产成人综合| 国产激情视频在线观看| 成人精品福利| а√最新版地址在线天堂| 国产成人综合美国十次| 国产麻豆麻豆| 麻豆av电影在线观看| ·天天天天操| 国产精品视频一区二区免费不卡| 久久久久久久久亚洲精品| 99久久国产视频| 国产精品186在线观看在线播放 | 97在线免费| 国产大学生粉嫩无套流白浆| 国产麻豆视频网站| 免费观看v片在线观看| av亚洲在线| 亚洲欧美综合乱码精品成人网| 69精品视频| 91中文在线| 国产叼嘿网站免费观看不用充会员| 国产麻豆一级片| 天堂资源在线中文| 五月婷婷视频在线观看| 五月综合网站| 最好2018中文免费视频| 国产精品一区在线看| 国产探花在线观看| 国产高清自拍视频在线观看 | 中文字幕专区| 91久久精品国产性色| av在线第一页| 99热在线免费观看| 91亚洲天堂| 欧美国产中文| 国产69精品久久久久孕妇国产69久久 | 人人干在线视频| 免费在线看v| 大香伊人久久| 91福利在线视频| 亚洲成人电视网| 超碰在线影院| 尤物免费看在线视频| 91在线视频免费看| 青青久在线视频免费观看| 国产男女无套在线播放| 97国产视频| 成人免费一区二区三区视频网站| 国产另类图片| 精品一二三区视频| 黄色一级片视频| 中文在线官网天堂| 成av人免费青青久| 2019中文字幕在线视频| 男人天堂99| 99reav在线| 中文字幕网站视频在线| 亚洲成年人视频| 国产高清在线观看| 天堂中文资源在线| 日本一二三区视频免费高清| 国产精品入口麻豆免费观看| 免费99热在线观看| 亚洲人在线播放| 精品国产美女福利到在线不卡| 天天操天天曰| 男女午夜视频在线观看| 精灵使的剑舞无删减版在线观看| 尤物网址在线观看| 不卡av免费观看| 美女永久在线网站| 欧美aaa一级片| 日本成人在线播放| 天堂在线国产| 欧美视频免费一区二区三区| 夜夜爽视频导航| 99re6在线视频精品免费| 国产日本在线视频| 国产高清免费在线播放| 国产黄色免费电影| 国产激情视频网址| 91www在线观看| 精品国产二区三区| 精品美女视频在线观看免费软件| 中文字幕在线看精品乱码| 国产午夜三区视频在线| 中文字幕亚洲精品视频| 国产美女在线免费观看| 1区2区视频| 97国产视频| av亚洲在线| 成年人在线观看| 国产黄色免费电影| 午夜亚洲成人| 午夜免费福利在线观看| 国产成在线观看免费视频| 香蕉视频网站在线观看| www.色五月| 中文字幕在线观看日本| 99在线欧洲视频| 久久一本精品| 国产对白国语对白| 免费a在线观看| 国产精品蜜臀| 天天插天天色| 国产一级黄色电影| 亚洲社区在线| 国产精品一区二区婷婷| 97一区二区三区| 国产免费av网站| 亚洲大香人伊一本线| 国产亚洲精品久久久久久青梅 | 在线观看免费高清完整| 久热免费在线视频|