开发汇总

1.银联:代付属于后台资金类交易,代付产品没有前台通知,发送请求报文后收到的响应报文是同步返回,代表交易被受理,不是后台通知。交易是否成功需要从后台通知获知。

2.servlet不适于生成HTML,改变页面内容还需要重新编译,jsp更适于表现层,jsp不需要在web.xml中部署。

3.不经过Form提交数据而直接以输入网址或单击链接的方式访问servlet也被看做是GET方法提交数据。

4.servlet不是线程安全的,谨慎使用类的变量。

5.servlet:先编译后部署

  jsp:先部署后编译

6.不想被客户端访问的文件要放到WEB-INF目录下。

7.MVC:

M=javabean

C=servlet filter

V=jsp

struts 2中,StrutsPrepareAndExecuteFilter和XxxAction共同构成了Struts 2的控制器,StrutsPrepareAndExecuteFilter被称为核心控制器,XxxAction称为业务控制器。

8.取消关注公众号后再次关注公众号可立即看到修改的菜单效果。

9.抽象类可以包含抽象方法,也可以不包含抽象方法,不能用于创建实例。

10.final与abstract永远不能同时使用。

11.static与abstract不能同时修饰某个方法。

12.private与abstract不能同时修饰某个方法。

13.接口里不能包含普通方法,接口里的方法都是抽象方法、类方法或者默认方法。接口里的变量只能是静态常量。

14.匿名内部类

15.SQL语句中的字符串值不是用双引号引起的,而是用单引号引起的。

16.增加字段时,除非给新增的列指定了默认值,否则新增的数据列不可指定非空约束。

17.truncate一次性删除表里的全部数据,但保留表结构。

18.在jquery库中,$就是jquery的一个简写形式。

19.用#id作为选择符取得的是jquery对象而并非DOM对象。

20.在网页中,每个id名称只能使用一次,class允许重复使用。

21.Java里用INSERT INTO VALUES()向mysql插入数据,VALUES里面的值是变量怎么办?不要直接写到字符串里面,要改成拼接的String sql = "INSERT INTO location(longitude, latitude)"+ " VALUES (“+mylongitude+","+mylatitude+")";如果字段是字符类型还要加上单引号

22.List是接口,ArrayList和Vector是实现List的类

23.Java的list的add(对象),添加的是对象的引用,add多少个对象,就要new多少个对象。

24.java数据库开发技术:操作JDBC->封装JDBC->ORM(hibernate、ibatis、mybatis)。

25.ORM:对象关系映射,实现了数据表到java对象的映射。

26.POJO:Plain Ordinary Java Objects, 即普通的java对象

27.DAO:Data Access Object,数据访问接口,负责调用Hibernate API实现CRUD操作。

28.ibatis并不会在运行期间自动生成SQL执行,ibatis可以进行细粒度的优化,原因是ibatis是基于SQL的。

29.ibatis:配置文件、映射文件、持久化类、DAO层、Service层。

30.JSP Model2:用JSP技术实现视图的功能,用servlet技术实现控制器的功能,用JavaBean技术实现模型的功能。Struts本质上就是在Model2基础上实现的一个MVC架构。

31.控制反转(IoC)的本质是控制权由应用代码中转到了外部容器。

32.依赖注入(DI):对象只提供普通的方法,让容器去决定依赖关系,容器全权负责组件的装配,它会把符合依赖关系的对象通过属性或者是构造函数传递给需要的对象。依赖注入是目前最优秀的解耦方式。创建被调用者实例的工作通常由spring容器来完成,然后注入调用者。

依赖注入的方式:构造器注入、调用属性的setter方法

33.3种类调用的方法:自己创建(new)、工厂模式(get)、外部注入(set)。

34.反射就是根据给出的类名(字符串)来生成对象。

35.UML 序列图

36.AOP:面向切面编程

37.spring提倡面向接口编程,面向接口编程与依赖注入协作实现了松散耦合。

38.spring:通过容器创建实例,spring容器就是一个巨大的工厂,它可以“生产”出所有类型的Bean实例。

