[关闭]
@nextleaf 2018-09-18T17:50:50.000000Z 字数 2297 阅读 1104

2018-09-17 工作日志

Java JSP Servlet MVC


设置中文编码

  1. <%@ page contentType="text/html;charset=UTF-8" import="包.类,..." pageEncoding="UTF-8"%>

servlet转发到JSP显示

servlet的MVC模式实例

转发和重定向的区别

重定向:客户端请求容器的资源A,A可以发回一个302状态码和一个localtion的消息头,客户端收到302之后,立即向location指定的位置发出请求.

转发:客户端请求服务器的资源A,A通知容器,由容器将控制权交给组件B,继续完成后续的工作.

(1)地址栏的变化:重定向后,地址栏会发生变化,转发后地址栏不会发生变化。
(2)请求的资源:转发只能是应用内的资源,而重定向没有这个限制。
(3)转发过程中涉及到的组件共享同一对request和response,而重定向则不会。
(4)转发的效率(一次请求一次相应)要高于重定向(两次请求,两次相应)

转发:一件事还没完成,需要其他组件继续做
重定向:一件事已经完成了,去做另外一件事。


HTTP请求报文的一般格式:请求行(request line)、请求头部(header)、空行和请求数据

HTTP请求报文

HTTP响应消息结构:状态行、消息报头、空行和响应正文

HTTP响应消息

常见的HTTP状态码:

200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

HTTP状态码分类

HTTP状态码分类
分类 分类描述
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

JSP连接数据库.jsp

  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: 14472
  4. Date: 2018/9/17
  5. Time: 21:02
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page language="java" contentType="text/html; charset=UTF-8"
  9. pageEncoding="UTF-8" %>
  10. <%@ page import="java.io.*,java.util.*,java.sql.*" %>
  11. <%@ page import="javax.servlet.http.*,javax.servlet.*" %>
  12. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  13. <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  14. <%--
  15. <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
  16. <dependency>
  17. <groupId>javax.servlet</groupId>
  18. <artifactId>jstl</artifactId>
  19. <version>1.2</version>
  20. </dependency>
  21. <!-- https://mvnrepository.com/artifact/taglibs/standard -->
  22. <dependency>
  23. <groupId>taglibs</groupId>
  24. <artifactId>standard</artifactId>
  25. <version>1.1.2</version>
  26. </dependency>
  27. --%>
  28. <html>
  29. <head>
  30. <title>SELECT 操作</title>
  31. </head>
  32. <body>
  33. <!--
  34. JDBC 驱动名及数据库 URL
  35. 数据库的用户名与密码,需要根据自己的设置
  36. useUnicode=true&characterEncoding=utf-8 防止中文乱码
  37. -->
  38. <sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"
  39. url="jdbc:mysql://localhost:3306/javabasedemo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false"
  40. user="huang" password="huang"/>
  41. <sql:query dataSource="${snapshot}" var="result"> SELECT * from tableemp;</sql:query>
  42. <h1>JSP 数据库实例</h1>
  43. <table border="1" width="100%">
  44. <tr>
  45. <th>ID</th>
  46. <th>name</th>
  47. <th>salary</th>
  48. <th>age</th>
  49. </tr>
  50. <c:forEach var="row" items="${result.rows}">
  51. <tr>
  52. <td><c:out value="${row.id}"/></td>
  53. <td><c:out value="${row.name}"/></td>
  54. <td><c:out value="${row.salary}"/></td>
  55. <td><c:out value="${row.age}"/></td>
  56. </tr>
  57. </c:forEach>
  58. </table>
  59. </body>
  60. </html>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注