使用http开头,包含 端口号 IP地址,访问路径 可以跨服务器访问
2.根路径的访问 /开始 紧跟项目名称+访问地址 / 代表的是当前的服务器(只能访问本地服务器)
3.相对路径1, ./ 代表同级 ../ 代表上一级 只能访问本地服务器的项目,需要去掉base头
4.相对路径2, 用base的形式只能访问当前项目,同一服务器下的其他项目也不行
转发和重定项的区别 ResourceDispatcher \ Redirect
转发:request.ResourceDispatcher("地址").forward(request,response);
转发:路径是转发之前的路径 (没有新的页面请求,服务器内部的转发)
重定项:不共享数据(用不同的请求,请求和请求之间是无记忆的)
转发:1.没有产生新的请求,是用同一个请求,直接在服务器内部
2.因为没有新的请求,所以数据可以共享,因为用的同一个request
3.因为没有新的请求,所以浏览器没有新的地址,使用之前的地址
2:因为有了新的请求,请求和请求之间是无记忆的,数据无法共享
转发:/ 在转发当中代表的是当前项目的名称,只有url-pattern和 /代表的是当前项目
3.是否涉及表单数据的重复提交,不需要重复提交,必须用重定项
WEB-INF 下面的文件是不可以直接访问的,这样是为了提高代码的安全性,如果要访问可以用转发的形式来访问
1.通过 动作标签,进行动态引入,<jsp:forward page = ''WEB-INF/time.jsp'></jsp:forward>
2.通过内部转发的形式 request.getRequestDispatcher("转发的地址").forward(req,resp);
1.请求头的信息,String next = reg.getHeaderNames(); 得到请求头的名字
reg.getHeader(next); 通过传入头的名字,拿到请求头对应名字的内容
1.scheme 是协议 2.serverName() 是服务器IP地址
3.servletPath() 是servlet的路径 4. ContextPath 是上下文路径也是 服务器路径
5.URL得到的是全路径,绝对路径 6.URI得到的是 根路径
7. getMethod() 得到使用的是post还是get传输
8.getQueryString() 得到 URL地址中 ? 后面的内容
String [] values = req.getParameterValues("hobby");
req.getRemoteAddr()+req.getRemoteHost()+req.getRemotePort(); 获得远程信息
req.getlocalAddr()+ req.getLocalName()+req.getLocalPort(); 获得贝蒂服务器的信息
HttpSession session = req.getSession();
ServletContext servletContext = req.getServletContext();
Cookie [] cookies = req.getCookies();
req.setAttribute("name","zs");
req.setCharacterEncoding("UTF-8");
//req.getRequestDispatcher("").forward(req, resp);
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");