39.log级别排序:trace<debug<info<warn<error.

40.用同一个名字调用LoggerFactory.getLogger方法所得到的都是同一个logger对象的引用。

目前已知最好的策略是以logger所在类的名字作为logger名字。

41.利用SLF4J的参数化记录({})可以避免参数构造消耗。

42.logback配置文件:以<configuration>开头,后面有零个或多个<appender>元素,有零个或多个<logger>元素,有最多一个<root>元素。

<logger>:仅有一个name属性,一个可选的level属性和一个可选的additivity属性。可以包含零个或多个<appender-ref>元素。

<appender>:必要属性name和class。可以包含零个或多个<layout>元素、零个或多个<encoder>元素和零个或多个<filter>元素,还可以包含appender类的任意数量的javabean属性。

43.一个完整的javascript实现由3部分组成:ECMAScript、DOM(Document Object Model)、BOM.

44.浏览器会按照<script>元素在页面中出现的先后顺序对它们依次进行解析。

45.浏览器在遇到<body>标签时才开始呈现内容,所以现在web程序一般都把全部js引用放到<body>元素中页面内容的后面。

46.<![CDATA[...]]> CData区域包含不需要解析的任意格式的文本内容。

47.spring默认是单态模式。

48.spring配置文件

<beans>

<bean id= class= destroy-method=>

<constructor-arg><ref /></constructor-arg>

<constructor-arg><value>1</value></constructor-arg>

<property name= value=></property>

<property name= ref=></property>

</bean>

</beans>

49.struts2的零配置是指不使用任何配置文件部署struts2,而是使用@注解配置

50.struts2配置文件:

<struts>

<package name= extends=>

<action name= class= method=>

<result name=></result>

</action>

</package>

</struts>

struts 2中,JSP是以<result />的形式配置的。

struts2中的每个action实例是线程安全的,处理一次请求便生成一个实例。使用完毕后便被直接抛弃。

51.struts2的配置文件:

web.xml:配置分发器Filter

struts.xml:配置Action,核心配置文件

struts.properties:配置属性(常量),例如后缀、上传文件大小,上传文件夹等。

struts2按如下顺序加载struts常量:struts.xml、struts.properties、web.xml,后一个文件中的配置会覆盖前面文件中的同名常量值。

52.sturts的Action接口只定义了一个execute()主方法,以及几个常用的结果名称(success、none、error、input、login等)。

53.Spring为资源访问提供了一个Resource接口。Resource不仅可在Spring的项目中使用,也可以直接作为资源访问的工具类使用。

54.Action是Struts2的基本“程序单位”,Struts2的Action类是一个普通的POJO类,通常直接使用Action来封装HTTP请求,因此,Action类里还应该包含与请求参数对用的属性,以及setter和gettet方法,以及无参的处理用户请求的excute方法。

Action类里的属性,不仅可用于封装请求参数,还可以封装处理结果。ActionSupport类是struts2默认的Action处理类。

55.Struts2的Action可以通过ActionContext类来访问Servlet API。

56.Action只是业务控制器,不能通过HttpServletResponse来生成服务器响应。

Action只是一个逻辑控制器,它并不直接对浏览器生成任何响应,Action处理完用户请求后,需要将指定的视图资源呈现给用户。

57.Struts2的核心组件就是Action、拦截器,配置<package.../>元素时,指定extends属性表示让该包继承另一个包。extends="struts-default"继承struts2框架的默认包。抽象包不能包含Action定义。当某个包指定了命名空间后,该包下所有的Action处理的URL应该是命名空间+Action名。

58.struts2的默认命名空间,相当于namespace="";访问action是在浏览器中输入http://localhost:8080:/项目名/FirstAction,就可以访问到index.jsp页面

59.action的class属性不是必需的,不指定的话,系统默认使用ActionSupport类。

60.通过指定method属性,一个Action可以定义多个逻辑Action,即Action类的每个处理方法都映射成一个逻辑Action,前提是这些方法形参列表为空,方法返回值为String。

