Java菜鸟学习日记12

项目团队的构成
  • 前段开发工程师
    • 把设计(效果)图切成 HTML+CSS+image+js...
    • 使用前段框架(Vue.js、Angular、React)开发前端应用(手机、桌面)
      • 需要服务端提供接口
  • 美术设计师(美工)
    • 把产品经理/项目经理设计的原型 转变成 效果图(App、桌面网站、系统)
    • 设计宣传资料(产品、公司、项目)
    • 杂事(名片、PPT...)
  • 项目经理
    • 管理项目需求,与客户及项目团队沟通,制定项目计划、监管项目进度...
    • 一个项目经理可能同时管理多个项目
  • 产品经理
    • 自己研发产品的公司通常有产品经理,规划、设计产品(面向什么用户、满足什么需要、如何在竞争中胜出、如何盈利)
    • 互联网公司一般都有产品经理
  • 部门经理
    • 团队组建(面试、招聘、优化)、培训、日常行政管理(请假审批等)
    • 绩效考核
  • 测试工程师
    • 找BUG、管理BUG
    • 写文档(测试文档,产品说明书<使用手册、帮助文档>)
绝对路径和相对路径
  • 绝对路径:是以 / 开头或者以协议开头
    • 例:/api/user/login
    • http://www.baidu.com/abc
    • 主机根目录为固定参照点
    • 使用绝对路径的代码,可以在项目中随意移动而不用修改地址
  • 相对路径:是以 字母数字等非/开头,或者以. .. 开头
    • user/login
    • ../login
    • 当前目录为参照点
    • 使用相对路径的代码,移动位置时需要检查地址是否正确
  • 在JSP中使用绝对路径,首先要解决应用路径(Content root)的问题
    • 获取应用路径可以使用代码块定义一个变量
<%
String basePath = request.getContextPath();
%>
<link rel="stylesheet" href="<%= basePath%>/css/index.css">

  • 使用JSTL
    • <link rel="stylesheet" href="<c:url value="/css/index.css">">
    • c:url:是一个特殊的标签,它可以将value中的url变成包含应用路径的绝对地址
    • 步骤
      • 导入Jar包
      • 把标签库tld文件都导入项目中(WEB-INF)
      • 在web.xml中配置jspl
      • 在jsp页面上添加taglib指令

      • 实际上是命名空间声明
      • prefix="c" 命名空间的前缀,前缀名称可以随意写,越短越好
      • uri="uri":uri不是一个真实的网址,只是一个;以网址形式存在的唯一名称
        • <c:url value>:当页面上写该标签时,需要找到url标签的解释者。
        • 需要找url标签的命名空间 c
        • 而c在页面开头由taglib指令声明,而且它与后面的uri关联起来、uri在jar包中有相应的声明(tld中声明了相应的标签名,以及对应的类。)
        • 找到类之后会调用类中的渲染方法生成html
    • JSTL语法
      • 使用的是严格的xml语法,标签需要闭合
        • <c:url ...../>
        • <c:when ...> .... </c:when>
    • JSTL常用的标签大类是
      • 核心标签:用来控制HTML的生成,提供了分支判断、循环生成复杂HTML的功能(根据数据生成)、 还包括生成URL及跳转
      • 格式化标签:用来格式化数据
      • 函数:用来截取字符串等。
JNDI(Java Naming and Diectory Interface)
  • Java的名字和目录服务的接口,JDK只定义了规范,而没有给出具体实现。
    • 具体实现有Tomcat等应用容器实现。
  • 名字和服务的服务的目标是:
    • 通过提供字符串形式的名字即可获得想要对象,对象已经被初始化好,初始化是通过配置文件中提供配置信息实现的。
    • 不需要程序员自己new一个对象,也不需要程序员自己给构造方法传参,也不需要调用setter给属性赋值
  • 它带来的好处
    • 将对象的创建需要的信息转移到配置文件中,从Java中脱离出来,方便之后的修改(不需要修改和编译代码)
  • JNDI底层有很多提供程序,可以支持创建多种对象,提供程序是可以扩展的
XML
  • 可扩展标记语言(Extensible Markup Language)
  • 标签名可以自定义标签标记语言
  • XML是语法严格的,如果语法不正确,就无法通过验证器验证。使用XML解析器解析数据时也会出错
  • 因为XML标签是可扩展的,所以XML有文档类型定义(DTD)语言和Schema语言两种,帮助程序员定义新标签
  • 既然XML可以自定义标签,那么如果出现A程序员定义的标签和B程序员定义的标签同名,怎么解决?
    • 解决方法是:标签都定义在命名空间中,命名空间相当于Java中的包
    • 每个XML都有一个默认命名空间,迷人命名空间不用加前缀,当引入其他命名空间的标签时,必须加前缀
  • XML实体符号
    • SML Entities(Entity)
    • 因为XML使用了:< > &
    • 当节点内部(标签内容区域)需要表示< >这种语法符号时,需要写实体代码,而不能直接写语法符合
      • 例:
        • <expr> a<b </expr>
        • 变成
        • <expr> a&lt;b </expr>
    • 实体符号以&开头
    • &——>&amp;
从Servlet向JSP/Servlet传数据
  • 使用转发跳转时,可以将数据放在request对象中
    • request.setAttribute("key","value");value可以是对象
  • 使用重定向时,需要将数据放在URL中
    • response.senfRedirect(".../index.jsp?errorMessage=xxxx");
    • 这种方法只能传字符串,而且不能太长
try/with/resource
  • Java7支持新语法
  • 可与自动帮助我们调用close方法,close方法在AutoClosable这个接口中定义的
    • try(资源1;资源2;资源3;){
      • 资源3关闭
      • 资源2关闭
      • 资源3关闭
    • catch(){
    • }
WEB-INF和META-INF
  • 其中的文件或资源不能通过浏览器直接访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值