Java Web应用概述
Java Web
应用的核心技术包括以下几个方面:
u JSP
,进行输入输出的基本手段;
u JavaBean
,完成功能的处理;
u Servlet
,对应用的流程进行控制;
u JDBC
,是与数据库进行交互不可缺少的技术;
u JSTL
和表达式语言EL
,完成JSP
页面中各种信息的控制和输出。
JSP
主要完成输入和输出的功能,主要是由HTML
代码、客户端脚本(JavaScript
等)、JSP
的标签和指令、自定义标签库构成。下面是一个典型的JSP
的例子:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
用户信息如下
:
<table>
<tr>
<th>
用户编号</th>
<th>
用户名</th>
<th>
生日</th>
</tr>
<c:forEach items="${userlist}" var="user">
<tr>
<td>${user.userid}</td>
<td>${user.username}</td>
<td>${user.birthday}</td>
</tr>
</c:forEach>
</table>
简单解释如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
这两行是
JSP
指令
用户信息如下
:
<table>
<tr>
<th>
用户编号</th>
<th>
用户名</th>
<th>
生日</th>
</tr>
以上是
html
代码
<c:forEach items="${userlist}" var="user">
标准标签库标签
<td>${user.userid}</td>
<td>${user.username}</td>
<td>${user.birthday}</td>
HTML
中嵌套表达式语言
JavaBean
完成系统的所有的处理功能
,JavaBean
就是Java
中的普通的Java
类
,
所以没有特殊的地方。另外,Java Web
技术中提供了多个与JavaBean
操作相关的标签。
Servlet
技术,可以完成与JSP
相同的功能。但是其表现形式与JSP
不同,JSP
是以脚本文件的形式存在,而Servlet
则是以Java
文件的形式存在。所以Servlet
也是Java
类,是特殊的Java
类,在Java Web
技术中主要完成控制功能,负责协调JSP
页面和功能JavaBean
之间的关系。下面是一个典型的Servlet
的例子:
package servlets;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import beans.*;
public class LoginServlet extends
HttpServlet{ //
所有的Servlet
需要继承HTTPServlet
//
主要方法
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException{
//
获取JSP
页面信息,获取用户输入的用户ID
和口令
String userid = request.getParameter("userid");
String userpass = request.getPrameter("userpass");
//
创建模型对象
UserBean user = new UserBean();
//
调用业务方法进行验证
boolean b = user.validate(userid,userpass);
//
要转向的文件,选择响应用户的界面
String forward;
if(b)
forward = "success.jsp";
else
forward = "failure.jsp";
//
对用户响应
RequestDispatcher dispatcher
= request.getRequestDispatcher(forward);
dispatcher.forward(request,response);
}
}
与数据库的交互几乎是所有Java Web
应用不可缺少的,并且可能是各种类型的数据库管理系统,但现在多数都是关系型数据库管理系统。Java
中提供了JDBC
技术来完成Java
应用与各种数据库系统之间的交互。虽然JDBC
技术不属于Java Web
技术,但是在Java Web
技术中不可避免的要使用JDBC
技术。所以JDBC
是也算是Java Web
开发中比较重要的技术之一。
JSTL
和表达式语言是在JSP2.0
之后引入的,主要目的是为了方便用户在JSP
页面中使用常用功能。典型的是信息的输出,因为JSP
界面的主要功能就是展示信息,使用表达式语言使得信息的显示非常简单。就像在上面的JSP
代码中的${user.userid}
,完成的功能是从request
(后面的章节会介绍)中获取user
对象的userid
属性。如果使用Java
代码,就没有这么简单了。另外JSTL
中提供了大量常用的功能,例如选择结构和循环结构,在上面的JSP
例子中就使用了<c:forEach>
标签完成循环控制。
注:在本书的后面部分中,如果没有特殊说明,Web
应用都表示Java Web
应用。
上一讲:
第二讲 Web应用概述
下一讲:
第四讲 Java Web应用的文档结构