61.当在Action的name属性中使用通配符后,可以用一个<action.../>元素代替多个逻辑Action,在class、method以及<result.../>中使用{N}的形式来代表前面第N个*所匹配的子串。

62.因为除非请求的URL与Action的name属性绝对相同,否则将按先后顺序来决定由哪个Action来处理用户请求,因此,应该将name="*"的Action配置在最后,否则Struts2将使用该Action来处理所有希望使用模式匹配的请求。

63.配置默认Action通过<default-action-ref.../>元素完成,配置Action默认处理类通过<default-class-ref.../>元素完成。

64.Struts2内建的支持结果类型如下:

chain、dispatcher(默认类型、JSP)、freemarker、httpheader、redirect、redirectAction、stream、velocity、xslt、plainText。

dispatcher和redirect的差别就是转发和重定向的差别:重定向会丢失所有的请求参数、请求属性,并丢失Action的处理结果。redirectAction则是生成对另一个Action的请求。

65.PreResultListener是一个监听器接口,它可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调。

66.通过Struts2的异常处理机制,可以无须在execute方法中进行任何异常捕捉,仅需在struts.xml文件中配置异常处理。

67.Ajax:异步Javascript和XML技术,可以使浏览器和服务器之间采用异步通信机制,从而避免了浏览者的等待,当服务器的响应成功返回浏览器时,浏览器使用DOM将服务器响应装载到当前页面的指定容器内。

当服务器响应到达客户端时,浏览器也无须重新加载整个页面,它只更新页面的部分数据,从而提高了页面的利用时间。Ajax技术的关键点在于异步发送请求。

68.简单的Ajax登录示例:浏览者输入用户名、密码之后,以异步方式来提交请求,Struts2的Action直接输出登录结果,无须使用额外的JSP页面。

69.JQuery是一个优秀的轻量级Ajax函数库。作为数据交换格式,json比xml更简洁,数据传输量更小。

70.js中用var操作符定义的变量为局部变量。省略var操作符会创建一个全局变量。

js有5种数据类型:Undefined、Null、Boolean、Number、String.

71. js有for-in语句,label语句

72.c语言的break语句只能跳出离它最近的一层循环

73.js中的函数使用function关键字声明,后跟一组参数以及函数体,函数在定义时不必指定是否返回值,实际上,任何函数在任何时候都可以通过return语句后跟要返回的值来实现返回值。实际上,未指定返回值的函数返回的是一个特殊的undefined值。

74.js函数的参数与大多数语言函数的参数不同,js函数不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。JS命名的参数只提供便利,但不是必需的。js中所有参数传递的都是值,不可能通过引用传递参数(其实就是引用传递)。再向参数传递引用类型的值时,会把这个值在内存的地址复制给一个局部变量。

75.js没有重载。传对象(包括数组、函数)时传引用,传数据类型时传值

76.在js中,当从一个变量向另一个变量复制引用类型的值时,这个值的副本实际上是一个指针。

77.

<script type="text/javascript">

</script>

<script>可以支持多种脚本语言,所以要用type进行区分。

78.JS不允许读/写用户硬盘上的文件。

79.JS的prompt()负责制作弹出窗口。

80.context:上下文、环境

81.JS的parseInt()和parseFloat()将字符串转变为数字。isNaN()检查是否为数字。

82.JS允许利用document.getElementById()函数以ID访问网页元素,并透过域的value性质访问数据。

83.制作(单次)定时器的js内置函数被称为setTimeout(),间隔定时器使用setInterval()设置。

84.maven项目中默认的主代码目录是src/main/java,默认的测试代码目录是src/test/java

85.mvn clean compile

   mvn clean test

   mvn clean package

   mvn clean install

   mvn archetype:generate

Maven执行测试之前,会先自动执行项目主资源处理、主代码编译、测试资源处理、测试代码编译等工作。

86.Maven的web项目的类及资源文件默认位置是src/main/java和src/main/resources,测试类及测试资源文件的默认位置是src/test/java和src/test/resources。另外它还有一个Web资源目录,默认位置是src/main/webapp。

