JavaWeb之Servlet入门(一)
1. Servlet介绍
Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
2. 第一个Servlet程序
1) 新建一个网站
打开MyEclipse,菜单File—New—Web Project,在Project Name中输入名称,本例为MyServletWeb(读者可自由命名,会影响到将来网站部署后的URL访问地址),点击Finish,完成新建。
2) 新建一个Class实现Servlet接口
菜单File—New—Class,包名com.servlet.action,类名HelloServlet,实现接口Servlet。
package com.servlet.action; import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class HelloServlet implements Servlet {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
} @Override
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("I told tou Hello!");
}
}
其中:
1. init方法:初始化Servlet,该方法只有在第一次访问Servlet的时候被调用一次。
2. destory方法:销毁Servlet。
3. service方法:访问该Servlet所要处理的业务逻辑,req:从客户端获取的数据,res:向客户端返回的数据。
我们在service方法中添加System.out.println("I told tou Hello!"); 向控制台输出一句话。
3)在WebRoot----WEB-INF中新建web.xml文件(web.xml名字不能变),代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
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_3_0.xsd">
<servlet>
<!-- 名称可以随意更换,但是必须和<servlet-mapping>中<servlet-name>保持一致 -->
<servlet-name>Hello</servlet-name>
<!-- 对应的实现了servlet接口的类的全名 -->
<servlet-class>com.servlet.action.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<!-- 名称可以随意更换,但是必须和<servlet>中<servlet-name>保持一致 -->
<servlet-name>Hello</servlet-name>
<!-- 要访问的URL -->
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
4)将网站部署到tomcat服务器上,然后运行taomcat服务,启动浏览器,在地址栏输入:
http://127.0.0.1:8080/MyServletWeb/Hello,可以看到在MyEclipse中的Console窗口已经打印了:
I told tou Hello!
3. 解析
当我们在地址栏中访问http://127.0.0.1:8080/MyServletWeb/Hello的时候,tomcat服务器首先会查找在其WebApp目录中的MyServletWeb文件夹,找到后访问其WEB-INF/web.xml文件,查找<utl-pattern>等于/Hello的节点(因为我要访问的是.../MyServlet/Hello),然后根据其对应的<servlet-name>节点的值(本例为Hello)找到相应的<servlet-class>(本例为com.servlet.action.HelloServlet),并执行其service方法。
JavaWeb之Servlet入门(一)的更多相关文章
- JavaWeb之Servlet入门(二)
		1. 准备 在JavaWeb之Servlet入门(一)中,我们完成了第一个Servlet程序,完成了从URL到后台控制器的中转过程,接下来我们延续JavaWeb之Servlet入门(一)学习下如何传参 ... 
- Javaweb之Servlet入门
		1. 什么是Servlet? Java Servlet 是运行在 Web 服务器或应用服务器上的程序:他是浏览器(HTTP客户端)请求和HTTP服务器上资源(访问数据库)之间的中间层. 2. 什么是S ... 
- 浅谈JavaWEB入门必备知识之Servlet入门案例详解
		工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详 ... 
- HTTP协议 Servlet入门  Servlet工作原理和生命周期  Servlet细节  ServletConfig对象
		1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ... 
- java之servlet入门操作教程一续
		本节主要是在java之servlet入门操作教程一 的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ... 
- servlet入门与进阶
		servlet入门与进阶 1.servlet基础认知 Servlet(Server Applet):全称Java Servlet,是用Java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据, ... 
- JavaWeb学习——Servlet相关的接口和类
		JavaWeb学习——Servlet相关的接口和类 摘要:本文主要学习了Servlet相关的接口和类. Servlet的接口和类 三种方式 实现Servlet有三种方式: 实现javax.servle ... 
- JAVAWEB的基本入门(JSP、Tomcat)>从零开始学JAVA系列
		目录 JAVAWEB的基本入门(JSP.Tomcat) 使用idea创建web项目的两种方式 1.直接创建一个web项目(这样创建好的项目可以直接运行) 2.创建一个普通的java项目并配置web模块 ... 
- javaweb(2)之Servlet入门
		Hello Servlet 方式一 1.新建 web 工程,编写一个类,实现 javax.servlet.Servlet 接口: package com.zze.servlet; import jav ... 
随机推荐
- 吴裕雄--天生自然java开发常用类库学习笔记:观察者设计模式
			import java.util.* ; class House extends Observable{ // 表示房子可以被观察 private float price ;// 价钱 public ... 
- 07 MySQL常用内置函数
			常用函数 1.字符串函数 CONCAT(str1,str2,..,strN) 将str1,str2..strN 拼接成一个字符串,当这里有任何一个为NU ... 
- UVA - 211 The Domino Effect(多米诺效应)(dfs回溯)
			题意:根据多米诺骨牌的编号的7*8矩阵,每个点可以和相邻的点组成的骨牌对应一个编号,问能形成多少种由编号组成的图. 分析:dfs,组成的图必须有1~28所有编号. #pragma comment(li ... 
- 集成模拟温度传感器低成本2.4G CC2500RGPR 中文手册
			CC2500是一种低成本真正单片的2.4GHz收发器,为低功耗无线应用而设计.电路定位2400-2483.5MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段. RF收发器集成了一个数据 ... 
- docker 后台运行和进入后台运行的容器
			先创建并进入一个新的被命名为newos的新容器 docker run -it --name newos docker.io/centos #创建并指定端口号映射 docker run -d -p ... 
- 利用 Python 破解 ZIP 或 RAR 文件密码
			我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.本文将会利用 P ... 
- Flink Task 并行度
			并行的数据流 Flink程序由多个任务(转换/运算符,数据源和接收器)组成,Flink中的程序本质上是并行和分布式的. 在执行期间,流具有一个或多个流分区,并且每个operator具有一个或多个ope ... 
- Windows系统安装免费的开源虚拟机软件VirtualBox
			https://www.qikegu.com/uncategorized/1179 VirtualBox是什么 VirtualBox是一个虚拟机平台软件,在VirtualBox平台上可以安装各种操作系 ... 
- Linux_Program  前台后台 切换 查看   kill  实用  mark
			有时当我们在linux 上 输入 yum repolist 或 curl www.XXX. 时程序由已 :Intel或system 原因 按下 ctrl+z .在Linux终端运行命令的 ... 
- Java中多态的实例
			public class cf { /** * 实际上这里涉及方法调用的优先问题, * 优先级由高到低依次为:this.show(O).super.show(O).this.show((super)O ... 
