java web学习第四天:关闭占用端口进程,ServletContext,http协议,HttpServletRequest类
总结一下:今天事情有点多,看了很多视频确实有点累了先传一部分心得吧,准备进入到书城项目的第二阶段了
一、今天idea运行提示端口被占用学习了如何结束占用端口的进程
步骤
1.1:进入cmd管理员模式才够权限
1.2:得到占用端口号
netstat -ano |findstr (需要关闭的端口)
例:netstat -ano |findstr 8080
1.3:杀死进程
CMD>taskkill /F /PID 1234
学习:dir 当前下目录和linux的ls一样
三、ServletContext ServletContext是在web工程部署启动的时创建在停止时销毁
第一份代码
public class ContextServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取web.xml配置下的上下文参数context-param
//注意其context-param也只能有context获取,其context不能获取init-param的参数
ServletContext context=getServletConfig().getServletContext();
String username=context.getInitParameter("username");
System.out.println("context-param的参数的username的值是:"+"username");
System.out.println("context-param的参数的password的值是:"+context.getInitParameter("password"));
//获取当前工程路径,格式是:/工程路径
System.out.println("当前的工程路径:"+context.getContextPath());
//获取工程部署后在服务器硬盘上的绝对路径
//其中/在服务器被解析后地址为http://ip:port/工程名/
//其中/就是映射到IDEA的webapp这个目录中若要得到下面的目录或文件,加webapp下的路径即可例如/css
System.out.println("工程部署的服务器绝对路径:"+context.getRealPath("/"));
}
第二份代码
public class ContextServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取web.xml配置下的上下文参数context-param
//注意其context-param也只能有context获取,其context不能获取init-param的参数
ServletContext context=getServletConfig().getServletContext();
String username=context.getInitParameter("username");
System.out.println("context-param的参数的username的值是:"+"username");
System.out.println("context-param的参数的password的值是:"+context.getInitParameter("password"));
//获取当前工程路径,格式是:/工程路径
System.out.println("当前的工程路径:"+context.getContextPath());
//获取工程部署后在服务器硬盘上的绝对路径
//其中/在服务器被解析后地址为http://ip:port/工程名/
//其中/就是映射到IDEA的webapp这个目录中若要得到下面的目录或文件,加webapp下的路径即可例如/css
System.out.println("工程部署的服务器绝对路径:"+context.getRealPath("/"));
}
四、http协议
4.1:get请求(1 请求行,2请求头)
1 请求行
(1)请求的方式 GET
(2)请求资源的路径[+?+请求参数](中括号表示可选,例如:http://localhost:8080/demo/contextServlet1?1546这种)
(3)请求协议的版本号 http/1.1
2请求头
key:value 组成,不同的键值对表示不同的含义
'Accept:告诉服务器,客户端可以接收的数据类型
'Accept-Language:告诉服务器客户端可以接收的语言类型
zh_CN 中文中国
en_Us 英文美国
User-Agent:就是浏览器的信息
Accept-Encoding:告诉服务器,客户端可以接收的数据编码(压缩)格式Host:表示请求的服务器ip和端口号
Connection:告诉服务器请求连接如何处理
Keep-Alive告诉服务器回传数据不要马上关闭,保持一小段时间的连接Closed马上关闭
4.2:post请求(1、请求行,2、请求头,3、请求体 )
1、请求行
(1)请求的方式 POST
(2)请求的资源路径[+?+请求参数]
3)请求的协议的版本号 HTTP/1.1
2、请求头 key : value 不同的请求头,有不同的含义
Accept:表示客户端可以接收的数据类型
Accept-Language:表示客户端可以接收的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址(从哪来)User-Agent:表示浏览器的信息
Content-Type:表示发送的数据的类型
application/ x-www-form-urlencoded表示提交的数据格式是:name=value&name=value,然后对其进行url编码
multipart/form-data
表示以多段的形式提交数据给服务器(以流的形式提交,用于上传)
空行
3、请求体===>>>就是发送给服务器的数据
五、常用请求头的说明
Accept:表示客户端可以接收的数据类型
Accpet-Languege:表示客户端可以接收的语言类型
User-Agent:表示客户端浏览器的信息
Host:表示请求时的服务器ip和端口号
六、哪些是GET请求,哪些是POST请求
GET请求有哪些:
1、form标签method=get
2、a标签
3、link标签引入css4、Script标签引入js文件
5、img标签引入图片
6、iframe引入html页面
7、在浏览器地址栏中输入地址后敲回车
POST请求只有一种 form 标签 method=post
七、响应的HTTP协议格式
1、响应行
(1)响应的协议和版本号 HTTP/1.1
(2)响应状态码 200
(3)响应状态描述符 ok
2、响应头 (1) key : value不同的响应头,有其不同含义
Server:表示服务器的信息
Content-Type:表示响应体的数据类型
Content-Length:响应体的长度
Date:请求响应的时间
空行
3、响应体---->>>就是回传给客户端的数据
八、常用的响应码说明
200 表示请求成功
302 表示请求重定向
404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)
500 表示服务器已经收到请求,但是服务器内部错误
九、HttpServletRequest类
1、作用:每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。然后传递到service方法( doGet和doPost)中给我们使用。我们可以通过 HttpServletRequest对象,获取到所有请求的信息。
2、HttpServletRequest类的常用方法
getRequestURI() 获取请求的资源路径
getRequestURL() 获取请求的资源绝对路径
getRemoteHost() 获取客户端的ip地址
getHeader() 获取请求头
getParameter() 获取请求的参数
getParameterValues() 获取请求的参数(多个值的时候使用)
getMethod() 获取请求的方式GET 或POST
setAttribute(key , value); 设置域数据
getAttribute( key ); 获取域数据
getRequestDispatcher() 获取请求转发对象
更多推荐
所有评论(0)