- 博客(44)
- 收藏
- 关注
转载 上下文监听者ServletContextListener
一个监听类,不是一个servlet或JSP,它能监听ServletContext一生中的两个关键事件:初始化(创建)和撤销。这个类实现了javax.servlet.ServletContextListener 这个监听类的功能: 1.上下文初始化时得到通知(应用得到部署)。 a.从ServletContext得到上下文初始化参数。 b.使用初始化参数查找名建立一个数据库连接。
2015-02-28 21:07:43
1523
转载 权限与指令间的关系
一、让用户能进入某目录成为[可工作目录]的基本权限: 1.可使用的指令:例如cd等变换工作目录的指令; 2.目录所需权限:用户对这个目录至少需要具有x的权限; 3.额外需求:如果用户想要在这个目录内利用ls查阅文件名,则用户对此目录还需要r的权限。二、用户在某个目录内读取一个档案的基本权限: 1.可使用的指令:例如cat,more,less等; 2.目录所需权限:用户对这个目录至少需要具有
2015-02-24 10:55:32
498
转载 指令与档案的搜寻
一、脚本文件名的搜寻 which(搜寻“执行档”) which [-a] command 选项或参数: -a:将所有由PATH目录中可以找到的指令均列出,而不止第一个被找到的指令名称 这个指令是根据[PATH]这个环境变量所规范的路径,去搜寻[执行档]的档名。二、档案档名的搜寻 1.whereis (寻找特定档案) whereis [-bmsu] 档案或目录名 选项与参数: -b:
2015-02-24 10:14:32
353
转载 档案与目录的默认权限与隐藏权限
一、档案的预设权限:umask umask就是指定“目前用户在建立档案或目录时的权限默认值” ①umask 可以看到数字形态的权限设定分数 ②umask -S(Symbolic) 以符号类型的方式来显示出权限若建立“档案”则预设“没有可执行(x)权限”,只有rw这两个项目,也就是最大为666,权限为 -rw-rw-rw-。 若建立“目录”,则由于x与是否可以进入此目录有关,因此默认所有权
2015-02-24 09:47:44
400
转载 servlet初始化参数和上下文初始化参数
一、 每个servlet有唯一一个ServletConfig,只对配置了的相应servlet可用。 ①容器读取这个servlet的部署文件,包括servlet初始化参数()。 ②容器为这个servlet创建一个新的ServletConfig实例。 ③容器为每个servlet初始化参数创建一个String名/值对。 ④容器向ServletConfig提供名/值初始化参数的引用。 ⑤容器创建
2015-02-23 18:00:20
1759
转载 档案内容查阅
一、直接检视档案内容1.cat(concatenate)cat [-AbEnTv]-A: 相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;-b:列出行号,仅针对非空白行做行号显示,空白行不标行号-E:将结尾的断行字符$显示出来-n:打印出行号,连同空白行也会有行号,与-b的选项不同-T:将[tab]按键以^I显示出来-v:列出一些看不出来的特殊字符
2015-02-05 19:05:11
382
转载 蚂蚁
一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置输入格式输入的第一行为数据组数。每组数据的第一行为3个正整数L,T,n(0以下n行每行描述一致蚂蚁的初始位置,其中整数x为蚂蚁距离木棍左端的距离,字母表示初始朝向(L表示左,R表示右)
2015-02-04 18:53:00
2278
转载 墓地雕像
在一个周长为10000的圆上等距离分布着n个雕塑。现在又有m个雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布。这就需要移动其中一些原有的雕塑,要求n个雕塑移动的总距离最小。输入包含多组数据,每组数据一行,包含两个整数n和m输出仅一行,为最小距离,精确到10E-4思路:确定一个原点--->其它点的位置便能确定---->所有点移到最近的目标---->无相同位置
2015-02-04 16:37:05
487
转载 档案与目录的检视 ls、 复制删除与移动
复制、删除与移动:cp、rm、mv1.cp(复制档案或目录)2.rm(移除档案或目录)rm [-fir] 档案或目录-f:就是force的意思,忽略不存在的档案,不会出现警告讯息;-i:互动模式,在删除前会询问使用者是否动作;-r:递归删除3.mv(移动档案与目录,或更名)
2015-02-04 12:15:36
315
转载 目录的相关操作
1.一些特殊目录. 代表此层目录.. 代表上一层目录- 代表前一个工作目录~ 代表【目前用户身份】所在的家目录~account 代表account这个用户的家目录(account是个账号名称)2.cd(变换目录)3.pws(显示目前所在的目录)pwd [-P]-P:显示出确定的路径,而非使用链路(link)路径4.mkdir(建立新目录)mkdir [-
2015-02-04 11:54:51
250
转载 请求和响应
1.servlet的生命周期如果servlet没有初始化,则要么正在初始化(运行其构造函数或init()方法)、正在撤销(运行其destroy()方法),要么就是不存在servlet实例被创建之后,并在servlet能为客户请求提供服务之前,容器要对servlet调用init()。当第一个客户请求到来时,容器会开始一个新线程,或者从线程池分配一个线程,并调用servlet的se
2015-02-03 18:28:22
907
转载 Linux的档案权限与目录配置
Linux文件属性改变文件属性和权限1.改变所属群组,chgrpchgrp [-R] dirname/filename ...-R:进行递归(recursive)的持续变更,即连同目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况例:chgrp users install.log (要有users这个群
2015-02-02 19:09:35
378
原创 MVC初探
4个步骤:①分析用户视图及高层体系结构②创建用于开发这个项目的开发环境③创建用于部署这个项目的部署环境④对各个组件完成迭代的开发和测试用户视图 form.htmlInsert title hereBeer Selection Page<form method="post" action="SelectBeer.do"> Select bee
2015-02-02 10:43:19
253
转载 web应用体系结构
1.容器tomcat是一个容器,向Servlet提供HTTP请求和响应,并调用servlet方法。2.容器处理请求a)用户点击一个链接,指向一个servlet,而不是一个静态页面b)容器看出来这个请求是一个servlet,所以容器创建两个对象HttpServletResponseHttpServletRequestc)容器根据请求中的URL找到正确的servlet,为这
2015-02-02 10:35:29
1241
原创 请求响应、URL剖析
1.请求与响应a)用户键入一个URLb)浏览器创建一个HTTP GET请求c)HTTP GET发送到服务器d)服务器找到页面,然后生成HTTP响应e)HTTP响应被发送到浏览器 f)浏览器显示HTML2.URL剖析
2015-02-02 10:01:45
286
原创 初识Linux
重新启动X Window的快速按钮[Alt]+[Ctrl]+[Backspace] X Window与文本模式的切换Linux预设提供七个Run level,最常用的run level 3 与 run level 5./etc/inittab 内修改为run level 3 开机时即文本环境登入,run level 5即窗口环境登入 终端登入linux1.
2015-02-02 09:33:26
260
原创 磁盘分区
磁盘连接的方式与装置文件名的关系IDE接口:通常主机会提供两个IDE接口,称为IDE1(primary)及IDE2(secondary),每条扁平电缆上面的IDE装置可以被分为Master与Slave。这四个IDE装置的文件名为:SATA接口:SATA/USB/SCSI的磁盘装置文件名都是/dev/sd[a-p]的格式。SATA/USB接口的磁盘根本没有一定的顺序,
2015-02-02 09:29:33
225
原创 最长公共子序列
#include#includechar X[100],Y[100];char res[100];int k=0;int func(char x[],char y[],int i,int j){ int m,n; if(i==0 || j==0) { for(m=0;m<=i;m++) for(n=0;n<=j;n++) if(x[m]==y[n])
2015-02-02 09:28:07
287
原创 最优装载问题
给定一艘容量为C的船,给定一批货物,货物i的重量是wi,要求在船不超重的前提下,将尽可能多的货物装上船。//回溯法#includeint n,c; //货物的个数 和 船的容积int cw; //已装总重量int bestw; //最优解int *w;void backtrack(int i){ if (i==n+1) { if
2015-02-01 17:15:33
611
转载 最优合并问题
给定k个排好序的序列s1,s2,…,sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并两个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需要的总比较次数最少。//思路:贪心算法#include#includeint *sort(int *arr,int start,int end){ int
2015-02-01 17:14:23
2374
1
转载 最小重量机器问题
设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设wij 是从供应商j 处购得的部件i的重量,cij是相应的价格。对于给定的机器部件重量和机器部件价格,编程计算总价格不超过d的最小重量机器设计。输入第一行有3 个正整数n ,m和d。接下来的2n 行,每行n个数。前n行是c,后n行是w。输出将计算出的最小重量,以及每个部件的供应商样例输入 3 3
2015-02-01 17:13:00
407
原创 最大子段和
给定n个整数(可能包含负数)组成的序列,求该序列子段和的最大值。#include#include//常规思路,暴力求解/*int maxSum(int *arr,int n){ int i,j,k; int sum=0,thisSum,besti,bestj; //i,j分表代表起始位置和终止位置 for(i=0;i<n;i++) {
2015-02-01 17:12:14
363
原创 子集和问题
子集和问题的一个实例为。其中S={x1,x2,…,xn}是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得S1中所有元素的和为c。 问题分析:将问题的所有解空间进行构造,得到一棵二叉树。回溯法求解。#include int i,n,c;//S中元素个数n 及 c的值int sum=0,flag=0;int *S,*mark;voi
2015-02-01 17:10:29
1301
转载 勇者砍恶龙
你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?一个骑士只能砍一个头输入格式输入包含多组数据。每组数据的第一行为正整数n和m(1以下n行每行为一个整数,即恶龙每个头的直径;以下m行每行为一个整数
2015-02-01 17:09:26
470
转载 突击战
你有n个部下,每个部下需要完成一项任务。第i个部下需要你花Bi分钟交待任务,Ji分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕。不能同时给两个部下交待任务,但部下可以同时执行他们各自的任务。输入格式包含多组数据,每组数据的第一行为部下的个数N(1输入结束标志位N=0输出格式输出所有任务完成的最短时间思路:使用贪心算法,按照J从大到小的
2015-02-01 17:06:49
772
转载 数字三角形问题
给定一个由n行数字组成的数字三角形,设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。(0,0)(1,0) (1,1)(2,0) (2,1)(2,2)(3,0) (3,1)(3,2) (3,3)思路:动态规划动态方程: sum(i,j) = a(i,j) + max{sum((i+1),j) , sum((i+1),(j+1
2015-02-01 17:05:01
261
原创 数独
#includechar sudoku[9][9];char arr[9];//输入void inSudoku(char sudoku[9][9]){ int i; for(i=0;i<9;i++) scanf("%s",sudoku[i]);}//文件读取void readSudoku(char sudoku[9][9]){ int i,j; FILE* f
2015-02-01 17:04:21
390
转载 石子合并问题
在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选择相邻的两堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。利用贪心来做是错误的,贪心算法在子过程中得出的解只是局部最优,而不能保证使得全局的值最优。需要通过动态规划算法来求出最优解思路:设m(i,j)定义为第
2015-02-01 17:02:54
598
原创 16进制转10进制
//十六进制转十进制 //思路:将16进制数展开,按数位依次操作,每次将前面的乘16,再加上当前数位的值。 #include#includeint main(){ int i,len,temp; unsigned long sum; char hex[8]; int hexNum[8]; scanf("%s",hex); len=strlen(hex); for(i=
2015-02-01 17:02:05
597
原创 16进制转8进制
//16进制转8进制//思路:16进制转成2进制串,2进制串从后每3位转成8进制串#include #include #define maxN 10#define maxLength 100000int main(){ int i,j,k,m,n,len,temp,sum; char a[maxN][maxLength]; char *bi;//转换成2进制所存储的数组
2015-02-01 17:01:27
380
原创 全排列
#includeint count = 0;//数组中元素的个数//全排列函数void perm (char alph[],int start){ int i; char temp; if(count-start==2)//剩下两个元素时停止递归 { for(i=0;i<count;i++) printf("%c",alph[i]); putchar('\n'
2015-02-01 17:00:34
268
原创 汽车加油问题
一辆汽车加满油后可以行驶n公里,旅途中有加油站,设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。输入:第一行有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1 个整数,表示每段之间的距离。输出:输出编程计算出的最少加油次数。如果无法到达目的地,则输出”NoSolution”。#includevoid fu
2015-02-01 17:00:19
741
原创 排列的字典序问题
问题描述:n个元素共有n!个不同的排列。将这n个元素按照字典序排列可以从0编号,直至n!-1。例如,当n=3时,6个不同排列的字典序值为:0 1 2 3 4 5123 132 213 231 312 321编程任务:给定n以及n个元素的一个排列,计算出这个排列的字典序值;给定一个字典序列,计算出该序列按字典序排列的下一个排列。#
2015-02-01 16:59:02
464
转载 李白打酒
酒壶有酒2斗,逢店加一倍,遇花喝一斗。共遇店5次,遇花10次。已知最后一次遇到的是花,正好把酒喝光。可以把遇店记为a,遇花记为b。则:babaabbabbabbbb就是合理的次序。像这样的答案一共有多少呢?//回溯法#includeint count=0;//???int shop,flower,wine;void backtrack(int t){ if(t=
2015-02-01 16:57:56
459
转载 阶乘计算
#include#includeconst int maxn = 3000;int f[maxn];int main(){ int i,j,n; scanf("%d",&n); memset(f,0,sizeof(f)); f[0]=1; for(i=2;i<=n;i++) { //乘以i int c = 0; //每乘一个数的进位 for(j=0;j<ma
2015-02-01 16:56:58
343
原创 活动安排问题
设有n个活动的集合E={1,2,3,…,n},所有的活动要求使用同一资源,而在同一时间内只有一个活动能使用这一资源,每个活动都有使用这一资源的开始时间si和结束时间fi,且si<fi。目标:要在所给的活动中,找出最大的相容的活动子集合。//贪心算法#includevoid main (){ int i,endTime; int n; int *s,*f,*exis
2015-02-01 16:55:29
319
转载 分金币
//圆桌旁坐着n个人,每个人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。//求出被转手的金币数量的最小值。//比如,n=4,4个人金币数目分别是1,2,5,4,只需转移4枚金币(第3个人给第2个人两枚,第2个人和第4个人分别给第1个人1枚)即可实现手中金币数目相等//输入格式//包含多组数据。每组数据第一行为整数n(n
2015-02-01 16:53:53
529
原创 统计单词个数
#includeint get_word_num(char* buf){ int n = 0; int tag = 1; char* p = buf; for(;*p!=0;p++){ if(*p==' ' && tag==0) tag=1; if(tag==1 && *p!=' ') { n++; tag=0; } } return n;}int
2015-02-01 16:52:51
239
原创 产生随机数
#include#include#include int Random(int m, int n){ int pos, dis; if(m == n) return m; else if(m > n) { pos = n; dis = m - n + 1; return rand() % dis + pos; }
2015-02-01 16:52:04
257
原创 n后问题
暴力求解#include #include int place(int *arr,int n){ int i,j; for(i=0;i<n;i++) for(j=i+1;j<n;j++) if( arr[i]==arr[j] || abs(i-j)==abs(arr[i]-arr[j]) ) return 0; return
2015-02-01 16:50:42
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人