当前位置: 技术问答>java相关
请详细介绍一下这几个概念和各自功能用途tomcat, javabean ,servlet(JSP初学者)
来源: 互联网 发布时间:2015-04-19
本文导语: 请详细介绍一下这几个概念和各自功能用途tomcat, javabean ,servlet(JSP初学者) | Servlet: 是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI...
请详细介绍一下这几个概念和各自功能用途tomcat, javabean ,servlet(JSP初学者)
|
Servlet:
是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资.
Tomcat:
是Servlet 2.2和JSP 1.1规范的官方参考实现。Tomcat既可以单独作为小型Servlet、JSP测试服务器,也可以集成到Apache Web服务器。直到2000年早期,Tomcat还是唯一的支持Servlet 2.2和JSP 1.1规范的服务器,但已经有许多其它服务器宣布提供这方面的支持。
Tomcat和Apache一样是免费的。不过,快速、稳定的Apache服务器安装和配置起来有点麻烦,Tomcat也有同样的缺点。和其他商业级Servlet引擎相比,配置Tomcat的工作量显然要多一点.
JavaBean:
是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资.
Tomcat:
是Servlet 2.2和JSP 1.1规范的官方参考实现。Tomcat既可以单独作为小型Servlet、JSP测试服务器,也可以集成到Apache Web服务器。直到2000年早期,Tomcat还是唯一的支持Servlet 2.2和JSP 1.1规范的服务器,但已经有许多其它服务器宣布提供这方面的支持。
Tomcat和Apache一样是免费的。不过,快速、稳定的Apache服务器安装和配置起来有点麻烦,Tomcat也有同样的缺点。和其他商业级Servlet引擎相比,配置Tomcat的工作量显然要多一点.
JavaBean:
是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
|
1.
JSP相当于ASP。
servlet是用java写的,所实现的功能与asp有共通之处。
tomcat我上面已经说过了,相当于IIS之于asp。
2.
/servlet/Login是一个servlet的java的class,正式的文件名应该是Login.class。
这是一个servlet,大致如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Login extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
printHeader(out, response);
....
....
submit = request.getParameter("submit");
printLoginMessage(out);
printClosing(out);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
this.doGet(request, response);
}
/**
* Print the top portion of the HTML page.
* No dynamic content here.
*/
public void printHeader(PrintWriter output,
HttpServletResponse resp)
{
//Tell the browser what type of data we are sending.
resp.setContentType("text/html");
output.println("n" +
"n" +
"Servlet Quizn" +
"n" +
"n" +
"");
}
/**
* Closes the HTML page.
*/
public void printClosing(PrintWriter output)
{
output.println("n" +
"");
}
/**
* Prints the form for the Login message
*/
public void printLoginMessage(PrintWriter output)
{
// Check to see if Login message was submitted.
// If so, print it.
if (submit != null)
{
printToScreen(output);
}
}
//You can print what you want to screen.
public printToScreen(PrintWriter out)
{
...
...
}
}
如果不用servlet,用JSP的话,可以方便一些。
注意:区分大小写。
JSP相当于ASP。
servlet是用java写的,所实现的功能与asp有共通之处。
tomcat我上面已经说过了,相当于IIS之于asp。
2.
/servlet/Login是一个servlet的java的class,正式的文件名应该是Login.class。
这是一个servlet,大致如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Login extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
printHeader(out, response);
....
....
submit = request.getParameter("submit");
printLoginMessage(out);
printClosing(out);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
this.doGet(request, response);
}
/**
* Print the top portion of the HTML page.
* No dynamic content here.
*/
public void printHeader(PrintWriter output,
HttpServletResponse resp)
{
//Tell the browser what type of data we are sending.
resp.setContentType("text/html");
output.println("n" +
"n" +
"Servlet Quizn" +
"n" +
"n" +
"");
}
/**
* Closes the HTML page.
*/
public void printClosing(PrintWriter output)
{
output.println("n" +
"");
}
/**
* Prints the form for the Login message
*/
public void printLoginMessage(PrintWriter output)
{
// Check to see if Login message was submitted.
// If so, print it.
if (submit != null)
{
printToScreen(output);
}
}
//You can print what you want to screen.
public printToScreen(PrintWriter out)
{
...
...
}
}
如果不用servlet,用JSP的话,可以方便一些。
注意:区分大小写。
|
tomcat:
可用于JSP和Servlet运行的服务器。
类似于IIS对于ASP的作用(这是我自己的理解)。
javabean:
JavaBeans是Java的组件模型。
servlet:
Servlet 是用 Java 代码编写的服务器方软件程序,用于处理客户机和服务器之间的消息传递。
可用于JSP和Servlet运行的服务器。
类似于IIS对于ASP的作用(这是我自己的理解)。
javabean:
JavaBeans是Java的组件模型。
servlet:
Servlet 是用 Java 代码编写的服务器方软件程序,用于处理客户机和服务器之间的消息传递。
|
先回答第一个问题:
这个问题只能告诉你我个人的理解,不一定是正确的答案。我认为,JSP是一定要通过server才能运行的,他和cgi-bin是没有关系的,也不应该放在这个目录下,server不认这个目录的。这个你所用的服务器的server.xml的配置很有关系。另外,jsp毕竟不是asp,不要把这两个的概念等同。
第二个问题:
/servlet/login是用来调入这个class并通过服务器运行他的。如果输入http://IP/servlet/login.class,他根本找不到这个class,因为这个class不再servlet目录下。我觉得没有办法下载,因为tomcat服务器自动解析了他,通过打IP,是不可能得到这个class的。或许有别的方法,但是我觉得不行,除非用什么工具吧。
这个问题只能告诉你我个人的理解,不一定是正确的答案。我认为,JSP是一定要通过server才能运行的,他和cgi-bin是没有关系的,也不应该放在这个目录下,server不认这个目录的。这个你所用的服务器的server.xml的配置很有关系。另外,jsp毕竟不是asp,不要把这两个的概念等同。
第二个问题:
/servlet/login是用来调入这个class并通过服务器运行他的。如果输入http://IP/servlet/login.class,他根本找不到这个class,因为这个class不再servlet目录下。我觉得没有办法下载,因为tomcat服务器自动解析了他,通过打IP,是不可能得到这个class的。或许有别的方法,但是我觉得不行,除非用什么工具吧。