servlet知识点小结.doc_第1页
servlet知识点小结.doc_第2页
servlet知识点小结.doc_第3页
servlet知识点小结.doc_第4页
servlet知识点小结.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

servlet知识点小结一、servlet基础1、什么是servlet?2、如何开发一个servlet?3、什么是servlet容器?4、servlet运行是否依赖容器?5、http协议(了解)二、servlet核心1、核心的类与接口a,Servlet接口b,GenericServlet抽象类c,HttpServlet抽象类d,ServletRequest,ServletResponse接口e,ServletConfig接口ServletContext getServletContext();String getInitParameter(String paraName);f,HttpServletRequest接口String getParameter(String name);String getParameterValues(String name);setCharacterEncoding(String code);RequestDispatcher getRequestDispatcher(String url);setAttribute(String name,Object obj);Object getAttribute(String name);removeAttribute(String name);String getContextPath();String getRequestURI();HttpSession getSession()/getSession(boolean flag);Cookie getCookies();g,HttpServletResponse接口setContentType(String str);PrintWriter getWriter();sendRedirect(String url);encodeURL(String url);encodeRedirectURL(String url);addCookie(Cookie cookie);h,ServletContext接口String getRealPath(String str);setAttribute(String name,Object obj);Object getAttribute(String name);removeAttribute(String name);String getInitParameter(String name);2、servlet的生命周期a,什么是servlet生命周期?b,servlet生命周期的四个阶段?配置c,如何override init方法?init()或者init(ServletConfig config)d,servlet的初始化参数如何配置?3、表单处理a,如何读取表单中的参数b,如何处理中文4、get请求与post请求a,哪一些是get请求,哪一些是post请求?b,get请求与post请求的区别?5、转发与重定向a,什么是重定向?b,如何重定向?c,重定向的特点?d,重定向编程需要注意的问题?e,什么是转发?f,如何转发?g,转发的特点?h,转发编程需要注意的问题?i,转发与重定向的区别三、状态管理1、什么是状态管理2、cookiea,什么是cookie?b,如何创建一个cookie?c,cookie的生存时间d,cookie的路径问题e,编码问题f,cookie的限制3、sessiona,什么是sessionb,如何获得sessionc,session的常用方法String getId();String getRealPath(String str);setAttribute(String name,Object obj);Object getAttribute(String name);setMaxInactiveInterval(int seconds);invalidate();ServletContext getServletContext();d,session的超时e,删除session4、禁止cookie以后,如何继续使用session?a,url重写是什么?b,如何实现url重写?encodeURL(String url);encodeRedirectURL(String url);5、案例a,session验证b,验证码c,购物车四、数据库访问1、什么是dao?2、如何写一个dao?五、过滤器与监听器1、什么是过滤器?2、如何写一个过滤器?3、配置初始化参数4、过滤器的优先级5、过滤器的优点6、什么是监听器?7, 如何写一个监听器?六、servlet的线程安全问题1、servlet线程安全问题产生的原因在默认情况下,容器只会为每一个servlet类创建唯一的一个实例,当有多个请求到达容器,就有可能有多个线程同时访问同一个实例。2、解决方式1)加锁(可以对整个service方法加锁,或者对代码块加锁,建议使用代码块加锁)。2)让servlet实现SingleThreadModle接口(不建议使用)。SingleThreadModel接口是一个标识接口(没有定义任何的方法)。容器会为实现该接口的servlet创建多个实例,即一个线程分配一个。这种方式创建了过多的servlet实例,系统开销太多,不建议使用。3)servlet的属性尽量设置成可读的,不要去修改。jsp1、jsp基础1)什么是jsp?sun公司制订的一种服务器端动态页面生成技术规范。2)jsp的组成?a,html(html,css,javascript)b,java代码第一种形式:java代码片断第二种形式:jsp表达式 第三种形式:jsp声明c,指令page指令import属性:pageEncoding属性:contentType属性:session属性:true(缺省)/false。如果值为false,则对应的servlet代码当 中不会生成声明和创建session的代码。也就是说,不能够使用session隐含对象了。isELIgnored属性:true(缺省)/false,是否忽略el表达式,如果是true,忽略。isErrorPage属性:true/false(缺省),当前jsp是否是一个错误处理页面,如果是true,是错误处理页面。errorPage属性:用于指定错误处理页面。include指令file属性taglib指令:用于导入标签uri属性:标签文件的命名空间prefix属性:命名空间的前缀d,隐含对象outrequestresponsesessionapplicationexception:当一个页面设置了,则可以在该页面当中,使用该隐含对象读取错误信息。config:就是ServletConfig,可以读取jsp的配置参数。pageContext:是PageContext类的实例,服务器会为每一个jsp实例(指的是jsp对应的那个servlet对象)创建唯一的一个PageContext实例。作用主要有两个:绑订数据:setAttribute,getAttribute,removeAttribute获得其它几个隐含对象:即在获得了pageContext实例之后,可以通过该实例,获得其它8个隐含对象。page:表示jsp实例本身。e,活动元素在jsp实例已经运行了,告诉jsp引擎做一些处理。e1.转发,page属性指定转发的地址。e2.一个jsp在运行过程当中,调用另外一个jsp。e3.设置参数 name指定参数名 value指定参数值e4.在指定的范围绑订一个对象。范围指的是四个对象pageContext,request,session,servletContext。也就是说scope的值可以是page,request,session,application。 依据请求参数给属性赋值。 使用自省机制给属性赋值。f,注释!- -注释中的代码会执行,但不会在页面上输出。注释中的代码不会执行,也不会在页面上输出。3).jsp源文件如何转换成.java文件。a,html - service(),使用out.write()输出。b, - service(),照搬。c, - service(),使用out.print()输出。d,指令 - 会影响源代码的生成,比如导包。e, - jsp声明中定义的变量会变为对应的servlet类的属性,定义的方法会变成对应的servlet类的一个方法。如何在插入一条记录后,获得主键public long save(Employee e) throws Exception long id = -1;Connection conn = DBUtil.getConnection();PreparedStatement prep = conn.prepareStatement(insert into t_emp(name,salary,age) +values(?,?,?),Statement.RETURN_GENERATED_KEYS);prep.setString(1, e.getName();prep.setDouble(2, e.getSalary();prep.setInt(3, e.getAge();prep.executeUpdate();ResultSet rst = prep.getGeneratedKeys();if(rst.next()id = rst.getLong(1);DBUtil.close(conn);return id;练习:写一个“交友”系统功能:A.注册注册的内容包含:username,name,pwd,age,sex,phone验证码:验证码出错,不能注册。用户名:不能重复。注册成功:自动跳转到登录B.登录包含的内容:username,pwd登录成功:跳转到主功能页面(即列出当前系统所有已注册用户)。C.主功能页面1)列出所有已注册用户的信息(包含username,sex,age)2)点“详细”链接:列出用户的name,phone如果是当前用户(比如用户sdd登录了系统,并且点击的链接也是sdd),则可以上传照片,上传之后,会立即显示照片。如是不是当前用户,则只能查看照片。D,用户详细信息页面1)显示用户的真实姓名和电话2)可以上传照片并显示实现提示:表:create table friend_user(id bigint primary key auto_increment,username varchar(20) unique,password varchar(10),name varchar(20),age int(3),gendar varchar(1),phone varchar(20);create table friend_pic(id bigint primary key auto_increment,picName varchar(100),userId bigint);注册:除了以前要做的工作以外(验证码的处理,插入数据库)为当前注册的用户创建一个存放上传照片的文件夹,在upload下面,建立一个文件夹 pic_id(id是用户id号)登录:比较用户名与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论