java web 核心(上)

2020-08-09  本文已影响0人  极速魔法

http协议

应用层协议

http请求格式

请求行 【请求类型(post,get) 请求路径 协议版本】
请求头 key: value

空白行
请求体

http响应格式

响应行 【协议版本 状态码 状态信息(200 ok)】
响应头 key: value

空白行
响应体

Servlet

运行在服务器上的类,完成请求的响应处理

Servlet生命周期

GET POST

ServletResponse

response.setContentType(“text/html;charset=utf-8”)
HttpServlet类

PrinterWriter writer=response.getWriter() //

post请求接收乱码

request.setCharacterEncoding(‘utf-8’)

ServletContext

多个Servlet信息共享

ServletContext context=getServletConfig().getServletContext();
// 获取 /工程名
context.getContextPath

重定向 302

response.sendRedirect(String location);

转发

一个组件将未完成的请求转交给其他组件

RequestDispatcher requestDispatcher = request.getDispatcher("/targetServlet") //传入转发路径

requestDispatcher.forwared(request,response) // 实现转发

Cookie

cookie在服务端创建,服务端通过响应发送给浏览器 Set-Cookie:xxx,浏览器端保存.后面浏览器带着Cookie请求服务端。

Cookie cookie = new Cookie("name","value");
response.addCookie(cookie);

Cookie[] cookies = request.getCookies();
cookie.getName()
cookie.getValue()

cookie默认保存在内存中

cookie.getMaxAge() // 获取cookie有效期
cookie.setMaxAge(3600) // 有效期3600s

cookie路径

cookie路径匹配,才会带入请求头中

cookie.setPath()

cookie缺点

session

// session不存在则创建
HttpSession session=request.getSession();
// 判断是否是新创建的
session.isNew()
session.setAttribute(key,value);
session.removeAttribute(key)

默认失效时间30min
特点

JSP(java server pages)

指令

<% @=指令  属性=属性值%>
<% @page  contentType="text/html;charset=UTF-8" language="java"%>

<%@include  file=""%> //静态包含

动作

<jsp:include page="" />
//转发
<jsp:forward page="" ></jsp:forward>

内置对象

String name=request.getServerName();
// 存储值,在同一个请求中
request.setAttribute("name","value");
String request.getParameter("name") //返回值是String
Objcet request.getAttribute("name"); //返回值是Object类型

responsen内置对象

// 每隔1秒刷新
response.addHeader("refresh","1")

session内置对象

一次会话包含多次请求,保存到服务器

application 内置对象

web全局变量,存储范围 application > session > request>pageContext(当前页面有效,转发无效)

exception内置对象

// 普通页面声明 error处理或者在配置文件中
<% @page errorPage="error.jsp" %>

web.xml

<error-page> 
    <exception-type>java.lang.Throwable</exception-type>            <location>/error.jsp</location> 
</error-page>
error.jsp
<% @page contentType="text/html;charset=UTF-8" language="java" %>
<% @page iserrorPage="true" %>
...
exception.getMessage();

javaBean

session.removeAttribute(“”) // 删除对象

MVC

model,view,controller 分离,提高可维护性

in 在statement中如何传值

上一篇 下一篇

猜你喜欢

热点阅读