首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    sun公司当时为什么要发明jsp技术?jsp技术有什么意义?

    马克-to-win:Servlet的部分知识终于学完了,但Servlet有一个问题:当我们用Servlet往回写html片段时,Servlet的 out.println能把人累死,不知大家发现了没有。反正Sun公司的人发现了这个问题,于是sun公司推出jsp技术,jsp就等于Servlet +html。你的html再也不用通过Servlet的out.println打印出来了,你完全可以直接写html。最后Tomcat会把你的jsp (Servlet+html)转成一个纯Servlet。现在,程序员可以省大事儿了。html通常是美工的工作,而Servlet是软件工程师的工作。 大批量out.println工作,无疑是非常繁琐的,大量的,没有任何技术含量的而且强加给软件工程师的一份工作。这么看来jsp真是一个好技术。

    00

    JSP原理(概述)

    1.JSP概述 1.1什么是jsp:它的英文全称:java server pages,java服务端页面,它是建立在servlet 规范基础上的动态网页开发技术。 java服务端 页面:在jsp上可以写java代码,也可以写html标记,它运行在服务端。 jsp=java+html+jsp自身的一些东西。 为什么会产生jsp技术: 因为在早期,没有jsp时,需要servlet向页面写数据,比较麻烦,所以就产生了jsp技术。 jsp最大的特点:可以非常简单的书写页面。 jsp其实他的本质是servlet,可以看到,jsp继承了HttpJspBase 继承HttpServlet。 1.2 编写第一个jsp文件:jsp生成java文件,编译成class文件,存在tomcat服务器的work目录。 注意:修改jsp的默认编码格式,window—>preferences—>jsp files---->encoding—>修改 1.3 JSP的运行原理

    02

    Struts底层工作原理

    上 面我们在讲:taglib推出以后的巨大变革中,讲到:你在jsp中引入他们的一个标签儿,再按照他们的语法配置,被你引入的那个标签儿,就能够调用你编 写的类。下面我们就给出一个例子来说明这件事是怎么实现的。底下例子中的struts.tld和 com.struts.GetDataFromDB.java,这两个文件都是struts这个架构公司编的。它把这两个文件,打包在一个jar包里,发 布出来。各路世界的工程师到它的网站下载下来,导到自己的项目当中。比如在我自己的项目中,我编写了一个index.jsp,其中我引用了struts公 司的一个标签,struts:getDataFromDB,这个标签的两个属性className和methodName规定了,只要你把自己写的类名和 方法名写在这里,这个标签就能调用你的类里的方法。还规定你的这个方法返回的,一定是从数据库获得的一个字符串。之后它这个标签儿就能把你的这个返回的字 符串显示在网页上。总体算一下,从数据库当中取回字符串显示在网页当中,整个这件事,我们只编写了自己的一个类 com.myself.GetDataFromDB,而且完全是按照我们自己的意志,访问的数据库。因为这个类完全是我们自己编写的。大部分的代码tld 文件和com.struts.GetDataFromDB.java文件,还是struts架构公司编写的。优点一: jsp中避免了使用脚本元素,用的是标签儿,方便维护。优点二,这里没有用我们自己编的标签儿。引入了一个新的架构struts,可以利用这个架构当中的 其他很多标准特性,比如上传,国际化等。

    03

    JSP入门教程(4)[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君。使用 脚本 在有些地方,你大概要加一些好的,成熟的程序到你的JSP页里,JSP的 标签 虽然很强大,但是完成某些工作还是比较费力的困难的。这时你可以使用脚本 语言 段来补充JSP标签。 使用的JSP引擎是支持脚本语言的,SUN的JSP参考文说明,必须使用Java程序语言来编写脚本,但是其他第三方的JSP引擎允许使用其他语言来写脚本程。 如何增加脚本 首先,你必须了解一些增加脚本元素到JSP页中的一些基本规则 1、 在JSP页面里用Page指令定义脚本(默认值是Java,一般不需要定义) 2、 声明 语法 <%!……%>声明变量和方法(函数)。 3、 表达式语法<%=……%>定义脚本语言表达式 4、 脚本语法〈%……%>可以操作声明、表达式和其他类型合法的 代码 段在页脚本语言。 5、 一定要在结尾加%>标签 声明、表达式、脚本使用起来有一些相似,但也有一些不同让我们用一些例子来讲述一下相同点和不同点吧。 声明<%!……%>包含了一个或多个变量和方法,结尾以分号分隔。 例:<%! Int I=0 ; %> <%! Int a, b ; double c ; %> <%! Circle a = new circle(2.0) ; %> 在页面中使用变量和方法之前必须声明 声明的范围通常是JSP页,但如果页面中使用INCLUDE指令包含其他页面,范围应变得扩展到被包含的页面。 表达式<%=……%>可以在页面中包含任何合法的语言表达式,不用分号。 例:<%= Math.sqrt(2) %> <%= item[I] %> <%= a+b+c %> <%= new java.util.date() %> 表达式和脚本的一个关键的不同点就是不需要分号。如果你需要在脚本中使用表达式就必须加分号。 脚本<%……%>允许你写的任何数量的脚本语言 例:<% String name=null ; If (request.getParmeter(“name”)==null{ %> 记住在脚本中必须使用分号结尾。 猜数字游戏 猜数字游戏非常的有趣,而且从这里你还可以学到很多表达式的用法。 代码 显示用的主屏幕(numguess.jsp) <!– Number Guess Game Written by Jason Hunter, CTO, K&A Software jasonh@kasoftware.com, http://www.servlets.com Copyright 1999, K&A Software Distributed by Sun Microsystems with permission –> <%@ page import = “num.NumberGuessBean” %>

    01

    JSP 基本凉凉,学妹不知道他是啥

    JSP(全称JavaServer Pages)是由 Sun Microsystems 公司主导创建的一种动态网页技术标准。JSP 部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成 HTML、XML 或其他格式文档的 Web 网页,然后返回给请求者。JSP 技术以 Java 语言作为脚本语言,为用户的 HTTP 请求提供服务,并能与服务器上的其它 Java 程序共同处理复杂的业务需求。   JSP 将 Java 代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP 引入了被称为“ JSP 动作”的 XML 标签,用来调用内建功能。另外,可以创建 JSP 标签库,然后像使用标准 HTML 或 XML 标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP 文件在运行时会被其编译器转换成更原始的 Servlet 代码。JSP 编译器可以把 JSP 文件编译成用 Java 代码写的 Servlet,然后再由 Java 编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

    02

    java学习与应用(4.6)--过滤器、监听器、JQuery、AJAX、JSON等

    Filter过滤器:客户端在请求服务器资源前和返回响应,会通过过滤器,以拦截请求完成特殊功能。登录校验、统一编码校验等一些通用操作放置到过滤器。 定义类实现接口Filter(javax.servlet),复写方法(init(服务器启动调用),doFilter(写入FilterChain.doFilter进入方法放行,之后的代码为返回响应执行的信息),destory(服务器关闭前执行)),配置拦截路径(@WebFilter(/*为所有资源都拦截))。 web.xml配置(WEB_INF下),配置filter标签下的filter-name,filter-class。配置filter-mapping标签下url-pattern,filter-name。也可直接用注解@WebFilter配置即可。 配置详解:拦截路径配置(具体资源路径、目录/xxx/*、后缀*.jsp,所有资源/*等)。 配置符合请求方式访问资源前进行的拦截(REQUEST浏览器直接请求,FORWARD转发访问资源,INCLUDE包含访问资源,ERROR跳转资源,ASYNC异步访问资源),使用注解的dispatcherType(可传入数组)。 也可配置web.xml的dispatcher标签拦截符合条件的资源被访问方式。 过滤器链(多个过滤器),资源进入通过的过滤器和返回的顺序相反。使用注解:过滤器执行的先后使用类名字符串比较(如AFilter,BFilter等)顺序执行。使用web.xml:filter-mapping的先后顺序执行 设置登录校验,可以在Filter中对指定页面校验session值判断放行和跳转等。敏感词汇过滤:使用装饰模式、代理模式等来增强request。在代理模式中使用代理对象代理真实对象达到增强真实对象,代理中增强返回值为。 静态代理使用类文件描述代理模式,动态代理在内存中形成代理类。代理对象和真实对象实现相同接口,使用Proxy的newInstance获取代理对象(传入如:lenovo. getClass(). getClassLoader(), lenovo. getClass(). getInterfaces(), new InvocationHandler( ),然后重写invoke),使用代理对象获取真实。 proxy为代理对象,method为代理对象被调用的方法,args为被调用时传递的参数。invoke中写入Object obj=method.invoke(xxx,args);return obj方式增强真实对象。通过修改代理传入的参数,返回值,和方法体,进行增强和修改。

    01

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券