servlet应用及知识点总结
1. servlet的web.xml中的配置
------------------------------------------------------------------
1. response.setContentType("text/html;charset=utf-8");
2. PrintWriter out = response.getWriter();
3. request.setCharaterEncoding("UTF-8");
4. 接收用户提交的数据
request.getParameter("表单控件名");
request.getParameterValues("表单控件名");
request.getParameterMap();//得到所有表单提交的值的键值对
5. 页面跳转
response.sendRedirect("要跳转的页面");
response.setHeader("refresh", "0;url=login.do");
6.服务器记录与客户端之间的会话HttpSession
HttpSession session = request.getSession();
HttpSession session = request.getSession(false);
session.setAttribute("键","值");//加入
session.getAttribute("键");//获取
session.removeAttribute("键");//移除
session.invalidate();//清空session中的内容
session.setMaxInactiveInterval(300);//设置有效期 -1,0
------------------------------------------------------------------
1. url重写(get传值)
http://www.163.com/index.do?id=1&name=zhangsan
2.隐藏表单域传值:
数据量比较多,又影响页面美观的情况下传值
3. 权限的实现:通过在session中存放一个关键值
然后判读用户是否有相应的权限
//获取会员卡
HttpSession session = request.getSession();
//判断会员卡中是否有信息,如果没有,说明非正常渠道进入该页面
Object obj = session.getAttribute("u");
if(obj == null){
out.println("<script>alert(‘你没登录,请登录后再来!‘)</script>");
response.setHeader("refresh", "0;url=login.do");
return;
}
------------------------------------------------------------------
web.xml中的配置:
<welcome-file-list> 配置默认首页
session有效期的配置
<session-config>
<session-timeout>300</session-timeout>
</session-config>
servlet全局参数的配置
<context-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</context-param>
servlet代码中使用
this.getServletContext().getInitParameter("encoding");进行读取
serlvet一般情况是有用户第 一次访问的时候才初始化,
如果需要应用程序一启动就初始化,需要配置load-on-startup
<servlet>
<servlet-name>CheckServlet</servlet-name>
<servlet-class>com.starlion.servlet.CheckServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
servletContext:为所有servlet,所有用户服务的,
所有servlet,所有用户都可以在其中存值,取值,删值
servletContext.setAttribute("键","值");
servletContext.getAttribute("键");
servletContext.removeAttribute("键");