war包中的lib目录包含所有依赖的jar包,但maven项目结构中没有这样一个目录,这是因为依赖都配置在POM中,maven在用war方式打包的时候会根据POM的配置从本地仓库复制相应的jar文件。

87.Spring MVC的核心是DispatcherServlet,这个Servlet充当Spring MVC的前端控制器。DispatcherServlet必须在程序的web.xml文件中进行配置。

88.Maven内置中央仓库的地址:http://repo1.maven.org/maven2/

89.Maven的坐标元素:

groupId:定义当前Maven项目隶属的实际项目。

artifactId:该元素定义实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目名称作为artifactId的前缀。

version:该元素定义Maven项目当前所处的版本。

packaging:该元素定义Maven项目的打包方式。当不定义packing的时候,Maven会使用默认值jar。

classifier:该元素用来帮助定义构建输出的一些附属构件。

90.一般来说,在Maven项目目录下,没有诸如lib/这样用来存放依赖文件的目录,当Maven在执行编译或测试时,如果需要使用依赖文件,它总是基于坐标使用本地仓库的依赖文件。

91.maven的快照版本只应该在组织内部的项目或模块间依赖使用。

92.spring支持通过<bean>元素的factory-method属性来装配工厂创建的Bean。

为了让spring在每次请求时都为bean产生一个新的实例,只需要配置bean的scope属性为prototype即可。

93.spring的命名空间p提供了另一种Bean属性的装配方式。

94.spring的<mvc:resources>建立了一个服务于静态资源的处理器。

<mvc:annotation-driven/>使用spring mvc提供的注解驱动特性。

<context:component-scan>将查找使用@Component注解的类并将其注册成Bean。

@Controller:表明这个类是一个控制器类

@Inject:

@RequestMapping({"/","/home"}):表明一个方法为请求处理方法,处理"/"或者"/home"路径的请求。请求处理方法会返回一个String类型值,这个值是要渲染结果的逻辑视图的名字。

95.当要为用户展示信息时,Spring MVC可以使用视图解析器来选择合适的视图。

InternalResourceViewResolver通过为逻辑视图名称添加特定的前缀和后缀来得到视图模板的路径。

96.ContextLoaderListener是一个Servlet监听器,它能够加载其他的配置文件到一个Spring应用上下文中。如果没有指定ContextLoaderListener需要加载哪些配置文件,上下文加载器会查找/WEB-INF/applicationContext.xml这个配置文件。为了给ContextLoaderListener指定一个或多个spring配置文件,需要在servlet上下文中配置contextConfigLocation参数。

97.DAO:Data access object

JDBC的异常体系过于简单,Hibernate的异常体系是其本身所独有的,数据访问异常要具有描述性而且又与特定的持久化框架无关。Spring JDBC提供的数据访问异常体系解决了以上两个不同问题。

98.Spring将数据访问过程中固定和可变的部分明确划分为两个不同的类:模板和回调,针对不同的持久化平台,Spring提供了多个可选的模板。

99.spring的JDBC框架承担了资源管理和异常处理的工作,spring为JDBC提供了3个模板类:

JdbcTemplate,NameParameterJdbcTemplate,SimpleJdbcTemplate,一般使用SimpleJdbcTemplate。

100.

单层架构:控制台+主机

两层架构:PC+主机服务器(C/S结构)

三层架构:PC+应用程序服务器+数据库服务器(B/S模式)

多层架构:PC+web服务器+应用程序服务器+数据库服务器

101.Spring 3支持几种不同的用于自动装配的注解:

Spring自带的@Autowired注解;

JSR-330的@Inject注解;

JSR-250的@Resource注解。

102. Spring的@PostConstruct注解可以实现在controller中实现初始化方法

103.js获取客户端窗口的大小:

document.body.clientHeight

document.body.clientWidth

网页上所有元素都有一个style对象,借此可以取得网页上任何事物的宽度和高度

