@nextleaf
2018-09-18T17:50:50.000000Z
字数 2297
阅读 1124
Java
JSP
Servlet
MVC
<%@ page contentType="text/html;charset=UTF-8" import="包.类,..." pageEncoding="UTF-8"%>
重定向:客户端请求容器的资源A,A可以发回一个302状态码和一个localtion的消息头,客户端收到302之后,立即向location指定的位置发出请求.
转发:客户端请求服务器的资源A,A通知容器,由容器将控制权交给组件B,继续完成后续的工作.
(1)地址栏的变化:重定向后,地址栏会发生变化,转发后地址栏不会发生变化。
(2)请求的资源:转发只能是应用内的资源,而重定向没有这个限制。
(3)转发过程中涉及到的组件共享同一对request和response,而重定向则不会。
(4)转发的效率(一次请求一次相应)要高于重定向(两次请求,两次相应)
转发:一件事还没完成,需要其他组件继续做
重定向:一件事已经完成了,去做另外一件事。
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
JSP连接数据库.jsp
<%--
Created by IntelliJ IDEA.
User: 14472
Date: 2018/9/17
Time: 21:02
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page import="java.io.*,java.util.*,java.sql.*" %>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%--
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
--%>
<html>
<head>
<title>SELECT 操作</title>
</head>
<body>
<!--
JDBC 驱动名及数据库 URL
数据库的用户名与密码,需要根据自己的设置
useUnicode=true&characterEncoding=utf-8 防止中文乱码
-->
<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/javabasedemo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false"
user="huang" password="huang"/>
<sql:query dataSource="${snapshot}" var="result"> SELECT * from tableemp;</sql:query>
<h1>JSP 数据库实例</h1>
<table border="1" width="100%">
<tr>
<th>ID</th>
<th>name</th>
<th>salary</th>
<th>age</th>
</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
<td><c:out value="${row.id}"/></td>
<td><c:out value="${row.name}"/></td>
<td><c:out value="${row.salary}"/></td>
<td><c:out value="${row.age}"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>