01 Servlet & Jsp 技术概述
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 技术概述的更多相关文章
- Struts框架——(一)用Servlet + JSP演示Struts基本原理
一. 用Servlet + JSP演示Struts基本原理 struts是开源项目.它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC的应用框架.Stru ...
- <关于JSP技术>运行机制及语法概述(附对本次同济校内ACM选拔赛决赛的吐槽)
(一)JSP运行的机制 JSP是一种建立在Servlet规范功能之上的动态网页技术,它们都是在通常的网页文件中嵌入脚本代码,用于产生动态内容,不过和ASP不同的是JSP文件中嵌入的是Java代码和JS ...
- Servlet,jsp,JSP技术 ,JSP编程
一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...
- Servlet&&Jsp 概述
主题 Servlet的作用 构建动态网页 Servlet代码初探 Servlet与其他技术的对比 Jsp的作用 Servlet的作用 Servlet是在web服务器或应用服务器上用来动态生成html的 ...
- Servlet组件之 jsp 技术
JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成 HTML+java+jsp内置对象=jsp ...
- Ajax+Jsp+servlet+json技术的使用
Ajax+Jsp+servlet+json技术的使用 在使用json的时候,记得必须导入如下几个.jar包,最好是手动复制.jar包只lib路径下,否则可能出现异常. commons-beanutil ...
- JSP/SERVLET重定向技术综述
1.RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个S ...
- Java Web之JSP技术
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...
- servlet&jsp高级:第三部分
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
随机推荐
- Appium处理滑动方法是swipe
滑动API:Swipe(int start x,int start y,int end x,int y,duration) 解释: int start x-开始滑动的x坐标:int start y - ...
- PHP的抽象类、接口的区别和选择[转载]
区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过关键字extends继承. 2.接口中不可以声明成员变量(包括类静态变量),但是可 ...
- C# socket 编程入门
http://www.cnblogs.com/chenxizhang/archive/2011/09/10/2172994.html
- Git学习笔记二--工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 简单理解: 我们使用mkdir Git在d盘下创建的文件夹,就是工作区,我们编辑readme.txt文件就是在工作区下完成的: gi ...
- JAVA 画图机制
java学习脚印:深入java绘图机制 写在前面 封装性越好的类在使用时,只要清楚接口即可,而不应该让程序员了解其内部结构; 对于平常的绘图来讲,java绘图机制无需了解太多,但是朦胧容易产生错误,绘 ...
- 算法笔记_162:算法提高 复数归一化(Java)
目录 1 问题描述 2 解决方案 1 问题描述 编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(a*a+b*b) + i*b/sqrt(a*a+b*b) . ...
- 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)
在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp ...
- SqlServer报错:System.Data.SqlClient.SqlException
在将Asp.Net MVC4项目部署到新机器上进行调试的时候,出现了如下错误: System.Data.SqlClient.SqlException 具体的内容如下: System.Data.SqlC ...
- 在 SELECT 查询中使用集运算符
在 SELECT 查询中使用集运算符,可以将来自两个或多个查询的结果合并到单个结果集中. 在进行集运算之前,请确保: (1)所有输入集合中,列数和列的顺序必须相同. (2)对应的列中,数据类型必须兼容 ...
- SUSE11SP3--安装svn
SUSE上安装新版本的subversion是一件很麻烦的事情,涉及到的依赖太多,包括需要更新部分工具的版本. 为了以较小的代价安装subversion,我决定在SUSE11下安装 subversion ...