document.getElementById("rockImg").style.height

onresize事件于浏览器有任何尺寸修改时被触发。

104.每个cookie都有有效日期,超过期限,浏览器随即清除cookie。

navigator.cookieEnabled可用于检查浏览器是否支持cookie。

105.var ss=new Array(); //在js中声明一个数组

或 var ss=["aa", "bb", "cc"];

var seats = new Array(new Array(9),new Array(9),new Array(9),new Array(9)); //创建二维数组

106.网页:

内容:HTML

功能:Javascript

外观:CSS

107.利用变量语法建立函数

var showSeatStatus = function(seatNum) {

......

};

函数字面量只是没有名称的函数主体。

108.与表单域有关是事件:

onfocus:

onblur/onchange:onblur事件极度适合触发数据验证

109.<span>标签原为空白,但它具有id。

110.

yum安装:yum install nginx

查询安装目录:rpm -ql nginx

111.当一个代理服务器能够代理外部网络上的主机访问内部网络时,这种代理服务的方式称为反向代理服务器。此时代理服务器对外就表现为一个Web服务器。

112.使用nginx -t命令可检查nginx配置文件是否正确。

113.linux下查看openssl命令:openssl version -a

114.

openssl genrsa -des3 -out server.key 1024

openssl req -new -key server.key -out server.csr

openssl rsa -in server.key -out server_nopass.key

openssl req -new -x509 -days 3650 -key server_nopass.key -out server.crt

常用的生成算法有RSA及DSA,RSA生成的私钥可以用来加密以及签名,而DSA生成的私钥只可以用来签名

(1)openssl genrsa [-des3] -out server.key 2048

genrsa:指定了生成了算法使用RSA

-des3:表示生成的key是有密码保护的(注:如果是将生成的key与server的证书一起使用,最好不需要密码,就是不要这个参数,否则其它人就会在请求的时候每次都要求输入密码) openssl genrsa -out server.key 2048

-out:后面的参数表示生成的key的输入文件

2048:表示的是生成key的大小,单为字节(bits)

创建证书申请

(2)openssl req -new -key server.key -out cert.csr

使用上面的命令就会创建一个证书申请,这里我们会要求输入国家、组织、姓名等信息,但是不会要求输入证书有效天数,因为证书有效天数是CA认证中心给我们的;然后我们会把这个生成好的cert.csr(Certificate Signing Request (CSR):证书签名申请)发给CA认证中心。

(3)openssl req -new -x509 -key server.key -out server.crt -days 3650

创建自签名的证书,如果不需要第三方授权,或者是要创建一个用于测试的授权,我们就可以这样操作。后面的参数"-days 3650"表示授权天数为3650天。



PEM,它是由RFC1421至1424定义的一种数据格式。其实前面的.cert和.key文件都是PEM格式的,只不过在有些系统中(比如Windows)会根据扩展名不同而做不同的事。所以当你看到.pem文件时,它里面的内容可能是certificate也可能是key,也可能两个都有,要看具体情况。可以通过openssl查看。


公钥和私钥一般都是用PEM方式保存,但是公钥文件还不足以成为证书,还需要CA的签名CSR是证书签名请求,CA用自己的私钥文件签名之后生成CRT文件就是完整的证书了CER和CRT其实是一样的,只是一般Linux下面叫CRT多,Windows下面叫CER多


Linux 下的工具们通常使用 base64 编码的文本格式,相关常用后缀如下:* 证书:.crt, .pem* 私钥:.key* 证书请求:.csr

115.netstat -tunlp |grep 22 //查看端口占用情况

116.linux下zip文件的解压命令:unzip xxx.zip

117.

linux下JDK和tomcat的安装,在/etc/profile文件中添加:

export JAVA_HOME=/usr/local/jdk1.8.0_51

export TOMCAT_HOME=/usr/local/apache-tomcat-6.0.43

export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

118.nginx用来测试配置文件的指令:

nginx -t -c <path-to-nginx.conf>

119.对user用户添加对所有数据库的远程访问权限

