1.什么是Servlet?
Servlet是运行在Web服务器和应用服务器上的Java程序。它是一个中间层,负责连接来自Web浏览器或其他HTTP客户请求和HTTP服务器上的数据或应用程序。
2.Servlet和JSP的区别?
简单的说就是,Servlet是含有HTML的Java程序,JSP是含有Java代码的HTML页面。一般来来说,Servlet侧重于逻辑处理,JSP侧重于显示
3.Servlet的基本结构
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
4.Servlet的生命周期:
服务器只创建一个Servlet的单一实例,每一个请求都会引发新的线程,只有第一次访问Servlet才会实例化Servlet。其生命周期如下
突例化(new) --> 初始化(init) --> services(doGet,doPost....) --> 销毁(destory)
Servlet初始化有两种类型
1)常规初始化,只是创建或载入在Servlet生命周期内用到的一些数据或执行一次计算;
2)初始化参数控制的初始化,依懒web.xml中提供的初始化参数
5.Servlet获取表单数据:
单个值的获取:request.getParameters,如果参数存在但没有相应的值,返回空的String;如要参数不存在,则返回null;
多个值的获取:request.getParamenterValues,存在返回一个数组,不存在返回null;
参数名的查找:request.getParamenterNames和request.getParameterMap。
6.Cookie的管理:
Cookie发送的三个步骤:1)创建Cookie;2)设置最大时效 3)将Cookie放到HTTP响应头
Cookie的读取:1)request.getCookieS 2)循环Cookie数组
示例:
发送:
//新建
Cookie cookie=new Cookie("name1","value1");
//设置最大时效
cookie.setMaxAge(3600);
//添加到响应头
response.addCookie(cookie);
读取:
cookie[] cookies=request.getCookies();//获取
if(cookies!=null){
Cookie cookie;
//循环
for(int i=0;i<cookies.length;i++)
{
cookie=cookies[i];
cookie.getName();
cookie.getValue();
}
}
Cookie的特点:
1)服务器可以向客户端写内容;
2)只能是文本内容; 长度不能超过4K
3)客户端可以阻止服务器写入;
4)只能拿自己webapp写入的东西
5)Cookie分为两种
属于窗口/子窗口(放在内存中)
属于文本(有生命周期的)
6)一个servlet/jsp设置的cookies 能够被同一个路径下面或者子路径下面的servlet/jsp读到(路径=URL)
(路径!=真实文件路径)
父路径:http://127.0.0.1/my/SetCookies
子路径:http://127.0.0.1/my/servlet/ShowCookies
7.Session管理
session对象是写在服务器端,大小无限制
1)服务器的一块内存(存key-value)
2)配置过期时间:conf/web.xml <session-config>
3)和客户端窗口对应(子窗口)(独一无二)
4)客户端和服务器都有对应的SessioID
5)客户端向服务器端发送SessionID的时候两种方式:cookie(内存cookie)和 重写URL
6)浏览器禁掉cookie,就不能使用session(使用cookie实现的session)
7)如果想安全的使用session(不论客户端是否禁止cookie),只能使用URL重写(大大增加编程负担),所以很多网站要求客户打开cookie打卡
示例
HttpSession session=request.getSession(true);
Integer accessCount = (Integer)session.getAttribute("accessCount");
session.setAttribute("accessCount",accessCount);
8 Application管理
Application 比session更大的作用域。 访问同一个web应用程序上的各种servlet,无论是不是同一session都会访问servletContext对象,都会访问这个作用域。
ServletContext application=this.getServletContext(); 我们写的servlet和tomcat打交道。
Integer accessCount=(Integer)application.getAttribute("accesscount");
application.setAttribute();
9.中文乱码处理:
乱码的主要原因:整个处理过程中编码不一致。
取参数:request.getParameter("param1");
request.setCharacterEncoding("gbk");解决post方式提交内容的乱码,一定要写在存取第一个参数之前。因为一旦取第一个参数了,会把所有参数存到一个容器去。不要调用
response.setCharacterEncoding("gbk");
解决get方式提交的乱码:tomcat--->修改server.xml--URIEncoding="GBK"
参考:http://fushengfei.iteye.com/blog/783390
分享到:
相关推荐
通过自身学习对jsp、servlet知识的总结,重点应该都涉及了
对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等
jsp&servlet知识点总结
黑马 程序员-方立勋老师-javaWeb开发-03-Web开发入门和 04-Servlet开发和ServletConfig和ServletContex对象 知识总结记录
jsp和servlet知识点总结
jsp&servlet知识点总结.doc
servlet总结 都是基础和重要的知识点 大学软件专业的上课资料 想巩固基础知识请进
这是一个关于servlet的说明很全的一个文档,总结了servlet的用法,出现的问题,关于将jsp与servlet的应用相结合的用法
jsp 知识总结1 静态页面 JSP内容 jsp指令 数据库连接 JavaBean Servlet Smartupload
html,css,jsp相关知识总结,便于进行html,css,jsp的学习
自己总结的一些Servlet知识点!希望对大家有用!
Servlet&JSP知识点归纳思维导图,我上传的时候资源分最少也要选1。很奇怪,我想免费开放来着
关于Servlet状态管理的相关基础知识点的总结和代码。主要是Cookie和Session实现状态管理
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。(错误总结图404、500、405三个)
javaweb知识总结,servlet,request,response总结,重定向转发总结
对servlet的基础知识进行汇总总结,如有不到位之处还请指正!
面试知识点总结--JSP与Servlet.pdf
高人总结,相当超值,内有例子程序以及解释说明,即适合初学者学习,有适合有一定经验者补充
包括java web部分的html,js,jsp,servlet,jquery,EL,jstl等,oracle数据库方面包括存储过程,触发器等知识