service

  • 不常用,略

声明

重写service方法

1
2
3
4
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException){

}

doGet

GET请求

访问一个链接时,如果没有指定访问方法,则默认GET,用于向服务器发送少量参数,进行查询,参数写在访问链接里

格式

链接?参数1=值1&参数2=值2&…&参数N=值N

功能

用于处理浏览器发来的GET请求(访问链接时如果未指定请求方式,默认均为GET)

声明

1
2
3
4
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response){

}

doPost

POST请求

向服务器发送较大的数据量,指定请求方式为POST,参数写在POST请求头中,访问链接不可见参数

格式

一般为表单时,提交按钮设置commit事件

功能

用于处理服务器发来的Post请求

声明

1
2
3
4
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response){

}

HttpServletRequest

获取请求信息,如请求头,请求方式,参数等

常用方法 说明 返回类型
setCharacterEncoding(“UTF-8”) 设置请求信息的字符集
getParameter(“参数名”) 获取参数值 String
getAttribute(“属性名”) 获取属性值 Object
setAttribute(“属性”,值) 在req中添加属性=值
getRequestDispatcher(其他servlet路径).forward(request,response) 转发,将请求交给其他servlet处理

parameter和attribute的区别

  1. parameter只能获取,不能设置,是由表单提交或者连接参数得到的,返回的是字符串
  2. attribute可自己设置和获取,可添加任意类型的值,返回Object类型数据,需强制转换

HttpServletResponse

设置返回信息,向浏览器发送数据/文件/图片,如状态码,页面跳转等

常用方法 说明 返回类型
sendRedict(页面) 重定向,相当于超链接

转发与重定向

转发

用于在不同的servlet之间传递数据,以完成不同的工作,在转发前可使用setAttribute添加属性

重定向

即超链接,参数通过链接地址传递,POST的信息将会丢失

区别

重定向|转发
|-|-|
语法|request.sendRedirect(网址)|response.getRequestDispatcher(其他servlet路径).forward(request,response)
速度|慢|快
参数|通过链接传递,request信息将被丢失|通过attribute设置后,连同当前的request信息一并传递

配置文件

1
2
3
4
5
6
7
8
9
<servlet>
<servlet-name>配置名<servlet-name>
<servlet-class>Servlet类路径</servlet-class>
<servlet>
<servlet-mapping>
<servlet-name>上面的配置名</servlet-name>
<url-pattern>该servlet的访问链接</url-pattern>
<!--可有多个访问链接,指向同一个jsp文件-->
<servlet-mapping>