jsp/servlet区别
简介:
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
区别:
运行过程的区别:
客户在第一次请求JSP时,JSP Engine先把JSP程序转换成servlet代码(JSP本质上是servlet),接着将他编译成类文件,以后每次对此类文件执行;
访问servlet时,可以直接对其编译好的类文件执行。
使用规则的区别:
要想使用servlet必须把它放在特定位置而且必须对其配置;
jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。
程序组成的区别:
在Html中内嵌java代码组成jsp文件;
servlet是由纯java代码组成。
主要职能的区别:
jsp主要负责页面效果展现
servlet主要负责逻辑控制
其实jsp经过容器解释之后就是servlet.
只是我们自己写代码的时候尽量能让它们各司其职,
jsp更注重前端显示,
servlet更注重模型和业务逻辑。
jsp就是在html里面写java代码,
servlet就是在java里面写html代码
不要写出万能的jsp或servlet来即可。
web.xml用来建立servlet与jsp的关系(需要放在WEB-INF内)
index.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Expires" content="0">
<meta http-equiv="kiben" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>搞个大事情?</h1>
<form method="post" action="hello.do">
<select name="test">
<option value="yes">yes</option>
<option value="no">no</option>
</select> <br> <input type="text" name="firstname">
<center>
<input type="submit" value="提交看看结果">
</center>
</form>
</body>
</html>