一、servlet使用步骤
第1步:实现javax.servlet.Servlet接口
第2步:在service中编写服务代码(处请求,发送响应)
第3步:servlet配置(登记服务员的信息,jsp服务员不需要登记)
在web.xml文件中配置
MyServlet01
com.cc.servlet.MyServlet01
MyServlet01
/MyServlet01
第4步:通过浏览器访问servlet
http://localhost:8080/nd_jsp09/MyServlet01
二、 servlet生命周期
1.servlet的创建(出生) 构造方法 :客户端第1次访问该serlvet的时候 出生一次(调用一次)
2.servlet的初始化(培训) init() :客户端第1次访问该serlvet的时候 培训一次(调用一次)
3.servlet的服务(接待客户) service()方法 :每次请求(请求一次,这个方法就调用一次)
4.serlvet的销毁(死亡) destroy() :web项目移除或重新部署、服务器关闭
三、servlet处理登录
ToLoginServlet :发表的人
DoLoginServlet :办业务员的人
LoginOkServlet :发结果的人
四、servlet的配置和context的配置
【4.1 servlet的配置-----你身上 的信息 —名字 身高】
【 4.1.1 servlet的配置】
第1步:在web.xml中找到需要配置的servlet
MyServlet02
com.cc.servlet.MyServlet02
encode
utf-8
第2步:在MyServlet01中取获取配置 servletConfig对象,并根据键获取值
@Override
public void init(ServletConfig config) throws ServletException {
String age = config.getInitParameter(“age”);
String encode = config.getInitParameter(“encode”);
System.out.println(“MyServlet02初始化完成,获取配置信息 age:”+age+"\tencode:"+encode);
}
总结:age没有获取到值,encode获取到了值。每个servlet只能获取自己的配置
4.1.2. servlet的配置有什么用
比如:设置编码
1.在servlet中定义一个属性
ServletConfig config;
2.在init()方法中,将该方法的参数赋值给属性config
this.config = config;
3.在service 方法中就可以通过
//1.设置编码
String encode = config.getInitParameter(“encode”)
req.setCharacterEncoding(encode);
【4.2 context的配置-----教室的配置】 context:上下文 (环境)
上面设置编码确实是很方便,可以通过修改web.xml就可以改变编码,但是其他
Servlet的编码,不能使用该Servlet的配置,必须也要在其他的Servlet也要配置
编码,有没有一种全局的配置。
第1步:在web.xml中配置context-param
encoding
utf-8
第2步:在servlet中获取context上下文的配置
request.getServletContext().getInitParameter(“encoding”);
五、在servlet不能直接使用session ,out (jsp中可以直接使用)
得到out对象
PrintWriter out = response.getWriter();
out.close();
out=null;
得到session对象
Session session = request.getSession();//可以带参数
六、常见错误
1.servlet配置url 与浏览器的url不匹配出现 404
解决:修改并核对web.xml中该servlet的配置
2.删除了servlet的类,必须要删除web.xml该servlet的配置
解决:否则服务器启动报错
3.项目不要改名字!!!!