Servlet介绍
- 为什么会出现Servlet技术
总而言之,采用java不能很好的完成动态网页的开发。 - Servlet简单介绍
翻译成“java服务器小程序” + 用java编写的服务器程序 + 由tomcat调用和执行的 + 按照Servlet规范来开发的 + 功能强大,几乎可以完成所有网站的功能 + 是JSP的基础 - 常用的IDE和数据库:Eclipse + oracle/MySQL/sqlServer
- Tomcat和Servlet在网络中的位置
其中web服务器只是tomcat的功能而已,还有其它功能如图所示:
Servlet快速入门案例
- 开发Servlet的三种方式
①:实现Servlet接口(对于了解Servlet底层很有用)
②:通过继承GenericServt(不是很重要)
③:通过集成HttpServlet(实际开发中用的最多) - 案例(不采用IDE,先使用手写的方式):采用实现接口的方式开发一个Servlet,该Servlet可以显示hello world,同时显示当前时间。
步骤如下:
①在tomcat的webapps中新建一个名为dengqiWeb1的web应用,并在其中新建classes文件(servlet目录要求在这里面)、web.xml(可从webapps/ROOT中拷贝相应的web.xml文件过来)和lib目录
②在classes目录下编写自己的一个Servlet,代码如下:
import java.io.*;
class MyFirstServlet implements Servlet{
//该函数用于初始化servlet,就是把该servlet装载到内存中
//该函数只会被调用一次
public void init(ServletConfig config)
throws ServletException{
}
//得到ServletConfig对象
public ServletConfig getServletConfig(){
return null;
}
//该函数是服务函数,我们的业务逻辑代码就是写在这里
//该函数每次都会被调用
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
java.io.IOException{
}
//该函数时得到servlet配置信息
public java.lang.String getServletInfo(){
return null;
}
//销毁该servlet,从内存中清除,该函数被调用一次
public void destroy(){
}
}
其中并没有引入相应的servlet jar包,可以在环境变量中指定:
其中变量值为:E:\tomcat\apache-tomcat-6.0.20\lib\servlet-api.jar (即自己的servlet路径)
③:根据servlet的规范,还需要部署该servlet。我们可以这样理解,将servlet部署到tomcat以后,tomcat就能根据请求找到相应的servlet了。
<!--根据serlvet规范,需要将Servlet部署到web.xml文件,该部署配置可以从examples下拷贝-->
<servlet>
<!--servlet-name给该Servlet取名, 该名字可以自己定义,一般使用该Servlet的名字-->
<servlet-name>MyFirstServlet</servlet-name>(3)
<!--servlet-class要指明该Servlet 放在哪个包下的,形式是 包.包.类-->
<servlet-class>com.hsp.MyFirstServlet</servlet-class> 注意:后面不要带.java(4)
</servlet>
<!--Servlet的映射-->
<servlet-mapping>
<!--这个Servlet-name要和上面的servlet-name名字一样-->
<servlet-name>MyFirstServlet</servlet-name>(2)
<!--url-pattern 这里就是将来访问该Servlet的URL资源名部分,默认名字还是使用该servlet名字-->
<url-pattern>/ABC</url-pattern>(1)
</servlet-mapping>
④:在浏览器中测试:http://localhost:8088/hspweb1/ABC,服务器调用流程:http://localhost:8088/ABC—>(1)—>(2)—>(3)—>(4)
Servlet配置常见错误分析
- web.xml的servlet配置中(2)和(3)的名字不一样会报错(启动tomcat就会出错)
- 的值不要加.java后缀(会报一个500错误)
- URL中的资源名(servlet)错误,即资源名和(1)中的资源名不一致(会报一个404错误)
知识补充:如何不重启tomcat,就指定去 reload 一个web应用,方法:
进入到 tomcat 的 manager:
点击reload即可.