Servlet

拈花ヽ惹草 提交于 2020-03-01 12:31:22

Servlet 概述

servlet是使用java语言编写的运行在服务器端的程序。servlet主要用来处理客户端传来的Http请求,并返回一个响应。它能够处理的请求有doGet()和doPost()等方法。

web.xml

元素用于注册Servlet,它的两个子元素,分别用来指定Servlet名称以及完整类名。元素用来映射servlet对外访问的虚拟路径,它的子元素的值必须和元素中相同,子元素则是用于指定访问该servlet的虚拟路径,该路径以 “/” 开头,代表当前web应用程序的根目录。

servlet 生命周期

图1 servlet 的生命周期图

servlet request 常用方法

request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)"
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名"
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST

request.getParameter(): 是常见的方法,用于获取单值的参数
request.getParameterValues(): 用于获取具有多值的参数,比如注册时候提交的 “hobits”,可以是多选的。
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。

servlet response 常用方法

下载图片功能

1.配置url映射

DownLoad
net.zixue.servlet.DownLoad

</servlet>

<servlet-mapping>
    <servlet-name>DownLoad</servlet-name>
    <url-pattern>/download</url-pattern>
</servlet-mapping>

2.创建servlet

`String filename = req.getParameter("filename");
System.out.println(filename);
String realPath = this.getServletContext().getRealPath("DownLoad/"+filename);
InputStream in = new FileInputStream(realPath);
ServletOutputStream outputStream = resp.getOutputStream();//输出二进制文件`
 //文件拷贝
    int len=0;
    byte[] buffer = new byte[1024];
    while((len=in.read(buffer))>0){
        outputStream.write(buffer,0,len);
    }
   '''

结论

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!