java web 之servlet

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42681787/article/details/102263360

1.servlet概述:

 Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

    Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

 2.servlet实现步骤:

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

/**
 * (一 )实现Servlet的步骤:
 *(1)创建类实现Servlet接口
 *(2)覆盖尚未实现的方法---service方法
 *(3)在web.xml进行servlet的配置
 *但在实际开发中,通常采用以下实现步骤:
 *(1)创建类继承HttpServlet类
 *(2)覆盖doGet和doPost
 *(3)在web.xml中进行servlet的配置
 *(二)servletContext
 *1.ServletContext代表是一个web应用的环境(上下文)对象,
 *ServletContext对象内部封装是该web应用的信息,ServletContext对象一个web应用只有一个
 *2.获得ServletContext的对象:ServletContext servletContext=this.getServletContext()
 *3.ServetContext的作用
 *(1):获得Web.xml中的配置信息
 *ServletContext context=this.getServletContet()
 *String initParatmeter=context.getInitParameter("driver")
 *(2)获得web中的任何资源的绝对路径:
 *String path=context.getRealPath(String FilePath)
 *(3)ServletContext是一个域对象
 *ServletContext域对象的作用范围:整个web应(所有的web资源都可以随意向
 *servletcontext域中存取数据,数据可以共享)
 *域对象的通用的方法:
 *setAtrribute(String name,Object obj);
 *getAttribute(String name);
 *removeAttribute(String name);
 *(三)HttpServletResponse
 *1.设置响应行:
 *设置响应行的状态码:response.setStatus(int sc)
 *2.设置响应头:
 *response.addHeader(String name, String value) 
 *response.addIntHeader(String name, int value) 
 *response.addDateHeader(String name, long date)
 *response.setHeader(String name, String value) 
 *response.setDateHeader(String name, long date) 
 *response.setIntHeader(String name, int value)
 *3.设置响应体;
 *1.PrintWriter getWriter()
 *获得字符流,通过字符流的write(String s)方法
 *可以将字符串设置到response	缓冲区中,随后Tomcat
 *会将response缓冲区中的内容组装成Http响应返回给浏器端
 *response.getWriter().write(String context)
 *解决客户端页面输出中文乱码问题:
 *response.setContextType("text/html;chaeset=UTF-8")
 *2.ServletOutputStream  getOutputStream()
 *获得字节流,通过该字节流的write(byte[] bytes)可以向
 *response缓冲区中写入字节,在由Tomcat服务器将字节内容
 *组成Http响应返回给浏览器。
 */
@WebServlet("/Logging")
public class ServletLearn extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletLearn() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String string=request.getParameter("password");
		response.setContentType("text/html;charset=utf-8");
		if(string.equals("123")) {
			response.getWriter().write("登录成功!");
		}else {
			response.getWriter().write("登录失败!");
		};
		
		
		
	}
	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

猜你喜欢

转载自blog.csdn.net/qq_42681787/article/details/102263360