一、什么是Servlet
Servlet可以理解成是 Service+ Applet (服务器+小程序)
Servler是javaee
Servlet是Java服务器端小程序,用java编写的服务器端程序,接受用户的请求并做出响应。
Servlet是一个接口,开发servlet有三个方法,一种是实现Servlet接口、一种是继承GernericServlet 还有一种是继承HttpServlet。
Servlet、GernericServlet、HttpServlet的联系:
1、GenericServlet类是所有Servlet类的祖先类。
2、HttpServlet类继承了GenericServlet类。
3、Servlet有两个非常重要的的对象,可以说是java web核心对象httpservletrequest和httpservletreponse。
和学习其他的新内容一样首先先写一个hello world!(我使用的是MyEclipseE,刚学习Servlet的读者方便起见可以用和我一样的IDE)
首先启动MyEclipse,建立一个web工程
1、起一个web工程名
2、选择J2EE1.4版本(相比高版本,高版本都了一个EJB ,学习前期不用,所以不需要选择高版本)
要记住web工程的目录结构
Web工程名
--src(java源文件)
--WebRoot(web应用程序)
--页面文件(html、jsp...)
--WEB-INF
--lib(jar包放到这,比如ojdbc6.jar)
--classes(java字节码文件)
--web.xml(web部署描述符文件 用来配置web应用程序的信息)
创建好工程以后,我们就可以编写我们的第一个servlet程序了
写一个servlet需要三部:
第一步:
先导包:
我们要导入的包有三个:
1、io包
2、servlet包
3、servlet包下的http包
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
第二步
继续HttpServlet抽象类,
重写doGet()和doPost();
示例代码:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestCSDN extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter pw = resp.getWriter();
pw.print("HelloCSDN");
pw.flush();
pw.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req,resp);
}
}
第三步:
web.xml文件配置servlet
在web-app标签内加入下面这段代码,
<servlet>
<servlet-name>CSDNservlet-name>
<servlet-class>com.TestCSDN.TestCSDNservlet-class>
servlet>
<servlet-mapping>
<servlet-name>CSDNservlet-name>
<url-pattern>/TCSDNurl-pattern>
servlet-mapping>
完后,我们来解析解析一下这段代码:
这个标签是我们注册servlet的名字,一般与servlet类名相关的;
这个标签是要注册的servlet 的类地址, 类全名,要带包路径;
servlet-mapping
中
servlet-mapping
这个标签是用来配置我们注册的组件的访问路径,里面包括两个节点
这个标签和
中的
是一致的
这个标签是浏览器来访问的时候的地址。
我们在后面学习了tomcat服务器后会通过服务器来访问这个servlet。