`
wade6
  • 浏览: 274213 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Servlet学习整理(二)—— 实现基于servlet的简单web应用

 
阅读更多

这里先简单的实现一个基于servlet的web应用,便于理解后面介绍的servlet技术。

----------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------

 

web应用程序

应用程序分为两种模式:C/S和B/S;

 

C/S是客户端/服务器端程序,也就是说这类程序一般独立运行;B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行;

 

web应用就是基于网络的B/S应用程序。

 

 

搭建web应用开发环境

环境准备

 

1)JDK:java开发环境 http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

2)eclipse:java开发平台 下载地址:http://www.eclipse.org/downloads/;

 

3)tomcat:Web 服务器,或者叫servlet容器,用来启动servlet引擎,执行servlet程序的;下载地址:http://tomcat.apache.org/

 

下载并安装上面提到的四个工具,并进行配置,具体的配置可参见网络。

 

本例使用的版本分别是:jdk1.6.0_29;eclipse_Indigo Service Release 2;apache-tomcat-6.0.35;

机器环境windows7。

 

 

创建web工程

新建文件夹F:\work,在eclipse中新建项目:File->new->java Project,输入名称myservlet,选择存放目录为F:\work,然后点finish,生成工程如图:


然后新建webapp和webapp/WEB-INF文件夹,webapp/WEB-INFweb.xml和webapp/index.htm,如图:


 

web.xml是web应用中的一个很重要的配置文件,具体内容可以参考本文底部的链接文章。

 

在web.xml中添加内容如下:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app>

</web-app>

 

 

在index.htm中添加内容如下:

 

 

 this is myservlet

 

至此,我们创建了一个名为myservlet的简单web工程。

 

 

启动tomcat

上面我们已经创建好了web工程,现在我们启动tomcat来运行这个web工程;

 

找到文件$tomcat_home\conf\server.xml,在<host></host>标签下添加配置如下:

 

 

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false"> 

        <Context path="" docBase="F:\work\myservlet\webapp" reloadable="true"/>

</Host>

 

 

这里配置的意思是tomcat启动后运行我们的web工程。

 

双击文件$tomcat_home\bin\startup.bat,启动tomcat,启动完毕如图:


 

 

在浏览器中输入:http://localhost:8080/index.htm,看到页面如图:


至此,我们已经成功完成一个简单的只有静态页面index.htm的web应用。

 

 

在web应用中使用servlet技术

上面的web工程只能提供事先准备好的静态的文件,如果我们想要根据用户的输入动态输出内容,就需要使用servlet技术了。

 

首先在eclipse中编写servlet代码,在src中创建源码包com.myservlet.app.servlet,并在该包下创建java文件MyFirstServlet.java,如图:


 

 

MyFirstServlet.java的源码

 

public class MyFirstServlet extends HttpServlet {

    /**   **/
    private static final long serialVersionUID = 1797506326421139662L;

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // 获取用户的name
        String name = request.getParameter("name");

        // 对name进行转码
        if (name != null) {
            name = new String(name.getBytes("ISO-8859-1"), "GBK");
        } else {
            name = "陌生人";
        }

        // 设置输出
        response.setContentType("text/html;charset=GBK");
        PrintWriter printWriter = response.getWriter();
        printWriter.println("<HTML><HEAD><TITLE>myFirstServlet</TITLE>");
        printWriter.println("</HEAD><BODY>");
        printWriter.println("<h1><p>" + name + ":您好!</h1>");
        printWriter.println("</BODY></HTML>");
        printWriter.close();
    }

}

代码的内容先不解释,后续会详细介绍。

 

注意:

如果eclipse显示没有找到HttpServlet,那是因为你没有引入servlet-api.jar;这个jar包可以在$tomcat_home\lib中找到,然后拷贝到$java_home\jre6\lib\ext目录下,重启eclipse即可;如果还是没有找到,说明eclipse使用的jre不是你安装的,点击window->Preferences->java->Installed JREs->Add,选择你安装的java目录,保存重启eclipse即可

 

然后配置web.xml文件,如下:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app>

	<servlet>
		<servlet-name>myFirstServlet</servlet-name>
		<servlet-class>com.myservlet.app.servlet.MyFirstServlet</servlet-class>
	</servlet>

	<servlet-mapping>
		<servlet-name>myFirstServlet</servlet-name>
		<url-pattern>/hello.htm</url-pattern>
	</servlet-mapping>

</web-app>
 

这里配置了我们写的servlet以及访问映射,这里的意思是访问hello.htm的请求由myFirstServlet来处理;其中关于url的配置规则可以参考本文底部的链接文章。

 

注意:

 

点选eclipse中的Project->Build Automatically,可以实现eclipse的自动编译,编译的class文件放哪呢?选择Project->Properties->Java Build Path->Source选项卡,底部的Default output folder路径设置为myservlet/webapp/WEB-INF/classes,这样编译的文件就可以直接放到web工程的webapp中。

 

最后,启动tomcat,双击文件$tomcat_home\bin\startup.bat;

 

启动完成后,在浏览器中输入:http://localhost:8080/hello.htm?name=wade6,看到的页面如图:


 

至此,我们实现了一个基于servlet的简单web应用。

 

 

问题

1、web工程中的web.xml文件有什么作用呢?它是每个web.xml工程都必须的吗?

 

The web.xml web application descriptor file represents the core of the Java web application。

 

一个web中完全可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。

 

web.xml文件是用来配置:Welcome页面、servlet、servlet-mapping、filter、 listener、启动加载级别等。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程。

 

----------------------------------------------------------------------------------------------------------------------

 

参考:http://blog.csdn.net/jzy23682891/article/details/6755173  【web.xml详细介绍】

         http://hi.baidu.com/lanhuwan2011/item/aa1d32166473b428f6625cc9  【web.xml的作用】

         http://hezhong002.iteye.com/blog/1231164   【servlet mapping解析】

  • 大小: 10.8 KB
  • 大小: 4.7 KB
  • 大小: 8.5 KB
  • 大小: 27.6 KB
  • 大小: 11.4 KB
  • 大小: 11 KB
  • 大小: 14.5 KB
分享到:
评论

相关推荐

    Servlet JSP深入详解 基于Tomcat的Web开发

    ### Servlet与JSP深入详解:基于Tomcat的Web开发 #### 一、Servlet技术概述 Servlet是一种用Java编写的服务器端应用程序接口(API),它扩展了Java Web开发的功能。Servlet可以响应HTTP请求,并且能够处理复杂的...

    基于JSP+Servlet+JavaBean+Dao开发模式——学生体质管理系统{2018.2的IDEA加8.0的MySQL和9.0.11的Tomcat实现}

    在本项目中,我们采用的是基于JSP+Servlet+JavaBean+DAO的经典Web开发模式,用于构建一个学生体质管理系统。这种模式是Java Web开发中常用的一种架构,它将业务逻辑、数据访问和用户界面进行了清晰的分离,提高了...

    简单的web开发——servlet案例

    总之,"简单的web开发——servlet案例"为初学者提供了一个很好的起点,通过学习和实践,你可以掌握如何使用Servlet构建动态Web应用程序,并逐步熟悉Java Web开发的整体流程。随着经验的增长,你将能够运用更复杂的...

    Servlet 3.0新特性——文件上传接口

    在这个更新中,Servlet API提供了更简单、更高效的方式来处理文件上传请求,使得在服务器端处理大文件和多个文件上传变得更加容易。 在Servlet 2.5及其之前版本,处理文件上传通常依赖于第三方库,如Apache的...

    《动态Web数据库技术——基于JSP和XML技术实现》-王红-源代码-3314

    《动态Web数据库技术——基于JSP和XML技术实现》是一本深入探讨如何使用JSP(JavaServer Pages)和XML(eXtensible Markup Language)在Web开发中构建动态数据库应用的专业书籍。书中可能涵盖了以下几个核心知识点:...

    web笔记 —— Servlet

    Servlet是Java Web开发中的核心组件,它是一种服务器端的Java应用程序,主要用于处理HTTP请求并生成动态内容。在本文中,我们将深入探讨...通过不断学习和实践,我们可以更好地驾驭Servlet,构建高效、可靠的Web应用。

    《Java Web开发基础——从Servlet到JSP》源代码v1.0

    《Java Web开发基础——从Servlet到JSP》是一本深入探讨Java Web开发的教程,主要涵盖了从基础的Servlet到高级的JSP技术。这个压缩包包含的源代码是该书教学内容的实践部分,旨在帮助读者更好地理解和应用所学知识。...

    基于MVC用JSP/Servlet实现JPetStore——使用AJAX和jQuery改善用户体验

    **基于MVC模式的JSP/Servlet实现JPetStore项目** 该项目是基于经典的MVC(Model-View-Controller)设计模式构建的,旨在提供一个网上宠物商店的示例应用。在传统的JSP/Servlet实现中,用户每次操作都需要通过完整的...

    JSP源码——jsp+servlet+javaBean实现MVC_jspmvc.zip

    【JSP源码——jsp+servlet+javaBean实现MVC】是基于Java Web技术构建的一种经典MVC(Model-View-Controller)模式的应用实例。在Web开发中,MVC模式被广泛采用,它将应用程序的业务逻辑、数据处理和用户界面分离,...

    javaWeb新手必练项目——jsp+servlet实现的CRM管理系统

    简信CRM(客户关系管理系统)是简信软件推出的帮助企业管理和客户营销的软件服务, 帮助企业实现市场营销、销售、服务的流程化以及公司管理的自动化。简信CRM分为开源版本、旗舰版本、云服务版本等多种版本,并支持...

    web服务器三大组件servlet、Filter、Listener——浅浅笔记

    Web服务器中的三大组件,即Servlet、Filter和Listener,是构建动态Web应用程序的关键元素。这些组件都是基于Java的,主要用于增强和扩展Web服务器的功能。 Servlet是Java中用于处理HTTP请求的核心组件,它是动态...

    基于Servlet的Web图表编程

    ### 基于Servlet的Web图表编程 #### 1. Servlet概述及特点 Servlet作为Java Web开发中的核心组件之一,其重要性不言而喻。Servlet是一种基于Java技术的服务器端程序,它能够处理客户端通过HTTP协议发送的请求并...

    官方推荐——>基于Java servlet mysql 的留言板管理系统(完整功能+SQL文件)可运行

    总的来说,这个基于Java Servlet和MySQL的留言板管理系统是一个典型的Web应用示例,涵盖了用户认证、数据交互、权限控制等多个核心模块,对于学习和实践Web开发,尤其是Java后端开发,具有很高的参考价值。...

    架构探险——从零开始写Java Web框架 绝对完整!强烈推荐

    然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean容器、IoC框架、MVC框架,所涉及的代码也是整个框架的核心基础。为了使框架具备AOP特性,从代理技术讲到 AOP ...

    云应用开发 ——Google App Engine & Google Web Toolkit入门指南

    - **6.2.2 实例——Servlet版本HelloWorld**:通过创建一个简单的 HelloWorld 示例来演示如何使用 Servlet 处理请求。 #### 第7章 数据操作 在这一章中,将介绍如何在 Google App Engine 上进行数据操作: ##### ...

    web应用系统设计(jsp+Servlet+JavaBean)

    ### Web应用系统设计(JSP+Servlet+JavaBean) #### Web服务器与Tomcat6.0配置 本章节重点介绍如何安装并配置Web服务器——Tomcat 6.0,以及与其配套使用的Java Development Kit (JDK)。对于一个基于Java技术栈的...

    jsp毕业设计——jsp基于WEB的考务管理系统的设计与实现(源代码+论文).zip

    《基于JSP的WEB考务管理系统的设计与实现》是一份典型的毕业设计项目,它涵盖了Web开发中的关键技术和实践。此项目以JSP(JavaServer Pages)为核心,构建了一个功能完善的考务管理平台,旨在提高教育机构对考试流程...

    servlet实现学生信息管理系统源码

    在本项目中,"servlet实现学生信息管理系统源码"是一个使用Java编程语言开发的Web应用程序,主要目标是实现对学生信息的高效管理。这个系统基于Servlet技术,它是一种用于构建动态Web应用的标准Java API,提供了...

    Java Web开发实践教程——从设计到实现(第2版)PPT

    《Java Web开发实践教程——从设计到实现(第2版)》是一本深入探讨Java Web技术的权威指南,尤其适合初学者和有一定基础的开发者。本教程通过PPT的形式,以直观、易懂的方式讲解了从项目规划到实际开发的全过程。在...

Global site tag (gtag.js) - Google Analytics