重点内容 **实际上java中的servlet只是一段java的程序,我们可以将这段程序放入到servlet容器中运行,而servlet容器其实就是我们常常说的中间件,例如tomcat
这里说明一下Tomcat是由Apache开源组织开发的仅仅支持J2EE的jsp和sevlet功能,一般的小型项目已经够用适合初学者。
JBoss是开发者共同努力的结果,支持十几项功能,核心功能是EJB,但不支持JSP和Servlet.
平常还经常使用jetty也是一个轻量级的中间件。
言归正转,我们来说servlet,sun公司在开发servlet的时候定义了servlet接口,这就规范了实现,必须实现其定义的方法。
所以说写servlet实际就两步:
1.实现servlet接口
2.放到tomcat中进行配值
实现servlet可以通过查API文档来学习
现在有很多工具eclipse,简化了配值,现在我们来自己配值一下。**
1.实现servlet接口
package cn.bipt;//定义包名
import java.io.*;
import javax.servlet.*;
//自定义个类
public class FirstServlet extents GenericServlet{
public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException{
//输出到浏览器
res.getWriter().write("hello servlet!!!");
}
}
ServletResponse 可以实现简单的输出一句话到浏览器。2.实现servlet的配值
首先资源文件一定是 class文件,我们先编译cmd ,进入java文件目录,使用javac 编译,但是现在servlet属于j2ee的技术,编译前需要配值下j2ee的jar包,这个包在tomcat中有,servlet_api,jar
javac -d . FirstServlet.java
-d . 是带包编译的意思
这里就完成了生成资源文件的工作,剩下的就是放到tomcat下
我们的项目放在webapps下
写过java项目都知道它具有一定的格式,我们可以copy下其他项目下的文件夹
建好类似的空文件夹把刚才的文件放入classes文件夹中,
下面剩下的就是配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-name>FirstServlet</servlet-name>
<servlet-class>cn.bipt.FirstServlet</servlet-class>
</servlet>
//这里配值servlet类文件的实际路径
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/servlet/FirstServlet</url-pattern>
</servlet-mapping>
//这里是映射路径,虚拟路径,浏览器要访问的路径
</web-app>
**
- 完成后启动startup.bat,启动tomcat,完成资源文件的加载,这时我们就能通过浏览器访问了。
http://localhost/Webs/servlet/FirstServlet
localhost是资源ip地址,这里是本机,Webs项目名,后面是映射地址,端口号在conf中默认配值为80所以省略。
现在我们来追踪下 http://localhost/Webs/servlet/FirstServlet
首先IE访问windows内的host文件,查询主机名对应的ip,当host查不到是访问dns服务器,现在由于在本机测试,在host中可以查到,tomcat的端口在conf中的servlet中可以配值,ie浏览器连接上tomcat,tomcat根据地址中的资源名,找到资源文件news,然后加载web.xml文件,通过虚拟地址servlet-mapping,与实际地址的资源对应访问实际资源cn.bipt.FirstServlet,而实际资源文件FirstServlet,通过servlet实现对浏览器的输出。tomcat将资源回送给ie.
ie完成对资源的输出。
**