【转】jsp 和 servlet的联系和区别
简单的说,SUN首先发展出SERVLET,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTML非常不方便。 后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的SCRIPT语言。
JSP在本质上就是SERVLET,但是两者的创建方式不一样.
Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观.
JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.
因此在实际应用中采用Servlet来控制业务流程,而采用JSP来生成动态网页.
在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层.
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
JSP编译后是“类servlet”。
Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。
JSP侧重于视图,Servlet主要用于控制逻辑。
看一个简单的jsp+servlet的例子,消化消化:转载自:http://hi.baidu.com/wy521ly/blog/item/0523092af322b19d033bf648.html
开发环境myeclipse+tomcat5 先创建web project,项目名为test, 在webroot 目录下创建login.jsp文件 login.jsp <body> 在scr目录下的com.ht.servlet 编写AcountBean.java文件 package com.ht.servlet; public class AcountBean { 编写servlet类CheckAccount.java文件 package com.ht.servlet; import java.io.IOException; import javax.servlet.ServletException; public class CheckAccount extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) public void doPost(HttpServletRequest request, HttpServletResponse response) doGet(request, response); } 在webroot目录下 编写session.jsp文件 成功后跳转 <body> 编写fail.jsp文件 失败后跳转 <body> 下面是web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <servlet-mapping> 通过myeclipse运行 配置tomcat 这里省略。。。 http://127.0.0.1:8080/tset/ 验证察看结果 |