GRANT ALL PRIVILEGES ON *.* TO user@"%" IDENTIFIED BY "mima1234";

flush privileges;

120.查看已安装的nginx模块命令:

nginx -V

121.HTTPS采用共享密钥加密和公开密钥加密两者并用的混合加密机制。在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式。

122. mysql还原数据库命令

先创建数据库jfinalbbs

mysql -uroot -pmima1234 jfinalbbs < jfinalbbs_v1.5.sql

123.

SessionInViewInterceptor() 

124.相对网站根目录路径的写法是在被访问的网页或资源路径前加个"/",表示网站根目录。

125.灰色介于黑色和白色之间,只要RGB三原色的颜色值相等,表示的就是灰色,且值越大越接近白色(浅灰),值越小越接近黑色(深灰)。

126.HTML的单标签里可以添加部分属性,用空格分隔,而双标签可在其开始标签添加部分属性,用空格分隔。

<meta/>元信息标签为单标签,标签属性分为两种:页面描述信息(name)和http标题信息(http-equiv)。正确地设置name属性,以便搜索引擎的搜索机器人查找、分类。

name的取值如下:

keywords:搜索引擎根据keywords检索

description:检索到网页后显示description信息

author:作者

generator:网站编辑工具

robots:用于限制页面搜索方式,只有部分搜索引擎支持该标签

viewport:用于指定用户是否可以缩放Web页面

name属性主要用于对搜索引擎的优化。

http-equiv属性的值为:

content-type:设置页面的类别和语言字符集

refresh:设置多长时间页面自刷新一次

expires:设置页面到期时间

cache-control:缓存控制

set-cookie:设置cookie

127.加入CSS只需在头部信息加入<style type="text/css"></styple>

加入javascript只需在头部信息加入<script type="text/javascript"></script>

页面图标的设置:

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

128:<body>属性:

bgcolor:设置网页整体背景色

background:设置网页的背景图片

style="background:url(bg.jpg) center bottom repeat-x;"

leftmargin:左边距

topmargin:顶边距

<p></p>:分段标签

&nbsp;--代表一个英文空格

<br/>:强制换行

<nobr></nobr>:不换行

<p align="center">:设置段落文字对齐格式

<hr />:水平分隔线,包含width、size、align、color、title属性

<font></font>文字样式设置的基本标签,包含color、size(默认为3)、face(字体)属性

<i></i>  <em></em>:倾斜字体

<b></b>  <strong></strong>:加粗字体

<u></u>:下划线

<sup></sup>:上标

<sub></sub>:下标

<strike></strike>:中划线

<h1~6></h1~6>:标题

<marquee></marquee>:文字滚动效果

129:HTML的特殊字符:

< &lt

> &gt

"" &quot

§  &sect

?   &trade

?   &reg

×   &times

?   &copy

130:

<plaintext> <xmp></xmp>:忽略浏览器对部分HTML的解析。

131:无序列表:

<ul>

 <li></li>

 <li></li>

 <li></li>

</ul>


<ol>

 <li></li>

 <li></li>

 <li></li>

</ol>

131.超级链接

<a href=""></a> ,属性有target、title

锚(anchor)就是用于在单个页面内不同位置的跳转,超级链接标签的name属性用于定义锚的名称,一个页面可以定义多个锚,通过超级链接的href属性可以根据name跳转到对应的锚,在名称前面要加个#符号。

132.<img/>标签为单标签,属性有:width、height、border(边框)、title(提示文字)、alt(替代文字)、align(设置图像与文字的对齐方式)、usemap(使用热区)

133.背景音乐:

<bgsound src="" loop="-1" />

134.

<embed></embed>插入音频、视频、Flash动画文件,有属性src、width、height、autostart

135.表格

<table>

<caption></caption>  //标题

<thead>  //表头组

<th></th>

</thead>

<tbody>  //表身组

<tr>  //表行

<td></td>  //单元格

</tr>

</tbody>

<tfoot></tfoot> //表尾组

</table>

