• 1. Java 技术与就业指导讲师:张孝祥北京传智播客教育 www.itcast.cn
  • 2. 讲座大纲Java技术体系与学习路线 Java面试题分析 就业与面试技巧 职业规划北京传智播客教育 www.itcast.cn
  • 3. Java技术体系与学习路线UI层业务逻辑层数据库访问层数据库AWT/SWINGSWT/JFACEWEB浏览器: 基础Html/css/javascript/Ajax Ajax框架:prototype/jquery/dwr/dojo/ext 工 具 : A N T 、 L O G 、 J U N I T Web服务器: 基础:Servlet/jsp/http协议 框架:Struts/Struts2/JSF/Spring MVC 服务器:tomcat/JBoss/WebLogic/WebSphereJ A V A 核 心 基 础 、 X M L 与 编 程 设 计 模 式远程调用:Dwr/WebServiceJDBC/Hibernate/DbUtil /JPA/JdbcTemplate/IbatisSpring/EJBSql/MySql/Oracle/Sql Server/DB2Lucene/JavaMail WebService/JBPM其他北京传智播客教育 www.itcast.cn
  • 4. Integer与int的区别 面向对象的特征有哪些方面 设计一个一百位 的计算器 ArrayList和Vector的区别,,HashMap和Hashtable的区别 去掉一个Vector集合中重复的元素 STRING与STRINGBUFFER的区别 Class.forName的作用?为什么要用? HTTP请求的GET与POST方式的区别 JSP中动态INCLUDE与静态INCLUDE的区别? Java面试题分析北京传智播客教育 www.itcast.cn
  • 5. 就业与面试技巧简历一开始就描述自己的性格、专长、先给人一个好的总体印象。要是有两年工作经验就比较好,如果是应届毕业,可以说是在大学就跟着某老师(有名有姓)做项目,这有两方面的好处:有经验,老师已经考核过你。如果是学生干部或拿过奖学金一定要写上。 做笔试题时,不要以为把程序写出来了,回来在计算机上一运行,结果正常就觉得做得很好了,应该把做笔试题当作是一个展现你才华,性格、办事风格、工作态度和良好习惯的平台,要把做笔试题当作给人讲课和写书一样的方式来写,要知无不言,言无不尽,把自己所掌握的内容阐述得淋漓尽致,同一套答案可以应付多个问题。做笔试题只是为了展现自己的思路和才华,人家并不会把你的题拿到计算机上去运行,关键看你是否有思路。所以,用注释把自己的思路描述出来非常重要,以便人家理解,程序有点小错误反而不重要。 人家问,说你可以来石家庄上班吗?你说反正是打工,在哪打工都可以,这非常不好,这显得自己对待工作没有热情,无所谓的态度。 会说的通常比会做得更有机会,有人说,自己不会吹,其实是你的技术没有学透和学扎实,只有不会的人才需要吹,因为人家问题都是技术问题,只要你真的明白且条理清晰,很自然就能口若悬河。遇到自己擅长的问题要主动滔滔不绝,别人一高兴,忘问你后面的问题。 单位的招工启示往往也是抄的,虽然写的是本科,但他们只是想招聘到合适的人才,只要你技术上和面试上通过了,人家通常并不真正特别关心你的文凭。 提交给人家的项目题目要有个readme.txt说明文件,给别人提供方便,就是给自己提供机会。 手机要长期保持开机,别因为地下室没信号,人家联系不上你,还说面试通知电话少。北京传智播客教育 www.itcast.cn
  • 6. 职业规划如果有明确的目标,并为之努力奋斗,你就会发现时间其实是过得很快。人生需有目标,每周要有目标,每天要有目标,没有目标怎么办,想法找目标,例如,打开我们的视频看。 年轻是最大的财富,身体是革命的本钱,想干什么都可以,如果自己现在不珍惜,那肯定会老大徒伤悲。 要确定明确的目标,通常需要自己先有一定的专业技能,能独当一面做事,就会越做越开心,越做越感觉时间不够用。 北京传智播客教育 www.itcast.cn
  • 7. 显示省Onchange{}xhrservletdata处理数据servlet北京传智播客教育 www.itcast.cn
  • 8. SSL/TLS的工作原理RegUIRegReg.jspUserForm???北京传智播客教育 www.itcast.cn
  • 9. 数字摘要的基本应用:数据的完整性校验北京传智播客教育 www.itcast.cn
  • 10. Tomcat体系结构 北京传智播客教育 www.itcast.cn
  • 11. 为Tomcat配置SSL功能的实验步骤使用keytool创建或导入Web服务器所需要的证书。 修改server.xml文件,为Tomat增加一个支持SSL功能的连接器。取消其中对SSL连接器的注释,并根据安装的数字证书信息对一些参数进行调整即可。 编写一个用于检查访问协议是否是https的jsp程序,如果不是,则将请求重定向为https协议。北京传智播客教育 www.itcast.cn
  • 12. Tip3:为站点增加自动登录和单点登录功能自动登录的实现原理 自动登陆的几种编码技术 单点登录的概念与功能 单点登录的两种解决方案北京传智播客教育 www.itcast.cn
  • 13. 自动登录功能与实现原理需求分析 用户一旦使用浏览器登录某个站点和关闭浏览器后,在以后两个星期内,只要用户启动该浏览器访问该站点的任何页面时,都将自动完成登录。 很显然,该功能要求浏览器一旦登录以后的两个星期内,浏览器所在客户机上必须保留有用户帐号信息,并且,浏览器在以后设定的时间期限内访问该站点时,必须自动向服务器提交保留在客户机上的用户帐号信息。 实现原理 想一想:用什么样的Web技术可以实现这样的功能呢? 保存在浏览器所在客户机上的信息必须尽可能的安全,即使被人窃取,也无法识别其中的信息。Cookie值采用如下算法来生成: username + ":" + expiryTime + ":" + Md5Hex(username + ":" + expiryTime + ":" + password + ":" + key) 北京传智播客教育 www.itcast.cn
  • 14. Cookie的传送过程示意图 ①第一次访问不存在 Server1的Cookie ④写入Server1 的Cookie③第一次响应 Set-Cookie2: name=value ②第一次访问请求 WEB Server1 WEB Server2 浏览器 Server1 的Cookie Server2 的CookieCookie存储区 ⑤后续访问存在 Server1的Cookie ⑥后续访问请求 Cookie: name=value 北京传智播客教育 www.itcast.cn
  • 15. Set-Cookie2响应头字段Set-Cookie2头字段用于指定WEB服务器向客户端传送的Cookie内容,但是按照Netscape规范实现Cookie功能的WEB服务器,使用的是Set-Cookie头字段,两者的语法和作用类似。 Set-Cookie2头字段中设置的cookie内容是具有一定格式的字符串,它必须以Cookie的名称和设置值开头,格式为“名称=值”,后面可以加上0个或多个以分号(;)和空格分隔的其它可选属性,属性格式一般为“属性名=值”。 举例:Set-Cookie2: user=it315; Version=1; Path=/ 除了“名称=值”对必须位于最前面外,其它的可选属性的先后顺序可以任意。 Cookie的名称只能由普通的英文ASCII字符组成,浏览器不用关心和理解Cookie的值部分的意义和格式,只要WEB服务器能理解值部分的意义就行。 大多数现有的WEB服务器都是采用某种编码方式将值部分的内容编码成可打印的ASCII字符,RFC 2965规范中没有明确限定编码方式。北京传智播客教育 www.itcast.cn
  • 16. Set-Cookie2头字段中的属性 Comment=value Discard Domain=value 例如:Set-Cookie2: user=it315; Version=1; Path=/; Domain=.it315.org Max-Age=value Path=value Port[="portlist"] Secure Version=value 北京传智播客教育 www.itcast.cn
  • 17. 自动登录的几种编码技术模板方法设计模式 所有的Servlet或者Struts框架的Action采用模板方法设计模式进行设计,且要求所有的请求只能指向Servlet或者Struts框架的Action 自定义标签 在所有的JSP页面中都要加入自动登录的标签,且要求客户端的所有请求都只能指向JSP页面。 过滤器(Filter) 可以对指向各种资源的访问请求进行拦截,并附加实现自动登录功能,不要求对现有的Servlet和JSP进行任何改造,对以后编写的任何Servlet和JSP也没有特殊要求。过滤器(Filter)应该成为自动登录功能的首先编程技术。北京传智播客教育 www.itcast.cn
  • 18. 单点登录单点登录的概念与功能 单点登录的英文简称为SSO(single sign on),即用户只要登陆系统一次,该用户的身份信息就可以被系统中的多台计算机所识别,不需要在访问每台计算机时再分别进行登陆。 单点登录的两种解决方案 在某个域范围内的全局Cookie 例如:Set-Cookie2: user=it315; Version=1; Path=/; Domain=.it315.org 通过专用的代理服务器进行登录 北京传智播客教育 www.itcast.cn
  • 19. 通过代理服务器实现的SSOSSO ServerWeb ServerBrowser②③④⑦⑧⑨⑩①https://SSOServer/login?service=http%3A%2F%2FWebServer/visitingUrlhttp://WebServer/visitingUrl?ticket=xxxxxxxxxxxxxxxxxxx⑤⑥北京传智播客教育 www.itcast.cn
  • 20. Tip4:解决Web开发中的相对路径问题如果logon.jsp页面的内容如下,LogonServlet内部在登录失败时将请求又转发给logon.jsp,
    元素中的action属性设置会有什么问题?
    *第二次访问的路径相对logon.jsp的路径为servlet/servlet/LogonServlet解决方案:
    张孝祥 北京传智播客教育 www.itcast.cn
  • 21. Tip5:为网站配置相同页眉和页脚的技巧常见的应用: <%@ include file=“”%>与 一般人不知道的应用: *.jsp /header.jsp /footer.jsp 北京传智播客教育 www.itcast.cn
  • 22. 页面布局代码的重用要生成一批如左图所示的具有相同页眉,页尾,以及左侧栏的页面,这些页面的内容不同,要想充分实现HTML代码的复用,每个页面应该用几个局部网页来合成呢?页面布局代码:
    header
    Menu
    footer
    页面布局代码的重用方式: Apache的Tiles框架 Filter + 布局文件(例如,Sitemesh)北京传智播客教育 www.itcast.cn
  • 23. Tip6:Web开发中的各种字符乱码问题字符编码的基本理论 举例:记事本的中文乱码问题,xml的字符编码问题 Java程序编译时的中文乱码分析 Java程序运行时的中文乱码分析 举例:更改操作系统的Locale,利用PrintWriter/PrintStream输出字符串 Servlet输出时的中文乱码分析 Servlet读取请求参数时的中文乱码分析 JSP的乱码分析 Servlet实现文件下载时的中文文件名的乱码分析 Apache文件上传组件所遇到的中文乱码分析 利用Javamail API创建MIME邮件时的中文乱码分析 Mysql数据库的中文乱码分析 Ajax中的字符乱码问题分析 请求参数不进行url编码导致长度为奇数的中文字符串的最后一个字符混乱北京传智播客教育 www.itcast.cn
  • 24. JSP程序所涉及到的字符编码转换 北京传智播客教育 www.itcast.cn
  • 25. 字符乱码与解决办法的原理分析北京传智播客教育 www.itcast.cn
  • 26. 推荐我所编写的书籍《Java就业培训教程》 《Javascript网页开发》 《Java邮件开发详解》 《深入体验Java Web开发内幕—核心基础》 《深入体验Java Web开发内幕—高级特性》北京传智播客教育 www.itcast.cn
  • 27. 结束语 热烈欢迎各软件公司到传智播客公司预定和招聘软件开发人才! 谢谢!北京传智播客教育 www.itcast.cn