Servlet编程技术

Servlet是一个标准的纯Java类,只不过该类是HttpServlet类的一个子类,因此Servlet(即Java类)的对象可以使用或重写HttpServlet类中的所有方法

一.创建Servlet

     步骤如下:New---Servlet---取一个Servlet类名---next---一般将Servlet/JspMapping URL设置为:/Servlet类名(其他地方不需要修改)---finish

     注意:1.一般将所有写好的Servlet类以包的形式保存,并且将这个包存放在Web路径下的src目录下;从而当某个Servlet类被编译时,就会自动在"Web工程名/web-inf/classes"目录下产生一个与其对应的.class文件,并且该.classes文件也是以包的形式存放,包名与存放Servlet类的包名同名

             2.web.xml文件中的两个重要标记

                  <servlet>

                       <servlet-name>Servlet类名</servlet-name>

                       <servlet-class>Servlet类经过编译后的.class文件名(必须带上包名)</servlet-class>

                  </servlet>

                  <servlet-mapping>

                       <servlet-name>Servlet类名</servlet-name>

                       <url-pattern>servlet页面被加载时的地址</url-pattern>

                  </servlet-mapping>

              3.编译后的Servlet只被装载一次,因此当源程序重新编译后,需要重启Tomcat服务器

              4.Servlet类的修饰符必须为public

              5.由于Servlet中写的全部是纯Java代码,因此要在Servlet中调用Html或Jsp或JavaScript代码时,必须将他们都写在out.println(......)中   

              6.在Servlet类中获取out对象的方法:PrintWriter out=response.getWriter();

              7.在Servlet中调用对象session时,要首先声明session,即用session所属的类HttpSession来对它进行定义,即:

                 HttpSession session=request.getSession();

 

二.Servlet对象常用的方法

     1.public void init(ServletConfig config) throws ServletException

          服务器初始化Servlet

          一旦某个Servlet被初始化后,它将被保存在内存中;因此该方法只需要被调用一次以后,Servlet就可以被多次调用

     2.public void service(HttpServletRequest request,HttpServletResponse response) throws

        ServletException,IOException

          每当用户需要加载某个Servlet页面时,该方法就会被调用执行

          request:用来封装用户的请求信息

          response:用来响应用户的请求

          在该方法中要实现的功能也可以在doGet()或doPost()中实现

     3.public destroy()

          该方法用于消灭某个Servlet对象

     4.protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

        与

        protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException

          这两个方法的功能与service方法的功能相同,一般只要把具体逻辑放在doGet和doPost方法的任一个中,然后在另一个方法里

          调用这个方法即可,也就是说这两个方法中的逻辑功能都是相同的

 

三.Servlet,Jsp,Html页面之间的跳转

     1.Servlet页面---Jsp页面或Html页面

          A.要设置从Servlet页面跳转到哪个Jsp页面或Html页面,必须在Servlet类的doGet或doPost方法中加入以下语句:

              getServletConfig().getServletContext().getRequestDispatcher("/Html或Jsp页面文件中").forward(HttpServletRequest request,HttpServletResponse response);

              也可以通过JavaScript中的window.location.href="./Html或Jsp页面地址"实现

          B.在Html页面文件中不能获取Servlet或Jsp页面文件中的某个表单控件或对象的值;但是,Jsp页面文件或Servlet页面文件中可以互相获取

     2.Jsp页面或Html页面---Servlet页面

          此时Jsp文件或Html文件的表单中的action应为Servlet页面的加载地址,即web.xml文件中的<url-pattern>值

          格式:action="地址名"或"./地址名"

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章