`
wade6
  • 浏览: 270352 次
  • 性别: 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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics