tomcat上servlet程序的配置与处理servlet请求过程
手动配置:
tomcat服务器下web项目的基本目录结构
|-tomcat根目录
|-webapps
|-WebRoot : web应用的根目录
|-静态资源(html+css+js+image+vedio)
|-WEB-INF : 固定写法。
|-classes: (可选)固定写法。存放class字节码文件
|-lib: (可选)固定写法。存放jar包文件。
|-web.xml
什么事servlet?用java语言来编写动态资源的开发技术,一个继承至HttpServlet类的普通类。
手写一个MyServlet类,并继承至HttpServlet(记得导入servlet-api.jar包,在 tomcat根目录/lib/servlet-api.jar),重写其doGet方法(该方法当浏览器发起get请求访问该文件时调用)
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.getWriter().write("Hollo servlet");
}
}
手动在webapps新建一个文件夹作为一个web项目文件夹,例如MyServlet
目录结构如下
|-tomcat根目录
|-webapps
|-MyServlet
|-WEB-INF 。
|-classes
|-lib
|-web.xml
将编译好的class文件放置于上面目录结构中classes文件中(如果文件在某个包下,应将整个包拷贝到classes文件夹中)
接下来就是配置web.xml
<!--带下划线的为固定格式写法,中间部分为servlet通过url访问的配置信息-->
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet>
<!--servlet名称,可以自定义-->
<servlet-name>MyServlet</servlet-name>
<!-- servlet类名: 包名+简单类名-->
<servlet-class>jxf.sevrlet.MyServlet</servlet-class>
</servlet> <servlet-mapping>
<!--servlet名称,应与上面的名称保持一致,因为是通过下面的servlet访问名称来定位到上面的servlet名称,再通过上面的名称定位到servlet类的位置-->
<servlet-name>MyServlet</servlet-name>
<!-- servlet的访问名称: /名称 -->
<url-pattern>/hello</url-pattern>
</servlet-mapping> </web-app>
当上面都准备好了以后,在浏览器地址栏中输入http://localhost:8081/MyServlet/hello(我的端口是8081),就可以访问到写好的servlet了。
请求过程分析:如下图所示:

用MyEclipse部署web项目实现上面的过程:
1、部署项目前的准备工作,配置好tomcat

2、tomcat配置成功后如下图

3、新建一个web项目,取名为MyServlet

4、项目目录结构,可以看到与我们上面手动创建的目录结构是一致的

5、在src中新建一个servlet


打开web.xml文件,可以看见MyEclipse自动生成的内容为:(不带下划线部分与上面手动编写的内容是一致的)
1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app version="2.5"
3 xmlns="http://java.sun.com/xml/ns/javaee"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
7 <display-name></display-name>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>MyServlet</servlet-name>
<servlet-class>jxf.servlet.MyServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
19 <welcome-file-list>
20 <welcome-file>index.jsp</welcome-file>
21 </welcome-file-list>
22 </web-app>
6、最后点击部署按钮,将项目部署到tomcat中。如下图


7、重启tomcat,浏览器地址栏输入http://localhost:8081/MyServlet/hello,完成。
tomcat上servlet程序的配置与处理servlet请求过程的更多相关文章
- web应用程序servlet的映射名称的规则及请求过程
首先用MyEclipse创建一个web Project(工程名起为TestServletProject),新建一个Servlet(这里servlet的名字起TestServlet),将请求的servl ...
- [原创]java WEB学习笔记04:Servlet 简介及第一个Servlet程序(配置注册servlet,生命周期)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- C、Shell、Perl基于Tomcat开发CGI程序环境配置
基于Tomcat7.0版本号配置CGI开发环境,步聚例如以下: 以我的Tomcat7安装文件夹为例:TOMCA_HOME = /Users/yangxin/Documents/devToos/java ...
- Jekins在Tomcat上的安装和配置
首先,apache.org的官网下载Apache Tomcat. 第二:点击/一步一步的安装tomcat,没有任何需要说明的难点. 我偏好选择安装tomcat可执行文件,这样可以在安装时就自动吧tom ...
- Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】
什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...
- 【JavaWeb】Servlet 程序
Servlet 程序 Servlet Servlet 是在 Web 服务器中运行的小型 Java 程序.Servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求. ...
- Servlet学习笔记(二)之Servlet路径映射配置、Servlet接口、ServletConfig、ServletContext
Servlet路径映射配置 要使Servlet对象正常的运行,需要进行适当的配置,以告诉Web容器哪个请求调用哪个Servlet对象处理,对Servlet起到一个注册的作用.Servlet的配置信息包 ...
- 部署在eclipse上的Tomcat上的publish和clean的区别
publish:就是把自己的web应用发布到tomcat服务器上没这样才能通过浏览器查看浏览 clean: 就是先清除掉原先编译到tomcat上的程序(多个.class文件),之后再发布. 如:我建了 ...
- Servlet-IDEA菜单生成Servlet程序
更快捷方法生成Servlet程序(IDEA菜单生成Servlet) 菜单:new ---> Servlet程序 取消注解做这个配置 可以创建Servlet程序,编写HelloServlet3类, ...
随机推荐
- [GRYZ2014]最大连续子序列的和
求给定序列的最大连续子序列和. 输入:第一行:n(n<100000) 第二行:n个整数[-3000,3000]. 输出:最大连续子序列的和. 样例: 输入: 7 -6 4 ...
- Android学习笔记(九)一个例子弄清Service与Activity通信
上一篇博文主要整理了Service的创建.绑定过程,本篇主要整理一下Service与Activity的通信方式.包括在启动一个Service时向它传递数据.怎样改变运行中的Service中得数据和侦听 ...
- webview改变网页宽度
- (void)webViewDidFinishLoad:(UIWebView *)webView { //修改服务器页面的meta的值 NSString *meta = [NSString stri ...
- Oracle 字符集的查看和修改
Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库工具,错误消息,排序次序,日期 ...
- jetty之安装,配置,部署,运行
上篇文章中详解了关于什么是jetty,后续文章主要是介绍jetty的使用.本章介绍jetty环境的配置及部署war包. 1. 安装 1. 先下载一个jetty的压缩包,下载地址:http://www. ...
- Operfire/XMPP
Operfire/XMPP 关于Openfire.XMPP协议.IM相关知识 基于开源 Openfire 聊天服务器 - 开发聊天记录插件 posted @ 2013-03-29 11:03 hooj ...
- 数据库修复工具 - DatabaseCompressor 之从9M到900K+
数据库修复工具 - 仅限 *.mdb 格式的Access 数据库 引言: Access数据库操作有一严重Bug,当数据库文件内容添加�时,其文件容量随之添加�,但当删除数据库内容时,其数据库容量不会对 ...
- PYTHON queue
http://blog.csdn.net/bravezhe/article/details/8588437
- 【转】学习Flex ActionScript 3.0 强烈推荐电子书
学习Flex ActionScript 3.0 强烈推荐电子书 AdvancED ActionScript 3.0 Animation(<Make things move>姐妹篇,强烈推 ...
- JDK8新特性之接口
在JDK7及以前的版本中,接口中都是抽象方法,不能定义方法体,但是从jdk8开始,接口中可以定义静态的非抽象的方法,直接使用接口名调用静态方法,但是它的实现类的类名或者实例却不可以调用接口中的静态方法 ...