javaee学习笔记2(servlet)

005.servlet

1.什么是servlet;
    广义上来说,Servlet是一组规范,包含了与服务端小程序相关的很多API;
    狭义上来说,servelt是运行在服务器端(tomcat)的小程序;它的作用是用来接受客户端的请求,并对客户端作出响应 ;通常是使用Http协议来进行通信;
2.如何开发一个servlet; 
定义一个类,来继承GenericServlet或HttpServlet; 重写doGet,或doPost方法;PS:service方法是将doGet和doPost合并
配置servlet的映射url(可以使用web.xml,也可以使用@WebServlet注解)

web.xml中的代码:

<servlet>
	  <servlet-name>bookServlet</servlet-name>
	  <servlet-class>com.oracle.servlet.BookServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  <servlet-name>bookServlet</servlet-name>
  <url-pattern>/book.do</url-pattern>
  </servlet-mapping>

创建一个实例,一个映射。

@WebServlet注解原理相同

web.xml的欢迎页目录(由上到下搜索):

PS:访问后需刷新一次

006.HttpServletRequest       007.httpServletReuqest常用方法

ServletRequest
    此接口封装了所有客户端的请求数据;这个对象由容器创建(tomcat),并将此对象以参数的形式传递给servlet的服务方法(service,doGet,doPost);如果我们使用的是Http协议,这时可以使用HttpServletReuqest接口;
HttpServletReuqest的常用方法
    getParameter():根据请求参数名称来获得请求值
    getParameterNames():获得所有请求名;
    getparameterMap():获得请求数据的映射;
    getParameterValues():获得多个请求值;
    getHeader():获得消息头;
    getHeaderNames():获得所有的消息头的名称;
    getIntHeader():获得消息头的修值,并转换成int类型;
    getMethod():获得请求方法的类型
    getProtocol():获得协议版本
    getRequestURI():获得uri;
    getRequestURL():获得完整的请求路径;
    getServeletPath():获得服务端的请求路径(不包含应用名)
    getContextPath():获得布署后的应用名;
    getQueryString():url中的查询字符串; 
    setCharacterEncoding("UTF-8");

PS:doGet方法中文乱码问题的解决办法:在get方法第一行设置,代码如下

//设置request请求的编码
		request.setCharacterEncoding("UTF-8");

008.httpServletResponse

ServletResponse
    响应;
    response是由容器创建,并以参数的形式传递给servlet 的service方法,response封装了很多向客户端返回响应的方法;
    主要的方法有:
    setContentType():设置向客户端返回的数据的类型;
        setContentType("text/html;charset=UTF-8");
    getWriter();获得字符流;
    getOutputStream();
    sendRedirect();重定向; 

009.servlet生命周期

猜你喜欢

转载自blog.csdn.net/Sunhongyu51/article/details/86288964