Servlet 介绍

servlet 是运行在web服务器或应用服务器上的java程序, 它是一个中间层, 负责连接来自web浏览器或其他http客户端的请求和HTTP服务器上的数据库或应用程序.

为什么要构建动态网页?

  • 网页基于客户发送的数据, 例如搜索引擎, 在线商店, 要根据客户的选择来生成不一样的页面
  • 网页由频繁改变的数据导出, 如果网页是根据每个具体操作而生成的不同网页, 我们当然需要动态网页
  • 网页中使用了来自公司数据库或其他服务端数据源信息, 这个当然, 如果使用静态网页无法满足从数据库获得不同的数据.

最开始的动态网页生成, 利用servlet 是通过大量的 out.println 来实现的, 例如下边代码: (servlet 代码)

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; public class HelloServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String docType = "<!doctype html public \" -//w3c//DTD html 4.0 "
+ "Transitional //EN\ ">"\n";
out.println(doctype +
"<html>\n" +
"<head><title>hello</title></head>\n" +
"<body bgcolor = \"#FDF5F6\">"\n" +
"<h1>hello</h1>\n" +
"</body></html>"); }
}

从上边的 out.println 我们可以看出, 这样虽然可以创建动态网页, 但是十分麻烦.

JSP介绍

可以将 servlet 看做是含有HTML的java程序, 将jsp看做是含有java代码的html页面. 其实, 实际上二者是相同的, jsp 文档只不过是编写 servlet 的另一种方式, jsp 页面会被翻译成servlet, servlet 会被编译(java程序), 在请求期间运行的就是 servlet.

下面是 jsp 代码

   1:  <!doctype html public "-//w3d//dtd html 4.0 transitional //en">
   2:  <html>
   3:      <head>
   4:          <title>Welcome to our store</title>
   5:      </head>
   6:      <body bgcolor="#FDF5E6">
   7:          <h1>Welcoem to our store</h1>
   8:          <small>Welcome,
   9:              <!-- User name is "New user" for first-time visitors -->
  10:              <%= coreservlets.Utils.getUserNameFromCookie(request) %>
  11:              To access your account settings, click
  12:              <a href="Account-Settings.html">Here.</a>
  13:          </small>
  14:          <p>
  15:          Reqular html for rest of online store's web page
  16:      </body>
  17:  </html>

jsp 注重简化 html 的创建和维护. servlet 最适合于调用商业逻辑, 执行复杂操作. (jsp 偏向view, 而servlet偏向control)

01 Servlet & Jsp 技术概述的更多相关文章

  1. Struts框架——(一)用Servlet + JSP演示Struts基本原理

    一. 用Servlet + JSP演示Struts基本原理 struts是开源项目.它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC的应用框架.Stru ...

  2. <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)

    (一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...

  3. Servlet,jsp,JSP技术 ,JSP编程

     一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...

  4. Servlet&&Jsp 概述

    主题 Servlet的作用 构建动态网页 Servlet代码初探 Servlet与其他技术的对比 Jsp的作用 Servlet的作用 Servlet是在web服务器或应用服务器上用来动态生成html的 ...

  5. Servlet组件之 jsp 技术

    JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成    HTML+java+jsp内置对象=jsp ...

  6. Ajax+Jsp+servlet+json技术的使用

    Ajax+Jsp+servlet+json技术的使用 在使用json的时候,记得必须导入如下几个.jar包,最好是手动复制.jar包只lib路径下,否则可能出现异常. commons-beanutil ...

  7. JSP/SERVLET重定向技术综述

    1.RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个S ...

  8. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

  9. servlet&jsp高级:第三部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

随机推荐

  1. 十招让Ubuntu 16.04用起来更得心应手

    Ubuntu 16.04是一种长期支持版本(LTS),是Canonical承诺发布五年的更新版.也就是说,你可以让这个版本在电脑上运行五年!这样一来,一开始就设置好显得特别重要.你应该确保你的软件是最 ...

  2. 【实践】用for-in 循环实现三联联动

    之前用jq 做过一次三联联动以及四联联动 现在为了更好地了解对象用js的原生方式做了一次 *本节要点方法:  obj.selectedIndex  获取下拉列表选中的option 的索引  obj.o ...

  3. weblogic 异常 com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.次异常怎么解决

    问题 更改控制台密码后,服务重启失败,无法启动,报错如下: <-- 下午03时10分49秒 CST> <Info> <WebLogicServer> <BEA ...

  4. iPhone销售拉动 鸿海精密第一季度利润增长21%

    据美国<华尔街日报>5月15日消息,苹果公司主要代工厂鸿海精密发布,第一季度利润增长21%.主要得益于iPhone手机销量强劲以及生产效率提升. 这家全球最大的电子产品代工商近一半的收入是 ...

  5. android之Activity.startManagingCursor方法详解

    在使用数据库操作查询数据后,如果是在Activity里面处理,那么很可能就会用到startManagingCursor()方法,在这里讲一下它的作用和使用注意事项. 调用这个方法,就是将获得的Curs ...

  6. Core Data NSAttribute Type 数据类型

    一:使用Core Data 的可用数据类型 NSAttributeType Defines the possible types of NSAttributeType properties. Thes ...

  7. Android秒级编译工具Freeline

    Freeline 是 Android 平台上的秒级编译方案,Instant Run 的替代品,由蚂蚁聚宝Android 团队开发,它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设 ...

  8. POJ 2976 Dropping tests (最大化平均值)

    题目链接:click here~~ [题目大意]给你n个分数的值,要求最小不选k个,使得最后分数相加结果平均值最大 [解题思路]:最大化平均值:參见:click here~~ 代码: #include ...

  9. 【PHP】组合条件搜索SQL

    前端html多个搜索条件组合 后台一个sql语句,很方便和简洁:仅提供思路. 也可以配合着进行分页操作,非常赞~

  10. Javascript 判断网页横竖屏

    本篇文章由:http://xinpure.com/javascript-to-determine-page-anyway-screen/ Html5 流行至今,自适应的网站已经多如牛毛,但是横竖屏的切 ...