JSP页面。
一、从单词本身来看,servlet可以拆分为“server缩写+英语后缀-let”,server当然指的是服务器,英语后缀-let表示“小”,整个单词就是“小服务”。
二、servlet的全称是java server applet,那个applet是“application缩写+英语后缀-let”,表示“小应用”,整个全称就是“java服务器端小应用”。
三、servlet的本质是运行在服务器端的java程序,相对的运行在客户端的java程序就叫applet;至于为什么servlet的全称中会有个applet的单词,我个人感觉这是因为先有客户端applet的概念,后来在客户端applet的基础上衍生封装打包啥的产生了服务器端servlet的概念。
四、servlet是为了解决什么问题而产生的,经查资料,这个最开始的据今n年前,我们写的前端.html文件为:html标记+大量的业务处理逻辑,这种html叫动态网页。
五、在产生servlet之前人们也开发了其他技术来处理大量的业务逻辑,叫“公共网管接口--CGI”,后来因为这种技术的各种缺点被弃用然后被servlet替代。
第一,环境配置:使用的jsp环境是j2sdk1.4.0_01+Tomcat 4.1.
第二,编译servlet程序:编译servlet程序需要把C:\Tomcat 4.1\common\lib\servlet.jar文件复制到C:\j2sdk1.4.0_01\jre\lib\ext目录下,否则会发生编译错误。
第三,配置web.xml文件
在web.xml文件中加入下列描述代码:
<servlet>
<servlet-name>HelloJsp</servlet-name>
<servlet-class>HelloJsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloJsp</servlet-name>
<url-pattern>/servlet/HelloJsp</url-pattern>
</servlet-mapping>
第四,把编译好的class文件放在WEB-INF\classes包内或指定的目录下。
第五,运行。
事例代码:
HelloJsp.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloJsp extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello Jsp!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello Jsp!</h1>");
out.println("</body>");
out.println("</html>");
}
}
按上数步骤,最后在浏览器中输入: http://localhost:8080/servlet/HelloJsp
如果出现Hello Jsp!的字样就ok了!
JSP页面实质就是servlet类。
原因:
1)你说得对,servlet就是个类,在开发中,一般新建个类,extends HttpServlet,
实现doGet和doPost方法,用以处理用户的get或者post请求,再将此servlet类配置到web.xml,
映射该servlet类[开发工具有专门生成servlet类的选项,省去了诸多步骤]
2)因为servlet类输出html非常麻烦,故推出了JSP技术。当用户访问JSP页面时,实际上在服务端
已将该请求的JSP页面转译编译成servlet类,然后加载此servlet,运行,返回响应内容。
tomcat\apache-tomcat-6.0.35\work\Catalina\localhost
你可以查看tomcat服务器上的此目录,里面都为你所建JSP页面编译过去的servlet类。。。
--希望对你有帮助。
Servlet(Server Applet),全称Java Servlet,暂无中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。
外文名
Servlet
类 别
程序
环 境
Java applet
平 台
Java Web Server
通俗的说jsp是嵌套java代码的html,servlet是嵌套html的java代码
两者在实质上是相同的,任何.jsp文件都回被翻译成java代码然后在机器上执行
但是由于两者在配置和编写方式上的不同
jsp一般被用在view层上,用来显示数据
servlet一般做后台的逻辑上的业务处理用
javaean做数据持久层功能的处理
mvc层的基本用法就是这样,实际上应根据自己的需要灵活选择那种方式
但目前mvc是最好的配置方案了!
servlet引擎,jsp引擎,其实就是engine这个英文单词的翻译,其实原意是“发动机”的意思,就是说能够驱动相应元素运转的发动装置,引申过来,就是说能够支持servlet或jsp运行的东西,这个东西当然就是指tomcat这类Java应用服务器了。
除tomcat外,还有websphere, jboss, weblogic等等类似的Java应用服务器。
这些应用服务器,还有个说法叫Servlet容器或JSP容器,其实还是指它们。
不必太纠结这些说法,主要要搞清楚jsp或servlet是如何在服务器支持下和浏览器通过http协议通信的。
java中的super()是什么?
要说super就先要说this。
"this",作为一个特殊的关键字,它的规则如下:
1。可以表示构造函数传递。this(a,b)表示调用另外一个构造函数。这里面的this就是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用,表示当前这个对象。此时,this就是一个final的普通变量,它有静态类型,就是这个类C本身;它有动态类型,就是当前这个对象的类型。你可以对它调用成员函数,把它传递给别的函数,等等等等。只要一个C类型的final变量可以出现的地方,它就可以出现。
"super"。它和"this"类似,但是也有不同的地方。
1。表示调用父类的构造函数。也是一个特殊语法,不是变量,没有什么类型。
2。可以在一个类的非static成员内部使用。比如super.method()。
但是,注意,这个super.method()只是长得跟some_var.method()一样,一个语法糖而已。实质上,"super"根本不是一个变量。
为什么不是?因为如果是就坏了。java里面有一个金科玉律:任何public非static函数的调用都是多态的。
所以,如果super是个变量,也指向当前对象,那么,不管super的静态类型是什么super.method()必然调用的是子类的那个版本,而不会是我们期望的,静态地选择父类的那个版本。
所以,你只要把super.xxx看成一个特殊的语法,比如理解为“super::xxx”就好了。
既然super不是一个变量,那么不能把它象一个普通变量那样"==",或者传递给某个函数就看起来很正常了,是么?何况,你其实也用不着它,有this你这些要求就都可以办到了。
3。super的另外一个作用是调用父类的protected函数。只有通过"super"这个魔咒,我们才能操作父类的protected成员,别无它法。
http://zhidao.baidu.com/question/14360400.html
1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
jsp你表面上看着都是类似html那样的标签,但是在运行的时候,编译器都会先将它翻译成java文件,就是将成的jsp文件翻译成相应的java文件,然后再编译成字节码再运行,所以说jsp本质上还是servlet。
非要说JSP是一个Servlet只能说他们都由HTML代码和Java代码构成,而实际JSP是一个Servlet是有很大区别的。
Servlet和JSP两者最大的区别就是,Servlet以Java程序为主, 输出HTML代码时需要使用out.println函数,也就是说Java中内嵌HTML; 而JSP则以HTML页面为主,需要写Java代码时则在页面中直接插入Java代码, 即HTML中内嵌Java。
用Java开发Web应用程序时用到的技术主要有两种,即Servlet和JSP。 Servlet是在服务器端执行的Java程序,一个被称为Servlet容器的程序(其实就是服务器) 负责执行Java程序。而JSP(Java Server Page)则是一个页面, 由JSP容器负责执行。