- ##### http协议
- ##### 创建一个sevlet程序-
http协议
==HttpServlet 类==
注解://在HttpServlet子类的上面写注解
@WebServlet("/")
@MultipartConfig
//如果该Servlet想接受Tomcat服务器传来的文件,必须添加该注解
方法:
- doGet()
```
protected void doGet(HttpServletRequest request, HttpServletResponse response){
//参数1:请求对象,(就是Tomcat服务器把Http请求协议按照面向对象的思想的封装)
//参数2:响应对象,用于给浏览器返回数据的对象
}
```
- doPost()
```
protected void doPost(HttpServletRequest request, HttpServletResponse response){
//和doGet用法一样,只是请求类型不同
doGet(request, response);
}
```
==HttpServletReques==
【请求对象】 //处理浏览器发送来的数据
.getParameter(String 输入框name)
- //获取网页指定输入框里填写的内容
- //返回:String
.getParameterValues(String 多选框name)
- //获取网页指定多选框里填写的内容
- //返回:String[]
.getPart(String name)
- //参数:该方法一般用于获取上传文件的文件名,所以参数一般填写提交文件框的name
- //返回:Part对象
.getSrevletContext()
- //获取当前的Srevlet对象
Part 类
- //表示内容的一部分
- .getHeader(String 键名)
- //Part类里存的是键值对信息,根据键名来取出值
- //返回:String
.write(String 目录)
- //将part下的文件保存到指定目录下
- //底层也是通过IO流操作的
Srevlet 类
- .getRealPath(String)
- //获取Srevlet的绝对路径
- //参数:一般写 “”
- //返回:String 目录
- .getRealPath(String)
HttpServletResponse
【响应对象】
//将服务器的响应告诉浏览器
- .getWriter()
- //获取字符输出流
- //返回:PrintWriter 打印流
- //一般使用链式编程:.getWriter().writer();
.getContextPath()
.setContentType(“text/html;charset=UTF-8”)
//告诉浏览器,返回数据的编码
.setCharacterEncoding(“text/html;charset=UTF-8”)
注意:
- ==同样一个tomcat不能启用多次==
- ==上传文件==
- 从request中获取请求参数
- 从request获取文件名和文件
- 然后把文件保存到tomcat/myweb的根目录下