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. 2017.12.12 架构探险-第一章-从一个简单的web应用开始

    参考来自:<架构探险>黄勇 著 1 使用IDEA搭建MAVEN项目 1.1 搭建java项目 (1)创建java项目 为了整个书籍的项目,我创建了一个工程,在这个工程里创建了每个章节的mo ...

  2. PHP实现程序单例执行

    原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=222 作者:Jenner 一.场景描写叙述: 近期我们一块业务.须要不断的监听一个文件夹的变化.假设文件夹中 ...

  3. Java中equals()、equalsIgnoreCase()和==的区别

    用久了C#,在Java中,判断一个字符串还是习惯性的用了==,但是总是不能按照正确的判断分支运行,后来才想起来Java中是有equals的,然后就有引出了equalsIgnoreCase.   这三种 ...

  4. SOA服务总线设计

    背景 基于总线的设计,借鉴了计算机内部硬件组成的设计思想(通过总线传输数据).在分布式系统中,不同子系统之间需要实现相互通信和远程调用,比较直接的方式就是“点对点”的通信方式,但是这样会暴露出一些很明 ...

  5. CSS优先级的详细解说

    一.什么是CSS优先级? 所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序. 二.CSS优先级规则 既然样式有优先级,那么就会有一个规则来约定这个优先级,而这个“规则”就是本次所需要讲的重 ...

  6. STL源码剖析(deque)

    deque是一个双向开口的容器,在头尾两端进行元素的插入跟删除操作都有理想的时间复杂度. deque使用的是分段连续线性空间,它维护一个指针数组(T** map),其中每个指针指向一块连续线性空间. ...

  7. 5种样式实现div容器中三图摆放实例对比说明

    代码地址如下:http://www.demodashi.com/demo/11593.html 效果演示: demo点查看效果 需求说明: 如下图所示为设计图,希望在图片上传无规则无规律的情况下实现设 ...

  8. js对数组按顺序排序

    console.log("------默认排序(ASCII字符排序)------"); ,,,,]; arr.sort(); //ASCII字符代码从小到大排序 console.l ...

  9. C-Scanf连续调用多次并且存在%c的问题

    问题现象: 当程序中存在多个scanf时,针对第一个scanf的输入,一般用户会以空白字符(空格.换行.tab.换页符)等结束.但若后面有一个scanf(“%c”,&ch),则刚才输入的空白字 ...

  10. sql 语句中 id&lt ;SELECT * FROM t_blog WHERE id&lt;#{id} ORDER BY id DESC LIMIT 1