servlet基本使用

实现Servlet(接口)

继承HttpServlet(类)

 

提供访问路径【web.xml需要重启服务器,修改了web.xml

servlet映射中的<url-pattern>login.do</url-pattern>如果没有/则无效,必须带上一根/

 

Servlet 生命周期

init() 方法

当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。

public void init() throws ServletException {

  // 初始化代码...

}

service() 方法

public void service(ServletRequest request, 

                    ServletResponse response) 

      throws ServletException, IOException{

}

doGet() 方法

GET 请求来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单,它由 doGet() 方法处理。

public void doGet(HttpServletRequest request,

                  HttpServletResponse response)

    throws ServletException, IOException {

    // Servlet 代码

}

doPost() 方法

POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。

public void doPost(HttpServletRequest request,

                   HttpServletResponse response)

    throws ServletException, IOException {

    // Servlet 代码

}

destroy() 方法

destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:

  public void destroy() {

    // 终止化代码...

  }

实现接口代码 

package com.zking.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class LoginServlet implements Servlet{

	

	@Override
	public ServletConfig getServletConfig() {
		//得到配置
		return null;
	}

	@Override
	public String getServletInfo() {
		//得到信息
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		//初始化   这个servlet被人访问
		System.out.println("初始化");
	}

	@Override
	public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
		//服务  访问的时候它来提供信息
		
		//request:请求【获取用户带过来的数据】
		//response:响应【给用户输出信息】
		req.setCharacterEncoding("utf-8");
		//获取信息
		String uname = req.getParameter("uname");
		String upwd = req.getParameter("upwd");
		//获得输出对象
		resp.setCharacterEncoding("gb2312");
		PrintWriter out = resp.getWriter();
		//逻辑判断
		if("admin".equals(uname)&&"123".equals(upwd)) {
			//显示在页面中【登录成功】
			out.print("登录成功");
		}else {
			//显示在页面中 【登录失败】
			out.print("登录失败");
		}
		
	}

	@Override
	public void destroy() {
		//销毁
		//	1.更新了servlet代码
		//	2.服务器关闭
		System.out.println("销毁");
	}
}

 继承代码

package com.zking.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/two.do")
public class LoginTwoServlet extends HttpServlet{

	//提供方法给人访问才行
	
	//servlet
	//提供个体访问
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
		System.out.println("哈哈");
	}
	//提供post访问
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//拿数据
		String uname = req.getParameter("uname");
		String upwd = req.getParameter("upwd");
		//获得输出对象
		resp.setCharacterEncoding("gb2312");
		PrintWriter out = resp.getWriter();
		//逻辑判断
		if("admin".equals(uname)&&"123".equals(upwd)) {
			//显示在页面中【登录成功】
			out.print("登录成功");
		}else {
			//显示在页面中 【登录失败】
			out.print("登录失败");
		}
		//session
		//req.getSession().setAttribute("", );
		//application
		//req.getServletContext().setAttribute("", );
		//Context	上下文【容器】
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值