java技術博客

          jsp博客
          數據加載中……

          SERVLET(2)

          package cn.mldn.lxh.servlet ;
          import java.io.* ;
          import javax.servlet.* ;
          import javax.servlet.http.* ;

          public class FormServlet extends HttpServlet
          {
              
          private ServletConfig config = null ;
              
          public void init(ServletConfig config) throws ServletException 
              
          {
                  
          this.config = config ;
              }

              
          // 表示處理get請求
              public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  
          // System.out.println("** Servlet doGet處理提交參數 ") ;
                  this.doPost(req,resp) ;
              }

              
          // 處理post請求
              public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  String name 
          = req.getParameter("uname") ;
                  
          // 取得application對象
                  
          // ServletContext app = this.getServletContext() ;
                  ServletContext app = this.config.getServletContext() ;
                  app.setAttribute(
          "addr","www.MLDN.cn") ;
                  
          // 取得一個session對象
                  HttpSession session = req.getSession() ;
                  session.setAttribute(
          "sname",name) ;
                  
          // System.out.println("** Servlet doPost處理提交參數 ") ;
                  System.out.println("name = "+name) ;
                  
          // 重定向
                  resp.sendRedirect("demo.jsp") ;
              }

          }
          ;

          /*
            <servlet>
              <servlet-name>form</servlet-name>
              <servlet-class>cn.mldn.lxh.servlet.FormServlet</servlet-class>
            </servlet>
            <servlet-mapping>
              <servlet-name>form</servlet-name>
              <url-pattern>/formServlet</url-pattern>
            </servlet-mapping>
          */
          初始化兩種方法
          有參數與無參數
          有參數的方法優先


          多個地址可以映射到同一個SERVLET
          配置初始化參數

          form表單
          <form action="formServlet" method="post">
          用戶名:
          <input type="text" name="uname">
          <input type="submit" value="提交">
          </form>



          下面是處理表單的servlet
          package cn.mldn.lxh.servlet ;
          import java.io.* ;
          import javax.servlet.* ;
          import javax.servlet.http.* ;

          public class InitParameterServlet extends HttpServlet
          {
              
          // 初始化
              
          // 要取得初始化參數,必須使用以下初始化方法
              public void init(ServletConfig config) throws ServletException
              
          {
                  
          // config對象中有取得初始化參數的方法:getInitParameter("參數名稱")
                  String ref1 = config.getInitParameter("ref1") ;
                  String ref2 
          = config.getInitParameter("ref2") ;
                  String dd 
          = config.getInitParameter("DBDRIVER") ;

                  System.out.println(
          "REF1 => "+ref1) ;
                  System.out.println(
          "REF2 => "+ref2) ;
                  System.out.println(
          "DBDRIVER => "+dd) ;
              }


              
          // 表示處理get請求
              public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  
          // System.out.println("** Servlet doGet處理 ") ;
              }

              
          // 處理post請求
              public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  
          // System.out.println("** Servlet doPost處理 ") ;
              }

              
          // 銷毀
              public void destroy()
              
          {
                  
          // System.out.println("** Servlet 銷毀 ") ;
              }

          }
          ;

          /*
            <servlet>
              <servlet-name>param</servlet-name>
              <servlet-class>cn.mldn.lxh.servlet.InitParameterServlet</servlet-class>
              <load-on-startup>0</load-on-startup>
              <init-param>
                  <param-name>ref1</param-name>
                  <param-value>MLDN</param-value>
              </init-param>
              <init-param>
                  <param-name>ref2</param-name>
                  <param-value>LiXingHua</param-value>
              </init-param>
              <init-param>
                  <param-name>DBDRIVER</param-name>
                  <param-value>oracle.jdbc.driver.OracleDriver</param-value>
              </init-param>
            </servlet>

            <servlet-mapping>
              <servlet-name>param</servlet-name>
              <url-pattern>/ipar</url-pattern>
            </servlet-mapping>
          */


          學習資料下載

          posted @ 2008-10-23 12:36 郭興華 閱讀(149) | 評論 (0)編輯 收藏
          SERVLET

          SERVLET是一種特殊的CGI
          與CGI不同是多線程,性能很高

          package cn.mldn.lxh.servlet ;
          import java.io.* ;
          // HttpServlet屬于javax.servlet.http包下
          // ServletException屬于javax.servlet包下
          import javax.servlet.* ;
          // HttpServletRequest、HttpServletResponse存放在javax.servlet.http包下
          import javax.servlet.http.* ;

          public class SimpleServlet extends HttpServlet
          {
              
          // 表示處理get請求
              public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  PrintWriter out 
          = resp.getWriter() ;
                  out.println(
          "<HTML>") ;
                  out.println(
          "<HEAD>") ;
                  out.println(
          "<TITLE>THE FIRST SERVLET</TITLE>") ;
                  out.println(
          "</HEAD>") ;
                  out.println(
          "<BODY>") ;
                  out.println(
          "<H1>Hello World!!!</H1>") ;
                  out.println(
          "</BODY>") ;
                  out.println(
          "</HTML>") ;
                  out.close() ;
              }

              
          public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  
          this.doGet(request,response) ;
              }

          }
          ;

          /*
            <servlet>
              <servlet-name>simple</servlet-name>
              <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>
            </servlet>
            <servlet-mapping>
              <servlet-name>simple</servlet-name>
              <url-pattern>/demo</url-pattern>
            </servlet-mapping>
          */

          輸出 Html用out.println()
          很難維護
          生命周期
          生老病死(與人相似)
          package cn.mldn.lxh.servlet ;
          import java.io.* ;
          import javax.servlet.* ;
          import javax.servlet.http.* ;

          public class LifeCycleServlet extends HttpServlet
          {
              
          // 初始化
              public void init(ServletConfig config) throws ServletException
              
          {
                  System.out.println(
          "** Servlet 初始化 ") ;
              }

              
          // 表示處理get請求
              public void doGet(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  System.out.println(
          "** Servlet doGet處理 ") ;
              }

              
          // 處理post請求
              public void doPost(HttpServletRequest req,HttpServletResponse resp) throws IOException,ServletException
              
          {
                  System.out.println(
          "** Servlet doPost處理 ") ;
              }

              
          // 銷毀
              public void destroy()
              
          {
                  System.out.println(
          "** Servlet 銷毀 ") ;
              }

          }
          ;

          /*
            <servlet>
              <servlet-name>life</servlet-name>
              <servlet-class>cn.mldn.lxh.servlet.LifeCycleServlet</servlet-class>
            </servlet>

            <servlet-mapping>
              <servlet-name>life</servlet-name>
              <url-pattern>/lc</url-pattern>
            </servlet-mapping>
          */

          init
          doservices
          destroy
          創建要求
          繼承HttpServlet(先導入javax.servlet.*)必須在包中
          在web-inf/class下
          重寫兩個方法
          doGet(req,resp)throws IOException(javax.servlet.http.*,java.io.*)
          用PrintWriter輸出
          修改WEB.XML文件,映射SERVLET
          <servlet>
          <servlet-name>simple</servlet-name>
          <servlet-class>cn.mldn.lxh.servlet.SimpleServlet</servlet-class>
          </servlet>
          <servlet-mapping>
          <servlet-name>simple</servlet-name>
          <url-pattern>/demo</url-pattern>//在地址中輸入的內容</servlet-mapping>
          筆記下載
          servlet只初始一次(在第一次使用servlet程序后,也可以在
          容器啟動時初始化servlet程序,通過修改web.xml文件)
          <load-on-startup>1</load-on-startup>
          doGet,doPost(doget是輸入地址,doPost是表單請求)
          destroy(服務器關閉,或者長時間不用)
          注意
          開發框架和配置

          posted @ 2008-10-23 11:22 郭興華 閱讀(113) | 評論 (0)編輯 收藏
          StudentTest1.java

           

          /**
          * main方法單獨設計,編譯是不能通過
          */

          public class StudentTest1{
          public static void main(String[] args)
          {
          String[] course
          ={"計算機原理","編譯方法","數據結構"};
          Student one
          =new Student("Tom","20021024");
          one.setStudentCourse(course);
          }

          }


          /**
           * 我們設計的學生基本類
           
          */

          class Student
          {
           
           
          private String strName = "";//學生姓名
           private String strNumber = "";//學號
           private String strSex = "";//性別
           private String strBirthday = "";//出生年月
           private String strSpeciality = "";//專業
           private String strAddress = "";//地址

           
          public Student(String name, String number)
           
          {
            strName 
          = name;
            strNumber 
          = number;
           }


           
          public String getStudentName()
           
          {
            
          return strName;
           }


           
          public String getStudentNumber()
           
          {
            
          return strNumber;
           }


           
          public void setStudentSex(String sex)
           
          {
            strSex 
          = sex;
           }


           
          public String getStudentSex()
           
          {
            
          return strSex;
           }


           
          public String getStudentBirthday()
           
          {
            
          return strBirthday;
           }


           
          public void setStudentBirthday(String birthday)
           
          {
            strBirthday 
          = birthday;
           }


           
          public String getStudentSpeciality()
           
          {
            
          return strSpeciality;
           }


           
          public void setStudentSpeciality(String speciality)
           
          {
            strSpeciality 
          = speciality;
           }


           
          public String getStudentAddress()
           
          {
            
          return strAddress;
           }


           
          public void setStudentAddress(String address)
           
          {
            strAddress 
          = address;
           }


           
          public String toString()
           
          {
            String information 
          = "學生姓名=" + strName + ", 學號=" + strNumber;  
            
          if!strSex.equals("") )
             information 
          += ", 性別=" + strSex;
            
          if!strBirthday.equals(""))
             information 
          += ", 出生年月=" + strBirthday;
            
          if!strSpeciality.equals("") )
             information 
          += ", 專業=" + strSpeciality;
            
          if!strAddress.equals("") )
             information 
          += ", 籍貫=" + strAddress;
            
          return information;
           }

          public void setStudentCourse(final String[] strCourse){
          class Course{
          private int courseNumber=strCourse.length;
          private void getCourse(){
          for(int i=0;i<courseNumber;i++)
          {System.out.println("\t"+strCourse[i]);
          }

          }

          public void getDescription(){
          System.out.println(
          "學生:"+strName+" student number is :"+strNumber+"。一共選了"+courseNumber+"門課,分別是:");
          getCourse();
          }
          }

          Course course
          =new Course();
          course.getDescription();
          }

          }

          posted @ 2008-10-23 10:18 郭興華 閱讀(231) | 評論 (1)編輯 收藏
          StaticInnerClass.java

          /**
          *靜態內部類的測試
          */
          import java.util.Vector;
          public class StaticInnerClass{
          public static void main(String[] args){
          Vector vec=new Vector();
          Student tom=new Student("Tom","20020410");
          Student jack=new Student("jack","20020411");
          Studentsmith=new Student("Smith ","20020412");
          Student rose=new Student("Rose","20020413");
          tom.setStudentScore(456);
          jack.setStudentScore(500);
          smith.setStudentScore(634);
          rose.setStudentScore(414);
          vec.add(tom);
          vec.add(jack);
          vec.add(smith);
          vec.add(rose);
          ArrayScore.PairScore pair=ArrayScore.minMax(vec);
          System.out.println("最高分數為:"+pair.getMaxScore());
          System.out.println("最低的分數為:")+pair.getMinScore();
          }}
          class ArrayScore{
          static class PairScore{
          private double maxScore;
          private double minScore;
          public PairScore(double max,double min){
          maxScore=max;
          minScore=min;
          }
          public double getMaxScore(){
          return maxScore;
          }
          public double getMinScore(){
          return minScore;
          }
          }
          public static PairScore minMax(Vector studentVec){
          double minScore=((Student)studentVec.get(0)).getStudentScore();
          double maxScore=((Student)studentVec.get(0)).getStudentScore();
          for(int i=1;i<studentVec.size();i++){
          double score=((Student)studentVec.get(i)).getStudentScore();
          if(minScore>score)
          minScore=score;
          if(maxScore<score)
          maxScore=score;
          }
          return new PairScore(maxScore,minScore);
          }
          }
          /**
          *我們設計的學生基本類
          */
          class Student{
          private String strName="";
          private Stirng strNumber="";
          private Stirng strSex="";
          private String strBirthday="";
          private String strSpeciality="";
          private String strAddress="";
          private double totalScore;//學生的總分數
          public Student(String name,String number){
          strName=name;
          strNumber=number;
          }
          public String getStudentName(){
          return strName;
          }
          public String getStudentNumber(){
          return strNumber;
          }
          public void setStudentSex(String sex){
          strSex=sex;
          }
          public String getStudentSex(){
          return strSex;
          }
          public String getStudentBirthday(){
          return strBirthday;
          }
          public void setStudentBirthday(String birthday){
          strBirthday=birthday;
          }
          public String getStudentSpeciality(){
          return strSpeciality;
          }
          public void setStudentSpeciality(String speciality) {
          strSpeciality=speciality;
          }
          public String getStudentAddress(){
          return strAddress;
          }
          public void setStudentAddress(String address){
          strAddress=address;
          }
          public double getStudentScore(){
          return totalScore;
          }
          public void setStudentScore(double score){
          totalScore=score;
          }
          public String toString(){
          String information ="student name="+strName+"student number="+strNumber;
          if(!strSex.equals(""))
          information+=",sex="+strSex;
          if(!strBirthday.equals(""))
          information+=",Birthday="+strBirthday;
          if(!strSpeciality.equals(""))
          information+=",專業="+strSpeciality;
          if(!strAddress.equals(""))
          information+=",Address="+strAddress;
          return information;
          }



          }

          posted @ 2008-10-23 09:40 郭興華 閱讀(126) | 評論 (0)編輯 收藏
          Student.java

               摘要: /** *//**  * 我們設計的學生基本類  */ class Student {     private String strName = "";//學生姓名     private String&nb...  閱讀全文

          posted @ 2008-10-23 00:08 郭興華 閱讀(194) | 評論 (0)編輯 收藏
          Person.java

          public interface Person{
          String getName();
          String getSex();
          String getBirthday();
          String getAddress();
          void setAddress(String strAddress);
          }

          posted @ 2008-10-22 23:57 郭興華 閱讀(98) | 評論 (0)編輯 收藏
          ObjectVarTest.java

          /**
          *測試這個程序,測試對象類型的動態綁定
          */
          public class ObjectVarTest
          {
          public static void main(String[] args){
          B b=new B();
          C.method3(b);
          }
          }
          class A{
          public void method1(){
          System.out.println("this is class A method1");
          }
          }
          class B extends A{
          public void method1(){
          System.out.println("this is class B method1");
          public void method2(){
          System.out.println("this is class B method2");
          }
          }
          class c{
          public static void method3(A a){
          a.method1();
          }}
          }

          posted @ 2008-10-22 23:53 郭興華 閱讀(83) | 評論 (0)編輯 收藏
          ObjectTypeTest.java

           

          /**
          *通過這個程序,測試對象類型的多態實現
          */

          public class ObjectTypeTest{
          public static void main(String[] args){
          B a
          =new B();
          a.method2();
          }
          }

          class A{
          public void method1(){
          System.out.println(
          "this is class A method1");}
          }

          class B extends A{
          public void method1(){
          System.out.println(
          "this is class B method1");}

          public void method2(){
          System.out.println(
          "this is class B method2");}

          }

          posted @ 2008-10-22 23:46 郭興華 閱讀(108) | 評論 (0)編輯 收藏
          BasicTypeTest.java

          /**
          *測試基本類型的類型轉換
          */

          public class BasicTypeTest{
          public static void main(String[] args){
          int a=10;
          long b=a;
          System.out.println(
          "the value of b is "+b);
          }

          }

          posted @ 2008-10-22 23:38 郭興華 閱讀(76) | 評論 (0)編輯 收藏
          ArrayListTest.java

          /**
          *i測試數組列表的使用
          */
          import java.util.ArrayList;
          public class ArrayList{
          public static void main(String[] args){
          ArrayList list=new ArrayList();
          list.add(new Student("Tom","20020410"));
          list.add(new Student("Jack","20020411"));
          list.add(new Student("Rose","20020412"));
          for(int i =0;i<list.size();i++)
          {
          System.out.println((Student)list.get(i));
          }}}
          class Student {
          private String strName="";
          private String strNumber="";
          private String strSex="";
          private String strBirthday="";
          private String strAddress="";
          public Student(String name,String number){
          strName=name;
          strNumber=number;
          }
          public String getStudentName(){
          return strName;
          }
          public String getStudentNumber() {
          return strNumber;
          }
          public String setStudentSex(String sex)
          {
          strSex=sex;
          }
          public String getStudentSex(){
          return strSex;
          }
          public String getStudentBirthday(){
          return strBirthday;
          }
          public void setStudentBirthday(String birthday){
          strBirthday=birthday;
          }
          public String getStudentSpeciality(){
          return strSpeciality;}
          public void setStudentSpececiality(String speciality){
          strSpeciality=speciality;
          }
          public void setStudentAddress(String address){
          strAddress=address;
          }
          public String toString(){
          String information="student name="+strName+",student number="+strNumber;
          if(!strSex.equals(""))
          information+=",sex="+strSex;
          if(!strBirthday.equals(""))
          information+=",birthday="+strBirthday;
          if(!strSpeciality.equals(""))
          information+=",專業="+strSpeciality;
          if(!strAddress.equals(""))
          information+=",籍貫="+strAddress;
          return information;
          }
          }

          posted @ 2008-10-22 23:33 郭興華 閱讀(146) | 評論 (0)編輯 收藏
          僅列出標題
          共9頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 
          主站蜘蛛池模板: 金沙县| 汉川市| 留坝县| 昌都县| 阳朔县| 伊川县| 桦南县| 兴文县| 东乌| 蓬溪县| 比如县| 甘泉县| 治多县| 乳山市| 阳原县| 高淳县| 禹州市| 资阳市| 太康县| 太湖县| 祁阳县| 宁国市| 临西县| 麦盖提县| 广灵县| 百色市| 古田县| 突泉县| 昌吉市| 天峻县| 永丰县| 云南省| 高碑店市| 罗田县| 刚察县| 海淀区| 五常市| 昆明市| 洛浦县| 辰溪县| 屯昌县|