`
roruby
  • 浏览: 341836 次
  • 来自: ...
社区版块
存档分类
最新评论

第三篇:Servlet入门篇

阅读更多

严重警告:知道Servlet的人不要往下看<!----><o:p></o:p>

把别人告诉我的告诉你:<o:p></o:p>

Servlet是服务器端的java程序

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

需要什么:<o:p></o:p>

一个文件:servlet.jar<o:p></o:p>

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

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

写一程序看看先<o:p></o:p>

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

<o:p> </o:p>

<!----><v:group coordsize="6480,2652" id="_x0000_s1026" coordorigin="1800,8148" style="MARGIN-TOP: 0px; Z-INDEX: 1; LEFT: 0px; MARGIN-LEFT: 27pt; WIDTH: 324pt; POSITION: absolute; HEIGHT: 132.6pt; TEXT-ALIGN: left"><v:shapetype o:spt="132" coordsize="21600,21600" id="_x0000_t132" path="m10800,qx,3391l,18209qy10800,21600,21600,18209l21600,3391qy10800,xem,3391nfqy10800,6782,21600,3391e"><v:path o:connectlocs="10800,6782;10800,0;0,10800;10800,21600;21600,10800" o:connectangles="270,270,180,90,0" gradientshapeok="t" o:extrusionok="f" o:connecttype="custom" textboxrect="0,6782,21600,18209"></v:path></v:shapetype><v:shape type="#_x0000_t132" id="_x0000_s1027" style="LEFT: 1980px; WIDTH: 900px; POSITION: absolute; TOP: 8304px; HEIGHT: 1404px"></v:shape><v:shape type="#_x0000_t132" id="_x0000_s1028" style="LEFT: 3600px; WIDTH: 1260px; POSITION: absolute; TOP: 8148px; HEIGHT: 780px"></v:shape><v:shape type="#_x0000_t132" id="_x0000_s1029" style="LEFT: 5940px; WIDTH: 900px; POSITION: absolute; TOP: 8304px; HEIGHT: 624px"></v:shape><v:shape type="#_x0000_t132" id="_x0000_s1030" style="LEFT: 5940px; WIDTH: 900px; POSITION: absolute; TOP: 9240px; HEIGHT: 624px"></v:shape><v:shapetype o:spt="176" coordsize="21600,21600" id="_x0000_t176" adj="2700" path="m@0,qx0@0l0@2qy@0,21600l@1,21600qx21600@2l21600@0qy@1,xe"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="val #0"></v:f><v:f eqn="sum width 0 #0"></v:f><v:f eqn="sum height 0 #0"></v:f><v:f eqn="prod @0 2929 10000"></v:f><v:f eqn="sum width 0 @3"></v:f><v:f eqn="sum height 0 @3"></v:f><v:f eqn="val width"></v:f><v:f eqn="val height"></v:f><v:f eqn="prod width 1 2"></v:f><v:f eqn="prod height 1 2"></v:f></v:formulas><v:path o:connectlocs="@8,0;0,@9;@8,@7;@6,@9" limo="10800,10800" gradientshapeok="t" o:connecttype="custom" textboxrect="@3,@3,@4,@5"></v:path></v:shapetype><v:shape type="#_x0000_t176" id="_x0000_s1031" style="LEFT: 5760px; WIDTH: 1260px; POSITION: absolute; TOP: 10020px; HEIGHT: 468px"></v:shape><v:line from="2880,8772" to="3600,8928" id="_x0000_s1032" style="POSITION: absolute; flip: y"><v:stroke endarrow="block"></v:stroke></v:line><v:line from="2880,9240" to="3600,9708" id="_x0000_s1033" style="POSITION: absolute"><v:stroke endarrow="block"></v:stroke></v:line><v:line from="4860,8772" to="5940,8772" id="_x0000_s1034" style="POSITION: absolute"><v:stroke endarrow="block"></v:stroke></v:line><v:line from="4860,8772" to="5940,9552" id="_x0000_s1035" style="POSITION: absolute"><v:stroke endarrow="block"></v:stroke></v:line><v:line from="4860,8772" to="5760,10332" id="_x0000_s1036" style="POSITION: absolute"><v:stroke endarrow="block"></v:stroke></v:line><v:shapetype o:spt="202" coordsize="21600,21600" id="_x0000_t202" path="m,l,21600r21600,l21600,xe"><v:stroke joinstyle="miter"></v:stroke><v:path gradientshapeok="t" o:connecttype="rect"></v:path></v:shapetype><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1037" style="LEFT: 1800px; WIDTH: 1260px; POSITION: absolute; TOP: 9864px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1037">

myThree

</v:textbox></v:shape><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1038" style="LEFT: 3600px; WIDTH: 1260px; POSITION: absolute; TOP: 9084px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1038">

WEB-INF

</v:textbox></v:shape><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1039" style="LEFT: 3600px; WIDTH: 1620px; POSITION: absolute; TOP: 10332px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1039">

javaSource

</v:textbox></v:shape><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1040" style="LEFT: 7020px; WIDTH: 1080px; POSITION: absolute; TOP: 8304px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1040">

classes

</v:textbox></v:shape><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1041" style="LEFT: 7020px; WIDTH: 1080px; POSITION: absolute; TOP: 9240px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1041">

lib

</v:textbox></v:shape><v:shape type="#_x0000_t202" stroked="f" id="_x0000_s1042" style="LEFT: 7200px; WIDTH: 1080px; POSITION: absolute; TOP: 10020px; HEIGHT: 468px"><v:textbox style="mso-next-textbox: #_x0000_s1042">

Web.xml

</v:textbox></v:shape><v:shape type="#_x0000_t132" id="_x0000_s1043" style="LEFT: 3600px; WIDTH: 1260px; POSITION: absolute; TOP: 9552px; HEIGHT: 780px"></v:shape></v:group><o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>


赶快把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.*; <o:p></o:p>

import javax.servlet.*;<o:p></o:p>

import javax.servlet.http.*;<o:p></o:p>

<o:p> </o:p>

public class Test extends HttpServlet <o:p></o:p>

{<o:p></o:p>

   public void doGet( HttpServletRequest rq,<o:p></o:p>

                     HttpServletResponse rp )<o:p></o:p>

                     throws IOException,ServletException<o:p></o:p>

    {<o:p></o:p>

       rp.setContentType("text/html;charset=gb2312");<o:p></o:p>

        PrintWriter out=rp.getWriter();<o:p></o:p>

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

       <o:p></o:p>

    }<o:p></o:p>

}<o:p></o:p>

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

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

<o:p> </o:p>

<!DOCTYPE web-app

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

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

<o:p> </o:p>

<web-app>

    <servlet>

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

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

   </servlet>

<o:p> </o:p>

    <servlet-mapping>

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

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

    </servlet-mapping>

</web-app>

<o:p> </o:p>

请再次启动你的tomcat

在你的ie地址栏输入:

http://localhost:8080/myThree/abc

看到效果了吗?<o:p></o:p>

怎么,觉得太没意思了,来个稍微复杂点的如何?<o:p></o:p>

把刚刚上面的程序该为:<o:p></o:p>

import java.io.*; <o:p></o:p>

import javax.servlet.*;<o:p></o:p>

import javax.servlet.http.*;<o:p></o:p>

public class Test extends HttpServlet <o:p></o:p>

{<o:p></o:p>

   public void doGet( HttpServletRequest rq,<o:p></o:p>

                     HttpServletResponse rp )<o:p></o:p>

                     throws IOException,ServletException<o:p></o:p>

    {<o:p></o:p>

       rp.setContentType("text/html;charset=gb2312");<o:p></o:p>

       PrintWriter out=rp.getWriter();<o:p></o:p>

       out.println("<html>");<o:p></o:p>

       out.println("<form method=post action=abc>");<o:p></o:p>

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

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

       out.println("</form>");<o:p></o:p>

       out.println("</html>");<o:p></o:p>

    }<o:p></o:p>

    <o:p></o:p>

    public void doPost( HttpServletRequest rq,<o:p></o:p>

                      HttpServletResponse rp )<o:p></o:p>

                      throws IOException,ServletException<o:p></o:p>

     {<o:p></o:p>

        rp.setContentType("text/html;charset=gb2312");<o:p></o:p>

        PrintWriter out=rp.getWriter();<o:p></o:p>

        String t = rq.getParameter("t1");<o:p></o:p>

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

        out.println(t);<o:p></o:p>

        out.println("</html>");<o:p></o:p>

     }<o:p></o:p>

}<o:p></o:p>

请再次启动你的tomcat

在你的ie地址栏输入:

http://localhost:8080/myThree/abc

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

只想说明2点:<o:p></o:p>

<o:p></o:p>

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

String t = rq.getParameter("t1");<o:p></o:p>

下面的rq.getParameter("t1")会在上面找到一个namet1的东东,并且获得它的内容赋值给t<o:p></o:p>

再看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跟你工程中的类的名字一样 <o:p></o:p>

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

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

分享到:
评论

相关推荐

    servlet简介(入门必备)

    这篇文档将带你走进Servlet的世界,了解其基本概念、工作原理以及如何进行实际应用。 一、Servlet基础 1. Servlet API:Servlet的核心是Java的Servlet API,它定义了Servlet的接口和类,如`GenericServlet`、`...

    servlet入门

    本篇文章将深入探讨Servlet的入门知识,包括其基本概念、生命周期、工作原理以及如何在实际项目中使用Servlet。 1. **Servlet基本概念** Servlet是一个Java类,它扩展了Java平台对HTTP协议的支持,使得开发者可以...

    javaWEB总结(1):第一个servlet程序

    本篇文章将详细探讨"javaWEB总结(1):第一个servlet程序"这一主题,旨在帮助初学者理解并掌握Servlet的基础知识。 首先,Servlet是一个Java类,它扩展了`javax.servlet.Servlet`接口或实现了`javax.servlet....

    Java学习指南(6) 网站入门篇 JavaEE / Servlet

    一、课程简介『Java学习指南系列』的第6篇教程,介绍JavaEE中的网站开发相关的技术 ( Servlet / JSP )。相关术语: Servlet | JSP | AJAX | RESTful | 文件上传 | HTTP GET | HTTP POST | URL Encode | 框架 | 抓...

    Servlet和Android网络交互1

    本篇将详细讲解Servlet和Android进行网络交互的基础知识,以及如何通过入门代码实现这一过程。 Servlet是Java Web应用程序的一部分,运行在服务器端,用于处理客户端(如Android设备)发送的HTTP请求,并返回相应的...

    基于Jenkins持续集成之入门篇.doc

    本篇文章将引导你入门Jenkins CI,帮助你理解其基本概念和操作步骤。 1. 前言 在软件开发中,持续集成(Continuous Integration,简称CI)是一种实践,开发者频繁地将他们的更改合并到共享的主分支,通常每次提交...

    Java Web开发实战经典-基础篇课后习题答案及高级篇源码

    第三章.XML简介:1,2,3题 第五章.JSP基础语法:1,2题 第六章.JSP内置对象:1,2,3,4,5,6题+系统整合 第七章.JavaBean:1,2,3,4,5,6题 第八章.文件上传:1,2题 第九章.Servlet程序开发:1,2,3,3(扩充)题 第十章....

    Java Web开发入门很简单源代码

    第3篇为提高篇,介绍当前流行的SSH开发框架,并带领读者对SSH框架进行整合,最后介绍了Ajax和jQuery;第4篇为实践篇,通过3个具体实例了解Java Web开发流程;第5篇为扩展篇,主要是对移动Web开发领域的扩展。

    JAVA WEB从入门到精通 随书源码 J2EE

    第二篇、第三篇和第四篇分别采用了相似的行文结构,条理清楚地讲解了Struts、Hibernate和Spring三种框架所包含的组件。第五篇则通过Struts+Spring+Hibernate解决方案实现一个完整的应用实例。 全书配合大量的图例及...

    Eclipse从入门到精通(第二版)----源码

    4. **第三篇 插件开发篇(第19-23章)**:Eclipse的核心特性之一是其插件体系,它允许扩展IDE的功能。这部分源码将带你探索Eclipse插件开发的世界,包括编写插件元数据(plugin.xml),实现功能点,以及发布和更新...

    网管教程 从入门到精通软件篇.txt

    网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的...

    javaweb快速入门

    本篇文档主要围绕“JavaWeb快速入门”这一主题展开,通过解析提供的部分内容,我们可以提炼出一系列重要的知识点和技术细节。JavaWeb是基于Java语言的Web应用开发技术,它包含了多种技术和组件,如JSP、Servlet等,...

    《Java EE技术与应用》[张军朝][电子教案(PPT版本)]

    书中主要内容分为五篇:入门篇对Java EE基本的介绍。第一篇介绍了Java EE的概念和Java语言基础以及实际开发中涉及的各种基础技术,包括SQL语言与MySQL、XML、HTML、CSS、JavaScript、Servlet、JSP等,可使读者全面...

    Java学习从入门到精通 1工具篇

    ### Java学习从入门到精通之工具篇:深入解析与实践指南 #### 一、JDK (Java Development Kit) ##### 1、JDK的核心地位与重要性 JDK,即Java Development Kit,是Java开发的核心,它包含了Java运行环境(Java ...

    Tomact 与Java Web开发技术详解(第二版)

    5. **Chapter 01 - 基础篇**:可能包含Tomcat的安装与配置、Web应用的基本结构以及Servlet的入门知识。 6. **Chapter 05 - Servlet进阶**:可能涵盖Servlet的生命周期、请求和响应对象、会话跟踪以及Servlet的配置...

    菜鸟快速入门 struts 1.X (简单的登陆)第一篇

    这个入门教程将引导你逐步了解如何使用Struts 1.X实现一个简单的登录功能。以下是对这一主题的详细讲解: 1. **MVC模式**:在Struts 1.X中,MVC模式被用来分离应用程序的业务逻辑、数据模型和用户界面。Model代表...

    JAVA 入门到精通加强版

    一、Java入门篇 在Java入门阶段,你需要掌握以下几个核心知识点: 1. **Java环境搭建**:安装JDK,配置环境变量,理解JRE与JDK的区别。 2. **Hello, World!**:编写第一个Java程序,理解类与主方法的概念。 3. **...

    自己动手写Struts.pdf

    #### 第一篇:Web框架入门 ##### 第1章 运筹帷幄:Web框架的核心思想 - **MVC模式** - **MVC模式概述**:MVC(Model-View-Controller)是一种常用的设计模式,用于将应用程序分为三个主要组成部分:模型、视图和...

    JSP程序设计从入门到精通.chm

    本篇由5章组成:第1章对JSP...第3章主要讲解JavaBean组件技术、基本的属性。第4章由几个实用例子讲解Jsp与Servlet,通过它们使对JSP有更深的理解,对Servlet技术更加明确。每章最后都有一个小结,可以增加读者的理解。

Global site tag (gtag.js) - Google Analytics