简化后的表格结构:

<table>

<tr>

<td></td>

</tr>

</table>

table的属性:width、height、align、border、bordercolor、bordercolorlight、bordercolordark、rules、cellspacing(表格外边距)、cellpadding(表格内边距)、bgcolor、background

单元格的colspan用于水平合并单元格,rowspan用于垂直合并单元格

136.表单

<form>

<input type="text"/>

<input type="password"/>

<input type="button"/>

<input type="reset"/>

<input type="submit"/>

<input type="radio"/>

<input type="checkbox"/>

<input type="image"/>

<input type="file"/>

<input type="hidden"/>

<textarea></textarea> 多行文本框

<select></select> 下拉列表和列表框

</form>

表单控件的id属性和name属性都是用于编程时对控件的引用,但是id属性的值不能重复而name属性的值可以重复。相同的class名称在页面中也可使用多次

137.窗口框架(H5中已经不使用)

<frameset>

<frame></frame>

</frameset>

138.浮动框架

<iframe></iframe>

139.CSS语法的核心包括3大要素:选择符(选择器)、属性和值

内部样式表:

<style type=text/css>

</style>

外部样式表:

<link rel="stylesheet" href="http://s01.mifile.cn/css/base.min.css?v2015a" />

CSS的选择符有5类:标签选择符、id选择符、class选择符、伪类及伪对象选择符、通配选择符。

伪类及伪对象选择符是一组CSS预定义好的类和对象,不需要进行id和class属性的声明。

140.div是一个没有任何特性的容器。div的高度自适应是相对于父容器的高度。

浮动属性是CSS布局的最佳利器,可以通过不同的浮动属性值灵活地定位div元素。

141.J2EE的JSP Model2:

JSP技术实现视图的功能

Servlet技术实现控制器的功能

JavaBean技术实现模型的功能

142.struts核心组件:

ActionServlet:一个标准的servlet

ActionMapping:

RequestProcessor:ActionServlet的代理处理类

Action:Action不是线程安全的

ActionForward:

ActionForm:符合javaBean规范,模型和视图的中介

上面的6个类再加上这些类之间的调用关系,就是struts所提供的框架,

需要自己开发的类只有Action和ActionForm Bean。

143.Servlet可以分为简单Servlet、过滤Servlet(过滤器)、监听Servlet(监听器)3种,JSP可以完成的只是简单的Servlet功能。

144.js:

document对象:

document.write

windows对象:

alert()

confirm()

prompt()

145.js中创建对象:

var obj = new Object();

js中只需声明构造函数即可定义对象类。

将函数赋值给对象的方法名时,不需要(),否则赋值的内容是函数的返回值。

with(对象名){

访问对象成员(属性或方法)的一条或多条语句。

}

146.js中创建数组

var myarray1 = new Array(10,20,30);

var myarray2 = [10,20,30];

var myarray3 = new Array(myarray1,myarray2); //二维数组

数组的方法:join()、concat()、push()、pop()、unshift()、shift()、reverse()、sort()、slice()、splice()、toString()

147.js的核心对象:Array、Date、Math、String、Function

148.浏览器对象模型:

windows对象、navigator对象、frames对象、location对象、document对象、history对象、screen对象

149.模板引擎(或者称表现层技术):

jsp、beetl、JetTemplate、freemarker、velocity

150.js的document对象主要包括HTML文档中的<body></body>内的内容,即HTML文档的body元素被载入时,才创建document对象。

151.JSP的9个内置对象,这些对象是容器为用户实例化的:

pageContext、request、response、session、application、config、out、pag、exception

152.JSP的四种属性范围:

page:只在一个页面中保存属性,跳转之后无效

request:只在一次请求中保存,服务器跳转后依然有效,此处的跳转只针对于服务器端跳转,如果在客户端使用超链接跳转则无效

session:在一次会话范围中,无论何种跳转(服务器端跳转或客户端跳转)都可以使用,但是新开浏览器无法使用。每一个新的浏览器连接上服务器后就是一个新的session。session只能用在HTTP协议中。

