声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!
文章目录
一、什么是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的工程,这个我没有管它了,就没有研究了,谁知道是什么鬼欢迎留言!