首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2012-11-22 
Servlet学习整理(二)—— 实现基于servlet的简单web应用web应用程序应用程序分为两种模式:C/S和B/S;?C/S是客

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

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

?

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

?

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

?

?

基于Servlet的web应用交互过程

web应用一般是基于http的请求响应模式,web应用一般是部署在web服务器上的,一个使用servlet实现的web应用典型的交互过程如下:

?

1) 客户端向web服务器发起一个HTTP请求;
2) HTTP请求被web服务器接受,并移交给servlet引擎;
3) servlet引擎根据配置决定调用那个servlet,并把request对象、response对象传给它。
4) servlet通过request获取用户信息和请求的内容,servlet处理完请求后把要返回的信息放入response对象;
5)一旦servlet完成了请求的处理,servlet引擎就会刷新response,把控制权返回给web服务器;
6)web服务器将从servlet引擎获取的内容返回给客户端;

?

?

搭建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,生成工程如图:


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

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


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

?

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工程。

?

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


Servlet学习收拾(二)—— 实现基于servlet的简单web应用?

?

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


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

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

?

?

在web应用中使用servlet技术

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

?

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


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

?

?

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>
?

?

注意:

?

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

?

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

?

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


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

至此,我们实现了一个基于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

? ? ? ? ?http://hi.baidu.com/lanhuwan2011/item/aa1d32166473b428f6625cc9

热点排行