一、Servlet简介
Java Servlet是运行在web服务器上的程序,他是作为来自web浏览器或者其他HTTP客户端的请求和HTTP服务器上的应用程序 之间的中间层。 使用Servlet可以收集网页表单提交的数据,或者创建动态页面。
Servlet发送显式、隐式的数据给客户端,并读取客户端(浏览器)的显式、隐式数据。
二、Servlet环境设置:设置web服务器--->tomcat(掌握tomcat的安装,classpath的配置,以及端口号被占用问题)
三、Servlet生命周期
init():servlet调用init()方法初始化;---->只调用一次
service():servlet调用service()
destory():销毁---->只被调用一次
servlet部署: web.xml发布;
四、Servlet表单数据
浏览器使用两种方法将信息传递给web服务器,为GET和POST
区别:1、如若传递长的字符串且比较敏感,用POST,安全;
2、GET传递的长度有限制,最大不超多1024个字符。
- getParameter():您可以调用 request.getParameter() 方法来获取表单参数的值。
- getParameterValues():如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。
- getParameterNames():如果您想要得到当前请求中的所有参数的完整列表,则调用该方法。
- response.setContentType("text/html"):设置响应内容类型
- 解决乱码:encoding
五、Servlet cookies处理
//cookie的操作
//写cookie
Cookie cookie=new Cookie("name","westos");
//过期时间
cookie.setMaxAge(10000);
//只允许服务端读取
cookie.setHttpOnly(true);
response.addCookie(cookie);
//读取cookie
Cookie[] cookies = request.getCookies();
for(Cookie ck:cookies){
System.out.println(ck.getName()+"="+ck.getValue());
}
六、Servlet Session存储
//把验证码存放到session对象中
HttpSession session = request.getSession();
session.removeAttribute("code");
session.setAttribute("code", code.toLowerCase());
System.out.println(session.getAttribute("code"));
七、Servlet计数器
//获取Servletcontext
ServletContext ctx=getServletContext();
ctx=request.getServletContext();
ctx.setAttribute("ctxname","westos");
//获取计数器
Integer counter=(Integer) ctx.getAttribute("counter");
if(counter==null){
counter=1;
}else{
counter=counter+1;
}
ctx.setAttribute("counter",counter);
response.getWriter().println("<h1>您是第"+counter+"位访问本站的用户</h1>");
response.getWriter().println("<h1>您的IP地址为:"+request.getRemoteAddr()+"</h1>");