java服务器开发:6、写第一个Servlet

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/85266444

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

文章目录

一、什么是servlet?

1)扩展web服务器功能

2)组件规范

二、如何开发一个servlet?

1)环境搭建

2)手动开发Servlet

3)MyEclipse工具开发Servlet

4)注意


一、什么是servlet?

sun公司制订的一种用来扩展web服务器功能的组件规范。

1)扩展web服务器功能

web服务器(比如,apache ws, iis等等)只能够处理静态资源

(需要事先写好html文件,并且保存到服务器指定的文件夹)。

servlet可以扩展这些web服务器的功能,即让这些

web服务器能够处理动态资源(需要计算,生成相应的html)。

2)组件规范

a,什么是组件?

符合一定规范,实现部分功能,需要部署到相应的

容器上才能运行的软件模块。

b,容器是什么?

符合一定规范,为组件提供运行环境的程序。

 

二、如何开发一个servlet?

1)环境搭建

---windows平台

手把手教你10分钟_搭建属于自己的Android服务器(一)环境安装

---mac平台

MyEclipse2017安装:MyEclipse2017安装以及破解的方法(Mac)

tomact安装:Apache Tomact安装和配置步骤详解(Mac)

MyEclipse2017配置tomact:MyEclipse配置apache Tomact步骤详解(Mac)

2)手动开发Servlet

注意:只提供步骤,不做详细介绍了

step1,

写一个java类,实现Servlet接口或者继承

HttpServlet抽象类。

 

step2,编译

 

step3,

打包(建立一个具有如下结构的文件夹)

appname

WEB-INF

classes(字节码文件)

lib(可选,放.jar文件)

web.xml(部署描述文件)

注意:除了appname可以自己命名,其它都不能改。

 

step4,

部署

将step3生成的文件夹拷贝到容器特定的文件夹下面,

比如,tomcat对应的是webapps文件夹。

 

step5,

启动容器tomact,访问servlet。

http://ip:port/appname/servlet-url

 

3)MyEclipse工具开发Servlet

A、写一个HelloServlet类

/**
* 一个简单的Servlet
* @ClassName:HelloServlet
* @Package:写第一个Servlet_
* @Description:(可以在这里描述这个类的作用)
* @author:luminal、邮箱 [email protected]
* 步骤:
* 1、照着写代码,体会、解释执行过程
* 2、继承HttpServlet、写service方法【固定格式,先照着写】
* 3、Servlet配置、访问地址:在WebRoot/WEB-INF/web.xml文件里面
* 4、Servlet执行过程介绍【见:我的Doc文档】
*/
public class HelloServlet extends HttpServlet{
		protected void service(HttpServletRequest request, HttpServletResponse response) 
		throws ServletException, IOException {
			//step1:输出处理结果
			//通过response,设置一个消息头(content-type),
			//告诉浏览器,服务器返回的数据类型
			response.setContentType("text/html");
			
			//step2:通过response(响应对象)获得一个输出流
			PrintWriter out = response.getWriter();
			
			//step3:将处理结果数据缓存到response对象上
			//-->处理结果,打包发送给浏览器
			//-->浏览器拆包,生成页面【详见Servlet执行过程介绍】
			out.println("Hello Servlet");
//			out.println("<div style='font-size:90px;font-style:italic;color:red;'>Hello Servlet</div>");
			
			//关闭流
			out.close();
			
		}
}

B、配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_1545815979606">


		<servlet>
		<servlet-name>xxx</servlet-name>
		<!-- 包名里面有汉字和下划线,并不会报错 -->
		<servlet-class>写第一个Servlet_.HelloServlet</servlet-class>
		</servlet>
		<servlet-mapping>
		<servlet-name>xxx</servlet-name>
		<url-pattern>/hello</url-pattern>
		</servlet-mapping>
		
		
		<!--
			<servlet>
			<servlet-name>自定义名</servlet-name>
			<servlet-class>包名+类名</servlet-class>
			</servlet>
			<servlet-mapping>
			<servlet-name>自定义名</servlet-name>
			<url-pattern>/自定义名</url-pattern>
			</servlet-mapping>

//  访问地址:
//  http://localhost:8080/项目名/ 【WebRoot\WEB-INF\web.xml里面的<url-pattern>” 】对应的名字
//  http://localhost:8080/web01/hello
		-->
	
</web-app>







C、在打印控制台找到Servers,启动tomact容器,部署项目并运行

         

在本地浏览器输入:http://localhost:8080/web01/hello

效果如下:

我的原代码:https://download.csdn.net/download/yudbl/10879058

4)注意

myEclipse2017貌似会在工作目录中自动生成一个Servers的工程,这个我没有管它了,就没有研究了,谁知道是什么鬼欢迎留言!

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/85266444