目录
开发servlet的三种方法
①实现servlet接口的方式
②使用GenericServlet开发servlet
③使用继承 HttpServlet 的方法来开发Serlvet
小结 get 提交 和 post的提交的区别
补充
需求如下: 请使用实现 接口的方式,来开发一个Servlet ,要求该Servlet 可以显示Hello,world,同时显示当前时间.
步骤
4. 开发MyServlet.java
package com.hsp;
import javax.servlet.*;
import javax.servlet.http.*; 为了能将servlet-api.jar包引入,需要配置环境变量
变量值; E:\tomcat\apache-tomcat-6.0.20\lib\servlet-api.jar 记得带上文件名
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(){
}
}
5. 根据Servlet规范,我们还需要部署Servlet
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_2_5.xsd" version="2.5"> <servlet-name>MyFirstServlet③ <servlet-class>com.hsp.MyFirstServlet 注意:后面不要带.java④ <servlet-mapping> <servlet-name>MyFirstServlet② <url-pattern>/ABC①
服务器调用流程:http://localhost:8088/ABC--->①--->②--->③--->④
6. 在浏览器中测试
在浏览器中输入
http://localhost:8088/hspweb1/ABC
7. 分析一下自己写可能出现的错误
1)
2)
3)资源名自己写错http://localhost:8088/hspweb1/错误的资源url-pattern(404 错误)
了解即可:
案例 :
package com.hsp;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class MyGenericServlet extends GenericServlet
{
public void service(ServletRequest req,
ServletResponse res)
throws ServletException,
java.io.IOException{
res.getWriter().println("hello,world,i am geneirc servlet");
}
}
将该Servlet部署到web.xml文件中:
代码:
package com.hsp;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class MyHttpServlet extends HttpServlet
{
//在HttpServlet 中,设计者对post 提交和 get提交分别处理
//回忆
,默认是get
protected void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException,
java.io.IOException{
resp.getWriter().println("i am httpServet doGet()");
}
protected void doPost(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException,
java.io.IOException{
resp.getWriter().println("i am httpServet doPost() post name="+req.getParameter("username"));
}
}
还有一个login.html