u012315428的专栏

动态网页技术 asp 是html + javascrip + com 组件的形式 ,,功能强大简单易学,安装方便,效率高与cgi。 只能在windows上运行,实现企业级的功能困难:服务器的集群,负载均衡 中小型项目的选择 php 跨平台性,免费,效率高,良好的安全性 安装复杂,缺少企业级的支持 (php + mysql +linux + apache)免费而且功能强大。 jsp =html + java +jsp +js 优势,一次编写,到处运行,基于java技术 良好的跨平台性 多种开发工具的支持 强大的可伸缩性(jsp + javabean)的方式 jsp的产品复杂度高 jsp要求运行的机器配置高,需要占用更多的内存b/s 浏览器————服务器————浏览器 (ie)c/s 客户端————服务器————客户端 (qq,msn) 客户端都是自己开发的Servlet是服务器小程序,能由服务器调用和执行,用java编写,按照Servlet的规范开发,是学习jsp的基础,功能强大servlet/jsp的运行环境,浏览器+web服务器 tomcat +数据库sql 2000,oracle,mysqltomcat servlet容器,免费,性能好,启动:在tomcat的bin目录下,双击start.bat文件printwriter pw=res.getwriter();pw.println("hello,world");在浏览器上输出功能说明(使用use case图来说明uml (统一建模语言))设计数据库设计界面(原型开发)<servlet><servlet-name>hello名字</servlet-name><servlet-class>com.c.hello路径 包名加类名</servlet-class></servlet><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/sp</url-pattern> 输入的url任意的</servlet-mapping>servlet中向屏幕输入,PrintWriter pw=res.getWriter();pw.println("hello the world");通过继承httpservlet 开发servlet需要重写doget,dopostpublic void doGet(HttpServletRequest req,HttpServletResponse res){}req:用于获得客户端(浏览器)的信息,res:用于向客户端返回信息public void dppost(HttpServletRequest req,HttpServletResponse res){ this.doGet(req,res);}login —-验证—欢迎f不同的servlet共享数据1,cookie2,sendRedirect()转向:sendRedirect("要跳转的servlet的url?uname=“+cj);3,隐藏表单:<form action =login><input type=hidden name=a value b></form>可以把name为a值为b传递到login在url为login的界面中,可以和其他值一样通过String xex= req.getParameter("a");pw.println("xex="+xex);4,session技术把session看成一张表,两个部分,一个是该属性的名字(string),另一个是他的(object)得到sessionHttpSession hs=req.getSession(true);getId 此方法返回唯一的标识,这些标识为每个session而产生。当只有一个单一的值与一个session联合时,或当日志信息与先前的sessions有关时,它被当作键名用。 GetCreationTime 返回session被创建的时间。最小单位为千分之一秒。为得到一个对打印输出很有用的值,可将此值传给Date constructor 或者GregorianCalendar的方法setTimeInMillis. GetLastAccessedTime 返回session最后被客户发送的时间。最小单位为千分之一秒。 GetMaxInactiveInterval 返回总时间(秒),负值表示session永远不会超时。 getAttribute 取一个session相联系的信息。(在jsp1.0中为 getValue) Integer item = (Integer) session.getAttrobute("item") //检索出session的值并转化为整型 setAttribute 提供一个关键词和一个值。会替换掉任何以前的值。(在jsp1.0中为putValue) session.setAttribute("ItemValue", itemName); // ItemValue 必须不是must简单类型链接数据库servlet插入图片pw.println("img ser=imgs/1.gif图片的路径 weight设置长宽 ");分页技术int pagesize每页多少记录pagecount一共多少页pagenow希望显示第几页rowcount一共多少记录select 字段名列表 from 表名 where id between ? and ?但是如果显示的是每页显示三条记录的话,删除其中一条,继续使用该查询语句,每页中只会有两条显示所以使用如下的语句:select top pageSize 字段名列表 from 表名 where id not in(select top pageSize*(pageNow-1)id from 表名)相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,比如,你的Perl 程序是存放在c:/apache/cgi-bin 下的,那么 c:/apache/cgi-bin就是cgi-bin目录的绝对路径在网络中,以http开头的链接都是绝对路径,绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,绝对路径一般在CGI程序的路径配置中经常用到,而在制作网页中实际很少用到。二、相对路径使用的特殊符号以下为建立路径所使用的几个特殊符号,及其所代表的意义。"./":代表目前所在的目录。"../":代表上一层目录。以"/"开头:代表根目录。根目录下有Site1和Image/Image.jpg,Site1下有Page1.html文件和Site2文件夹。Site2下有Page2.html和Page2Image.jpg图片文件。1、文件在当前目录 Page2.html访问Page2Image.jpg <img src=”./Page2Image.jpg”>或者<img src=”Page2Image. jpg”> 2、文件在上一层目录 Page1.html访问Image下的Image.jpg <img src=”../Image/Image.jpg”> Page2.html访问Image下的Image.jpg <img src=”../../Image/Image.jpg”>3、文件在下一层目录 Page1.html访问Site2文件夹下的Page2Image.jpg <img src=” ./Site2/Image.jpg”><img src=” Site2/Image.jpg”>4、根目录表示法,任何页面访问Image下的Image.jpg图片 <img src=”/Image/Image.jpg”>三、常使用且要注意的地方A、Css中的图片路径。写css里的图片路径,url是图片针对样式文件的位置– index.html– css /main.css– images/1.jpg如果: index.html引用main.css,且在main.css 引用images目录里的1.jpg : background: url(../images/1.jpg) *** 正确background: url(images/1.jpg) *** 错误B、Js中图片地址均相对于调用JS的页面的相对位置。document.getElementById("IMG1").style.backgroundImage= "url(../Images/login.jpg)";四、优缺点及使用的地方1、绝对路径的优点 A、如果有人抄袭你的网站内容,里面的链接还会指向你的网站,有些抄袭的人比较懒,根本不会去改内容。其实也不局限于被抄袭,如果有人将你的网页保存到本地电脑中,里面的链接、图片、css、以及js仍然会连接到你的网站。 B、如果网页位置改变,里面的链接还是指向正确的URL。2、绝对路径的缺点: A、在编码编写时不方便使用绝对路径,因为链接应该指向真正的域名而不是开发站点。相对路径的优缺点和绝对路径几乎相反。3、相对路径的优点: A、容易移动内容,可以整个目录移动。 B、测试方法比较灵活,本机测试时比较方便。4、相对路径的缺点: A、部分内容页面换了位置时,链接容易失效。 B、容易被人大面积采集抄袭。五、相对路径和绝对路径在系统文件中与在网络中类似,文件的路径符号是斜线“/”,而网络路径却是和它相反的反斜线“/”六、小知识:“新建网站”与“新建虚拟目录”的差别,一些用过的IIS的人都会知道新建虚拟目录,可以用来指定一个目录来运行ASP程序,但是如果ASP/HTML源代码里经常出现类似这样的代码“<img src="/images/logo.gif" >”,注意“images”的前面斜杠“/”。如果是在虚拟目录不能调用此图片的了,而只有新建网站才能。其实相对路径里的首字符是斜杠时,这表示是相对与网站的根目录,但虚拟目录始终都是一个网站底下的子目录,所以就不能用了七、(一)、Cs类中获取绝对路径: System.Web.HttpContext.Current.Request.Url.Scheme + "://" + System.Web.HttpContext.Current.Request.Url.Authority +System.Web.HttpContext.Current.Request.ApplicationPath+"/";(二)、在一个工程中,根目录下有JsLib/common.js文件。这是一个公用JS文件,项目中每个页面均会调用这个JS文件一个方法。此方法是基于Jquery的Ajax访问返回列表的一个方法,ajax访问的路径是根目录下的Common/main.ashx。现在碰到的问题是如何保证这个Ajax访问的路径在“新建网站”和“虚拟目录”中均可以访问。 比如在根目录下的YHMGE/UserAdd.aspx页面。 1、在“虚拟目录”中查看路径(Company为虚拟目录名称):2、在“新建网站”中查看路径:如果要保证在“新建网站”和“虚拟目录”中均可以访问,对于上面两个连接,无法写通用的方法获取页面基于根目录有几层。所以有一种思路就是使用绝对路径,获取common.js的根路径便可以访问句柄页面了。我们可以在common.js文件中获取/JsLib/common.js文件的绝对路径,再经此路径去掉“/JsLib/common.js”部分,再将要访问的Common/main.ashx接在这个路径便可以。获取根路径(基于Jquery):function getRootPath(){ var scriptObj = $("script[src$=’/JsLib/common.js’]"); if(scriptObj==undefined) { return ""; } var srcBase = scriptObj.eq(0).attr("src").replace("/JsLib/common.js","");; return srcBase}1、在“虚拟目录”中查看路径(Company为虚拟目录名称):<script src="" type="text/javascript"></script>截取后得出:,再接上“Common/main.ashx”,得出便可顺利访问2、在“新建网站”中查看路径:<script src="" type="text/javascript"></script>截取后得出: ,再接上“Common/main.ashx”,得出 Common/main.ashx便可顺利访问 当然,这个方法的前提是JS文件的引用是绝对路径。成功的插入把图片放在webroot的imgs的新建文件夹中pw.println("<img src=../imgs/wel.gif ><br>");

也有伤心的,既有令人兴奋的,也有令人灰心的,

u012315428的专栏

相关文章:

你感兴趣的文章:

标签云: