- 浏览: 270352 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
" target="_blank" ...
spring框架学习笔记(二)——spring的ioc之Resource -
15533921258:
楼主写的真不错啊,很多人的博客只说客户端发一次请求就会生成ht ...
Servlet学习整理(四)—— ServletRequest和ServletResponse -
rc111x:
当你所有的东西都弄好之后,在项目里面启动jetty服务器后出现 ...
利用maven创建webx3项目——实现简单的留言板(六) -
rc111x:
rc111x 写道L_Griselda 写道L_Griseld ...
利用maven创建webx3项目——实现简单的留言板(六) -
rc111x:
L_Griselda 写道L_Griselda 写道你好,我想 ...
利用maven创建webx3项目——实现简单的留言板(六)
这里先简单的实现一个基于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解析】
发表评论
-
Servlet学习整理(六)——session
2012-12-24 23:51 1295session简介 http是一个无状态的协议,为了实现与特 ... -
Servlet学习整理(五)—— filter
2012-12-12 23:17 1759Filter Filter是可以重复 ... -
Servlet学习整理(四)—— ServletRequest和ServletResponse
2012-12-01 22:32 11630基于Servlet的web应用交互过程 web应用一般是基于 ... -
Servlet学习整理(三)—— servletContext
2012-11-25 23:38 2026ServletContext简介 如果想 ... -
Servlet学习整理(一)——认识servlet
2012-11-16 09:35 1860Servlet规范 Servlet规范是 ... -
深入理解Java Servlet与Web容器之间的关系
2011-12-09 11:40 62【51CTO特稿】 自从计算机软件开发进入网络 ... -
servlet单实例多线程模式原理和开发注意事项
2011-12-03 22:18 199原文:http://www.iteye.com/topic/2 ... -
【实际问题】Servlet单实例多线程的线程安全问题
2011-12-03 22:08 1282涉及的关键字:JVM、堆 ... -
【转】Servlet中listener和filter的总结
2011-12-03 14:20 67转自:http://ruowu.javaeye.com/ ... -
getServletConfig() 和getServletContext()
2011-11-25 14:24 90getServletConfig() ... -
ServletContext.getRequestDispatcher和Request.getRequestDispatcher这两个有什么区别?
2011-11-25 14:25 166ServletRequest.getRequ ... -
构建有状态 Web 应用程序
2011-11-22 14:58 36虽然jsp已经不是最新的技术,但是这篇文章中涉及的ser ... -
Servlet有状态管理——Web 层
2011-11-22 14:17 100Servlet有状态管理——Web 层 Serv ... -
servlet 体系结构
2011-11-22 14:02 384servlet 体系结构 人们通常将模型-视图-控制器 ... -
servlet filter初探
2011-11-22 12:25 41参考 《J2EE 探索者: 使用 Java ... -
【实际问题】关于“The type ** is not accessible due to restriction on required library”
2011-11-22 11:10 2572按照上一篇《javax.servlet不存在的问题 ... -
【实际问题】javax.servlet不存在的问题
2011-11-19 16:24 1184最近在看servlet,想跑一个Filter试试,结果就是找 ... -
ServletContext
2011-11-25 14:25 73servlet容器在启动时会加载w ... -
ServletContext
2011-11-18 09:40 1servlet容器在启动时会加载web应 ...
相关推荐
Servlet JSP深入详解 基于Tomcat的Web开发
6.2.2 实例——Servlet版本HelloWorld 第7章 数据操作 7.1 概述 7.2 定义数据类 7.3 创建,获取和删除数据 7.4 查询和索引 7.5 事务 7.6 关系 7.7 实例——员工管理系统 第8章 国际化 8.1 普通文本国际化 8.2 ...
使用servlet进行简单的web开发 方便初学者了解web应用
简信CRM(客户关系管理系统)是简信软件推出的帮助企业管理和客户营销的软件服务, 帮助企业实现市场营销、销售、服务的流程化以及公司管理的自动化。简信CRM分为开源版本、旗舰版本、云服务版本等多种版本,并支持...
然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean容器、IoC框架、MVC框架,所涉及的代码也是整个框架的核心基础。为了使框架具备AOP特性,从代理技术讲到 AOP ...
《Java Web开发基础——从Servlet到JSP》源代码v1.0
web服务器三大组件servlet、Filter、Listene——浅浅笔记
本文档是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的附赠电子资料,对Struts2、JSF、Hibernate、iBATIS和JPA等框架进行了简单介绍,并且给出了两个自定义简单框架,还包括3个实例,共149页。
Java web应用开发技术与案例教程【张继军 董卫编著】案例成功实现
然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 ...
Servlet 3.0作为Java EE 6规范体系中一员,随着Java EE 6规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化Web应用的开发和部署。
《Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet3.0+JSP2.2深入剖析与实例应用》不仅可以作为Java Web开发的学习用书,还可以作为从事Java Web开发的程序员的参考用书和必备手册。 此外,《Java Web开发详解...
servlet中第二章 使用web.docservlet中第二章 使用web.docservlet中第二章 使用web.doc
NULL 博文链接:https://zisefeiniao.iteye.com/blog/396782
本资源使用JSP和Servlet进行用户登录注册,有详细的说明博客,请见http://blog.csdn.net/Bmouth_monkey/article/details/79516067 里面有数据库文件,只要导入mysql即可
本资源是《Java Web开发教程——入门与提高篇(JSP+Servlet)》一书的源代码,基本上都是采用JSP2.0和MVC模式。
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入,...
Web开发实训——学生信息管理系统(JSP+Servlet+Ajax+MySQL) 全栈式开发,包含学生记录的增删查改。
Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地... 狭义的Servlet是指Java语言实现的一个 接口 ,广义的Servlet是指任何实现了这个Servlet接口的
后端基于改良后的 Servlet 技术与 Mybatis 框架,并用 MySQL 作为数据库来实现基本的购物网站功能。主要包括用户的登录及注册,商品信息的展示,购物车的交互操作,同时还具备订单的提交和查询功能。.zip 适合学习/...