浅谈JavaWeb-Servlet
Servlet
Servlet是一种动态开发web的一种技术
1,把实现Servlet接口的java程序叫做Servlet
Servlet是用java语言编写的一个小程序,这个小程序运行在服务器端
2,编写一个Servlet程序,实现Servlet接口,我们直接可以继承HTTPServlet
public class MyServelt extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter writer=resp.getWriter(); //响应流
writer.println("你好");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
}
HttpServlet原理
最开始定义了一个
Servlet接口 定义了一个 void service(ServletRequest var1, ServletResponse var2)
GenericServlet实现了Servlet接口,但是并没有具体实现service方法,
public abstract void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
HttpServlet 继承了 抽象GenericServlet 类,根据不同Get/Post等选择不同的doGet()方法,或
doPost()方法
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getMethod();
long lastModified;
if (method.equals("GET")) {
lastModified = this.getLastModified(req);
if (lastModified == -1L) {
this.doGet(req, resp);
} else {
3,修改web.xml文件
为什么需要映射,我们写的是java程序,要通过浏览器访问,所以浏览器要连接web服务器,我们需要到web服务器中注册我们写的Servlet,并指出浏览器能够访问的路径
<?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">
<!--注册Servlet-->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.MyServelt</servlet-class>
</servlet>
<!--Servlet请求路径-->
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/huanghongtao</url-pattern>
</servlet-mapping>