Servlet 概述
servlet是使用java语言编写的运行在服务器端的程序。servlet主要用来处理客户端传来的Http请求,并返回一个响应。它能够处理的请求有doGet()和doPost()等方法。
web.xml
元素用于注册Servlet,它的两个子元素,分别用来指定Servlet名称以及完整类名。元素用来映射servlet对外访问的虚拟路径,它的子元素的值必须和元素中相同,子元素则是用于指定访问该servlet的虚拟路径,该路径以 “/” 开头,代表当前web应用程序的根目录。
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);
}
'''
结论
来源:CSDN
作者:qq_32146071
链接:https://blog.csdn.net/qq_32146071/article/details/104585152