Servlet
ServleContext
ServletContext servletContext = this.getServletContext();
servletContext.setAttribute("username", "zhangSan");
ServletContext servletContext = this.getServletContext();
String username = (String) servletContext.getAttribute("username");
System.out.println(username);
servletContext.getRequestDispatcher("/Servlet2").forward(request, response);
InputStream is = servletContext.getResourceAsStream("druid.properties");
Properties properties = new Properties();
properties.load(is);
String username = properties.getProperty("password");
response.getWriter().write(username);
HttpServletResponse
response.setContentType("text/html;charset=utf-8");
//写到页面上
response.getWriter().write("嘤嘤嘤");
/*
1,要获取下载文件的路径
2,下载的文件名是啥
3,设置想办法让浏览器能够支持下载我们需要的东西
4,获取下载文件的输入流
5,创建缓冲区
6,获取OutputStream对象
7,将FileOutputStream流写入到buffer缓冲区
8,使用OutputStream将缓冲区的数据输出到客户端
*/
String realPath = this.getServletContext().getRealPath("/1.png");
String fileName = realPath.substring(realPath.lastIndexOf("\\") + 1);
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
FileInputStream in = new FileInputStream(realPath);
int len = 0;
byte[] buffer = new byte[1024];
ServletOutputStream out = response.getOutputStream();
while ((in.read(buffer) > 0)) {
out.write(buffer, 0, len);
}
in.close();
out.close();
response.sendRedirect("/IDEA_war_exploded/demo2");
HttpServletRequest
String username = request.getParameter("username");
String[] hobbys = request.getParameterValues("hobbys");//多选框
request.getRequestDispatcher("/demo2").forward(request,response);
String contextPath = request.getContextPath();
System.out.println(contextPath);
Cookie,Session
Cookie
- 从请求中拿到Cookie
- 服务器响应给客户端Cookie
Cookie[] cookies = request.getCookies();
cookie.getName();
ccokie.getValue();
new Cookie("lastLoginTime", System.currentTimeMillis() + "");
cookie.setMaxAge(24 * 60 * 60);//有效期
response.addCookie(cookie);//响应给客户端一个cookie
Session(重点)
//得到Session
HttpSession session = request.getSession();
//给Session中存东西,Person类
session.setAttribute("person", new Person("song",123));
//获取ID
String id = session.getId();
//另一个Servlet中
HttpSession session = request.getSession();
Person name = ( Person) session.getAttribute("person");//取东西
response.getWriter().write(String.valueOf(name));
session.removeAttribute("person");
session.invalidate();//移除Session
JSP
基础语法
<%--jsp表达式 <%= 变量或者表达式%> --%>
<%= new java.util.Date()%>
<%--jsp脚本片段--%>
<%
String name = "YYY";
out.write(name);
out.println("<h1>Name=" + name + "<h1>");
%>
九大内置对象
- PageContext 存东西
- Request Response
- Session
- Application 【ServletContext】 存东西
- config 【ServletConfig】
- out
- page 不用了解
- exception
JSP标签,JSTL标签,EL表达式
EL表达式:${ }
JSP标签
<jsp:forward page="index.jsp">
<jsp:param name="name" value="zhangsan"/>
<jsp:param name="age" value="12"/>
</jsp:forward>
JSTL表达式
核心标签
JSTL标签库使用步骤
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>