1. servlet和jsp技术概述An Overview of Servlet and JSP Technology
1.1 servlet的功能
servlet是运行在web服务器或应用服务器上的java
负责连接web或其他们http客户请求和http服务器上
数据库或应用程序
1 读取客户发送的显示数据
2 读取由浏览器发送的隐式请求数据。
3 生成结果
4 向客户发送显式数据
1.2 要动态构建网页的原因
网页基于客户发送的数据
网页由频繁改变的数据导出
使用了来自公司数据库或其他服务器端数据源的信息
1.3 servlet代码初探
1.HelloServlet.java
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=\"#FDF5E6\">\n" + "<H1>Hello</H1>\n" + "</BODY></HTML>"); }
1.4 servlet相对于传统的CGI的优点
1. 效率
2 便利 servlet提供大量的基础构造,可以自动分析和解码 HTML的表单数据,读取和设置HTML表头
,处理COOKIE,跟踪会话
3 强大 servlet能直接与web服务器对话
多个servlet还可以共享数据,从而使用数据库连接共享和资源共享。
4 可移值性
5 廉价
6 安全性
7 主流
1.5 JSP作用
可以把servlet看作是含有HTML的java程序;将jsp看作是含有JAVA代码的HTML页面
清单1.2 store.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD><TITLE>Welcome to Our Store</TITLE></HEAD> <BODY BGCOLOR="#FDF5E6"> <H1>Welcome to Our Store</H1> <SMALL>Welcome, <!-- User name is "New User" for first-time visitors --> <%= coreservlets.Utils.getUserNameFromCookie(request) %> To access your account settings, click <A HREF="Account-Settings.html">here.</A></SMALL> <P> Regular HTML for rest of online store’s Web page </BODY></HTML>
servlet最适拿调用商业逻辑,执行复杂操作。一个简短的规则是:对于面向处理的任务,servlet是正
确选择,对于面向表示的任务,jsp是最佳选择。