application:在整个服务器上保存,所有用户都可以使用,服务器重启后属性会消失

153.request表示客户端的请求,正常情况下,一次请求服务器只会给予一次回应,那么如果是服务器端跳转,请求的地址栏没有改变,所以也就是相当于回应了一次,而如果地址栏改变了,就相当于是发出了第二次请求,则第一次请求的内容肯定就已经消失了,所以无法取得。

154.浏览器的默认编码是UTF-8,中文的默认编码是GBK。

155.JSP中接收复选框的值需要使用getParameterValues()方法。

156.在web开发中,参数不一定非要由表单传递过来,也可以使用地址重写的方式进行传递,地址重写的格式如下:

动态页面地址?参数名称1=参数内容1&参数名称2=参数内容2&...

157.页面跳转:

<jsp:forward>属于服务器端跳转,是立即跳转,后面的代码都不在执行。所以数据库连接一定要在此之前关闭。

response.sendRedirect()属于客户端跳转,而且是在整个页面代码执行完后再进行跳转的。

158.所有的cookie是由服务器端设置到客户端上去的。在客户端每次向服务器端发送请求时都会将之前设置的cookie随着头信息一起发送到服务器上。如果想真正将cookie保存在客户端上,就必须设置cookie的保存时间,使用setMaxAge()方法。

159.在使用session操作时实际上都是用了cookie的处理机制,即在客户端的cookie中要保存着每一个Session Id,服务器端依靠此session id区分每一个不同的客户端。如果想在服务器重启后仍能使用session,可以使用序列化的方式保存session。

160.freemarker所解析的特殊部分包括:插值(${})、FTL(freemarker模板语言)标签(#或@)、注释(<#-- -->),另外指令就是所指的FTL标签。

161.freemarker处理不存在的值

${user!"defaultname"} 如果变量不存在使用默认值

<#if user??> 判断变量是否存在

162.如果向Tomcat中增加了jar包,肯定需要重新启动服务器,web.xml文件修改后,也需要重启服务器。一个tomcat可以同时配置多个虚拟目录,但是每个虚拟目录的path名称不能重复,否则服务器将无法启动。

163.所有的servlet程序都必须在web.xml文件中进行配置,如果一个web.xml文件要同时配置简单servlet、过滤器和监听器的话,建议按照如下步骤编写配置文件:

(1)先配置过滤器:<filter><filter-mapping>

(2)再配置监听器:<listener>

(3)最后配置简单servlet:<servlet>、<servlet-mapping>

164.struts1只支持JSP作为表现层技术。struts1已经通过配置文件管理逻辑视图名和实际视图之间的对应关系,只是没有做到让逻辑视图名可以支持更多的视图技术。

165.

struts1: ActionServlet

struts2: FilterDispatcher

166.HTML的form对象访问方法包括:数组访问方法和name访问方法

167.js并未限制在实行Ajax请求与响应时只能使用XML作为数据格式。

168.在JQuery库中,$就是jQuery的一个简写形式。

jquery对象就是通过jquery包装DOM对象后产生的对象。

$("#foo").html() 等价于 document.getElementById("foo").innerHTML;

jquery对象和DOM对象可以互相转换。

169.常见的CSS选择器:标签选择器、ID选择器、类选择器、群组选择器、后代选择器、通配符选择器。

170.把CSS应用到网页中有3种方式,即行间样式表、内部样式表和外部样式表。

171.判断网页中是否有id为tt的元素:

if($("#tt").length > 0) {

// do something;

}

172.jquery选择器分为基本选择器、层次选择器、过滤选择器和表单选择器。

过滤选择器都以一个:开头,可分为基本过滤、内容过滤、可见性过滤、属性过滤、子元素过滤和表单对象属性过滤选择器。

173.DOM操作分为3个方面,即DOM Core、HTML-DOM、CSS-DOM。

174.jenkins:

c:\jenkins>java -jar jenkins.war

http://localhost:8080

















你可能感兴趣的:(开发汇总)