毫无废话: 从0开始一点一滴用java开发自己B/S构架--3.1

类别:Java 点击:0 评论:0 推荐:

第三篇:Servlet入门篇

严重警告:知道Servlet的人不要往下看

把别人告诉我的告诉你:

Servlet是服务器端的java程序

通过http协议被客户端调用,在客户端形成动态网页

需要什么:

一个文件:servlet.jar

什么,你问这个jar文件是么东西?用你的WinRar打开可以看看,没什么了不起,只是铺天盖地的.class。不要管太多。总之这些.class给你提供了很多方法。

怎么,你没有找到这个servlet.jar?我再也不想告诉你怎么办了,你自己看着办吧。

写一程序看看先

在你的tomcat的webapps下建立一个工程myThree吧,还记得吗,在myThree下还需要什么?!同时在你的myThree先再建立一个文件夹,给它取个名,就叫javaSource可以吧

 

 

赶快把servlet.jar放在myThree--- WEB-INF---lib里面吧

在Eclipe中新建你的工程吧,也取名叫myThree好了,方便辨认,把你的源文件(.java)放在myThree--- javaSource里,把你的类文件(.class)放在myThree--- WEB-INF--- classes

里面吧。(如果不知道怎么弄,回去看火星和冥王星吧)

在Eclipe中,对着myThree右键----Properties—左边选“Java Build Path”右边选“Libraries”-----“Add External JARs”进入,把刚刚放在lib下的servlet.jar选中吧。。。

好了,写一个类先,就取名字叫:Test

程序代码如下:

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

 

public class Test extends HttpServlet

{

   public void doGet( HttpServletRequest rq,

                     HttpServletResponse rp )

                     throws IOException,ServletException

    {

       rp.setContentType("text/html;charset=gb2312");

       PrintWriter out=rp.getWriter();

       out.println("<html>欢迎你使用Servlet</html>");

      

    }

}

把你的这个web.xml的内容改为

<?xml version="1.0" encoding="ISO-8859-1"?>

 

<!DOCTYPE web-app

    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

    "http://java.sun.com/dtd/web-app_2_3.dtd">

 

<web-app>

    <servlet>

        <servlet-name>123</servlet-name>

        <servlet-class>Test</servlet-class>

   </servlet>

 

    <servlet-mapping>

        <servlet-name>123</servlet-name>

        <url-pattern>/abc</url-pattern>

    </servlet-mapping>

</web-app>

 

请再次启动你的tomcat

在你的ie地址栏输入:

http://localhost:8080/myThree/abc

看到效果了吗?

怎么,觉得太没意思了,来个稍微复杂点的如何?

把刚刚上面的程序该为:

import java.io.*;

import javax.servlet.*;

import javax.servlet.http.*;

public class Test extends HttpServlet

{

   public void doGet( HttpServletRequest rq,

                     HttpServletResponse rp )

                     throws IOException,ServletException

    {

       rp.setContentType("text/html;charset=gb2312");

       PrintWriter out=rp.getWriter();

       out.println("<html>");

       out.println("<form method=post action=abc>");

       out.println("<input type=text   name=t1><br>");

       out.println("<input type=submit value=确定><br>");

       out.println("</form>");

       out.println("</html>");

    }

   

    public void doPost( HttpServletRequest rq,

                      HttpServletResponse rp )

                      throws IOException,ServletException

     {

        rp.setContentType("text/html;charset=gb2312");

        PrintWriter out=rp.getWriter();

        String t = rq.getParameter("t1");

        out.println("<html>欢迎你:");

        out.println(t);

        out.println("</html>");

     }

}

请再次启动你的tomcat

在你的ie地址栏输入:

http://localhost:8080/myThree/abc

在框框中输入你的名字,再按“确定”看看。。

只想说明2点:

out.println("<input type=text   name=t1><br>");和

String t = rq.getParameter("t1");

下面的rq.getParameter("t1")会在上面找到一个name叫t1的东东,并且获得它的内容赋值给t。

再看web.xml

   <servlet>

        <servlet-name>123</servlet-name>

        <servlet-class>Test</servlet-class>

   </servlet>

    <servlet-mapping>

        <servlet-name>123</servlet-name>

        <url-pattern>/abc</url-pattern>

    </servlet-mapping>

这里<servlet-class>Test</servlet-class>中的Test跟你工程中的类的名字一样

这里<url-pattern>/abc</url-pattern>中的abc跟你在ie地址栏上应用myThree后面输入的相同

这里<servlet-name>123</servlet-name>,上面、下面的一样。

这些,你都发现了吗?

现在你知道怎么把/abc 改为/cba、把123该为321了吗?

本文地址:http://com.8s8s.com/it/it16456.htm