java web各个技术细节总结
HTML
非表单标签
1、b 粗体 u 下划线 i 斜体 del 删除效果
2、a 超链接 href target=-blank
3、img 图片
4、frameset(frame) 框架集
5、table 表格 tb tr td (table data cell) colspan rowspan
6、ul li or 列表标签
7、embed 用来播放MP3、视频等等。
8、div 虚拟矩形区域 span 行内元素(不会换行)
表单标签
1、<form> 表单标签 action提交表单的地址 method表单提交的方式(get post)
name (命名方式 : regFrm)
2、表单域(表单域一定要有name属性,否则该表单域的值不会被提交!)
a、文本域( test单行文本域,password密码框,textarea多行文本域)
b、radio单选按钮组(组,name属性一致即为一组,每一组只能提交一个值)
c、checkbox复选框(组,name属性一致即为一组,每一组可以提交多个值)
d、select.option 下拉框(可以实现多选一、多选多)
c、file 文件域 用来实现文件上传(method-post,enctype-multipart/form-data)
f、hidden 隐藏域(不需要用户输入,但是服务器有需要的值)
g、reset 重置
h submit 提交按钮
i button 普通按钮(通常用来激活一个js函数)
CSS
1、如何引用css信息
a、通过html元素的:style属性 clas属性
b、通过<style>块
c、通过引用外部的css文件 <link>
2、css选择器
a、ID选择器 #myRed{colorred;} <b id=myRed>我是红色吗?</b>
b、class 选择器 .myRed(colorred;) <b class=myRed>我是红色吗?</b>
c、元素选择器 b(colorred; font-size:20px;) <b>ddddd</b>
3、css属性
a、文本属性
b、定位属性
c、列表属性
d、布局属性
e、边框属性
f、。。。。。。
JAVAScript
js的基本语法
1、基本数据类型:undefined,null,number,字符串,boolean,Object
2、变量的定义:var
3、控制语句
4、内置语句:eval() escape(),unescape()区别?
5、常用的对象:Date,Math,String,RegExp
6、数组:var a=[]; var b=new Array();
7、对象的定义。
8、JSON :
var user={name:'阿旭',pwd:'123645',sleep:function(){
alert("zzzzzzzz");
}};
user.sleep();
9、函数也是对象
10、继承是通过prototype属性来模拟。 String prototype trim=function(){
return this.replace("(^\s+)||(\s+$)","")}
" 12356" . trim()
11、对话框:alert 警告框,prompt询问框,
12、浏览器对象
a、window
(1) open打开了窗口 close 关闭窗口
(2) 定时操作:setTimeout,clearTimeout setInterval clearInterval
b、navigator
c、history
d、location
dom操作
1、如何获得节点
直接获得
document.getElementByid()
document.getElementsByName() 返回的是数组
document.getElementsByTagName() 根据标签名字获取,返回的是数组
间接获得
通过父节点获得子节点
childNode
firstChild、lastChild
通过子节点获得父节点
parentNode
兄弟节点
nextSibling、preSibling
2、如何操作节点
a、判断节点类型:nodeType: 1元素节点 文本节点
b、节点的属性:通过点操作符即可
c、节点的文本内容:innerHTML
3、改变DOM结构
a、增加节点:appendChild inserBefore
b、删除节点:removeChild
c、替换节点:replaceChild
4、表单的操作
a、通用属性:value,disabled。表单对象elements
b、单选按钮和复选框操作的时候,一般此采用便利
c、表单验证:
(1) <submit value=提交 onclick=“return check(this.form)”/>
(2) <form onsubmit="return check(this);">
HTTP协议
Tomcat服务器
1、server.xml
2、web.xml
3、目录结构的作用:
a、lib
b、work:存放jsp编译后的java文件
c、webapps:存放项目
d、conf
Servlet
浏览器发给服务器的请求内容。HttpServletRequest对象
getParameter() getParameterValues() 处理复选框
作为作用域:setAttribute,getAttribute,removeAttribute
getRequestURL、getRequestURI、getQueryStirng(获取请求行?后面的数据)、getContextPath
获得客户端IP和端口:getRemote Addr.getRemotePort
request.setCharacerEncoding 设置请求实体的编码。他对post有效,对get无效。要让对get方式提交的数据也有效。可以改动tomcat配置文件 server.xml对connection元素增加一个属性:useBodyEncodingForURI="true"
请求转发:request.getRequestDispatcher("2.jsp").forward(request,response);
服务器回送给浏览器的相应内容。HttpServletResponse对象
setCharacterEncoding setContextType("text/html;charset=utf-8")
getWriter 输出文本 getOutputStream 输出非文本
重定向:response.sendRedirect("http://www.baidu.com");
servlet类读取web.xml中自己的配置信息。ServletConfig
getInitParameter("ddd")
需要读取web.xml中的公共信息<contxt-param>。 ServletContext(项目中只有一个)
获得:this.getServletContext()
作用域:可以被所有的servlet共享
其他方法:getRealPath("1.jsp") 返回物理路径 获得子目录信息getResourcePaths
将所有的servlet放入一个容器中统一管理。ServletContext
保存以前操作的状态。 客户端保存Cookie 服务器保存Session
客户端保存cookie的流程
1、服务器端写代码:Cookie c=new Cookie("a","aaaaa"); c.getMaxAge(2000);
response.setCookie(c);
2、响应头中就会有一个:SetCookie :a=aaaaa
3、浏览器受到以后,先放到内存中。如果cookie设置了有效期,则会写到硬盘的cookie文件中。
4、浏览器以后访问服务器时,就会自动携带(在请求头中)有效的cookie信息。
服务器端如何保存信息(session的跟踪机制):
1、服务器会new 一个session对象,同时,指定一个id给session对象。
2、通过响应头设置:setCookie:sessionId=163165454526321;
3、浏览器收到sessionid这个信息,下次访问一定会携带sessionid
4、服务器收到sessionid后,根据session找到对应的session对象。然后,就可以查看对象里面的内容。从而,确定之前我们进行了什么操作,也就是,实现了状态的保存!
Servlet声明周期
1、加载和实例化
a、第一个请求的时候。(Servlet是单例,只有一个servlet对象)
b、如果配置了<load-on-startup>,启动时加载
2、初始化
a、调用Init
3、执行
a、service doGet doPost
4、销毁
a、destory
过滤器:
1、实现Filter
2、doFilter
3、配置位于<servlet>之前
监听器:
1、实现Listener
2、配置位于<filter>之后,<servlet> 之前。
JSP
1、<% %>
2、<%= %>
3、<%! %>
4、<%-------%> jsp注释
5、<%@include file="2.jsp" %> 静态导入。两个jsp翻译时java文件就合并到一起。
6、<jsp:include> 相当于一个类调用另一个类
7、jsp九个内置对象分别是:
request,response,out,session,application,page,pageContext,Exception,config
EL和JSTL
EL表达式:操作的是作用域中的属性
格式:${ }
JSTL标签库:
foreach
if
choose when otherwise
set
import
ajax:
技术核心:通过XHR(XMLHttpRequest)对象发送请求,通过XHR对象接收响应。在通过js操作dom对象,接收新的数据,赋给某个元素。从而实现局部刷新效果。
如何使用XHR对象:
1、创建XHR对象
var req
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}else if(window.ActiveXobject){
req=new ActiveXobject("Msxml2.XMLHTTP")
}
2、创建一个请求
req.open("get","DemoServlet?usename="+username.value+"&aaa="+new Date())
3、设置监听,处理服务器返回的响应内容
req.onreadystatechange=function(){
if(4==req.readyState){
if(200==req.status){
.......
}
}
}
4、发送请求
req.send(null);
XML
1、XML基本语法
2、XML的解析(DOM方式、SAX方式 JDOM、DOM4J)
3、dtd/schema 定义XML数据的语法规则
4、xslt 定义xml数据的显示方式
java web各个技术细节总结的更多相关文章
- 重温Java Web的技术细节
目录 一.背景 二.请求与响应 2.1.Http请求 2.2.Http响应 三.ServletConfig 3.1 测试ServletConfig参数 四.ServletContext 4.1 测试S ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- [转]轻量级 Java Web 框架架构设计
工作闲暇之余,我想设计并开发一款轻量级 Java Web 框架,看看能否取代目前最为流行的而又越来越重的 Spring.Hibernate 等框架.请原谅在下的大胆行为与不自量力,本人不是为了重造轮子 ...
- 基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写
基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写 专业程序代写服务(QQ:928900200) 随着社会的进步.服务行业的服务水平不断发展与提高,宾馆.酒店.旅游等服务行业的信息量和工作 ...
- Java web servers 间是如何实现 session 同步的
Java web servers 间是如何实现 session 同步的 有一个多月的时间没有更新博客了,今天终于忙里偷闲,可以把近期的收获总结一下. 本文是关于Java web servers 之间 ...
- 使用 Docker 搭建 Java Web 运行环境(转)
原文 http://www.importnew.com/21798.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几 ...
- Smart Framework:轻量级 Java Web 框架
Smart Framework:轻量级 Java Web 框架 收藏 黄勇 工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework. 开发该框架是为了: 加 ...
- Java Web教程——检视阅读
Java Web教程--检视阅读 参考 java web入门--概念理解.名词解释 Java Web 教程--w3school 蓝本 JavaWeb学习总结(一)--JavaWeb开发入门 小猴子mo ...
随机推荐
- cf-Global Round2-D. Frets On Fire(二分)
题目链接:http://codeforces.com/contest/1119/problem/D 题意:给n(<=1e5)个数s[i],i=1..n,(0<=s[i]<=1e18) ...
- Python+Selenium学习--设置等待时间
场景 sleep():设置固定休眠时间.python 的time 包提供了休眠方法sleep() ,导入time 包后就可以使用sleep()进行脚本的执行过程进行休眠.implicitly_wait ...
- 微信小程序开发——setData的使用技巧
前言: 之前使用 setData,一直都是作为给变量赋值,感觉比起vue给data中的变量的赋值还是有点麻烦的. 最近项目不太紧张,为了提高小程序的开发效率及提升小程序开发的能力,又重新的通读了下小程 ...
- OC 开发规范指南 - 个人见解写的很好
纽约时报 移动团队 Objective-C 规范指南 这份规范指南概括了纽约时报 iOS 团队的代码约定. 介绍 关于这个编程语言的所有规范,如果这里没有写到,那就在苹果的文档里: • Objecti ...
- MVC和Web API的区别
最近几次面试时碰到过面试官提问这个问题.我一开始觉得这两个根本没有可比性,其中有一位面试官说,有不同啊,比如继承的基类不同,webapi继承的事APIController,等等. 今天我就总结一下,其 ...
- prototype.js的Ajax对IE8兼容问题解决方案
你是否遇到过这样的问题?在使用protype.js的Ajax应用时,会出现这样的问题:只要调用了Ajax.Request,然后点该页面右键,查看“属性”就弹出“IE停止工作”的对话框,然后强制重新加载 ...
- XHR的对象及用法
function createXHR(){ //检测原生XHR对象是否存在,如果存在刚返回它的新实例: //如果不存在,则检测ActiveX对象; //如果两个都不存 ...
- 分析入口文件main.php
在分析之前,需要了解php cli模式下的编程 1.了解getopt函数,php手册地址:http://php.net/manual/zh/function.getopt.php static pri ...
- svn conflict问题解决办法
转自:http://www.cnblogs.com/aaronLinux/p/5521844.html 目录: 1. 同一处修改文件冲突 1.1. 解决方式一 1.2. 解决方式二 1.3. 解决总结 ...
- 更好地限制一个UITextField的输入长度
要限制一个UITextField的输入字数,首先想到的应该是通过 UITextFieldDelegate 的代理方法来限制: - (BOOL)textField:(UITextField *)text ...