• Java Web(一)- 学习笔记


    一.  索引

          1.  Servlet核心技术(上)

                <1>  C/S、B/S、JavaWeb的概念

                <2>  HTTP协议

                      概念: 规范浏览器与服务器之间,通信数据的格式

                      请求格式:请求行 + 请求头 + 空白行 + 请求体

                      响应格式:响应行 + 响应头 + 空白行 + 响应体

                <3>  Tomcat服务器

                      概念:轻量级的、开源的Web应用服务器

                      下载安装

                      目录结构: bin / conf / WebApps / work (存放编译后的文件) / ...

                      启动: bin / startup.bat  

                      关闭: bin / shutdown.bat

                      配置文件: conf / server.xml 中,设置端口号

                            conf / tomcat-users.xml中,配置Tomcat服务器的用户与权限 

                         

                <4>  Servlet的概念和使用

                      概念:服务连接器,本质上是运行在服务器上的Java类

                      编写步骤:

                        1 . 建立一个Java Web Application项目,并配置Tomcat服务器

                        2. 自定义类,继承 HttpServlet类, 并重写service方法

                        3. 将自定义类的信息配置到 web.xml文件,并启动项目

                      Servlet的生命周期:

                                                                         

                <5>  GET请求 & POST请求

                      各自发出请求的主要方式

                      各自的特点

                <6>  ServletRequest接口 & HttpServletRequest接口

                      概念:用于向Servlet提供客户端的请求信息(针对请求信息的打包处理)

                <7>  ServletResponse接口 & HttpServletResponse接口

                      概念:用于响应数据的打包

                <8>  Servlet接收中文乱码

                <9>  ServletConfig接口 & ServletContext接口

                      ServletConfig:用于描述Servlet相关的配置信息

                      ServletContext:用于实现多个Servlet之间,信息的共享和通信

          2.  Servlet核心技术(下)

                <1>  Servlet+JDBC应用

           

                <2>  重定向和转发

                  重定向: 请求(Request对象)被重新创建,并发送给服务器 

                  转发: 请求(Request对象)在服务器内部之间被转发

                  

                <3>  Servlet线程安全 & 状态管理

                      线程安全:  多线程并发逻辑,需要使用synchronized对代码加锁处理,但尽量避免使用

                      状态管理:

                        概念 - 把浏览器与服务器之间多次交互,作为一个整体,将多次交互所涉及的数据保存下来

                        分类

                          客户端管理:将状态保存在客户端(基于Cookie技术实现)

                          服务器管理:将状态保存在服务器端(基于Session技术实现)

                <4>  Cookie技术

                      概念:客户端以“名-值”形式,进行保存数据的一种技术

                      过程:

                         1.  客户端向服务器发送请求 ---> 服务器将数据以Set-Cookie消息头的方式,响应给客户端

                            2.  客户端再次访问服务器 ---> 这些数据以Cookie消息头的方式,发送给服务器

                      生命周期:

                         1.  默认:只要浏览器关闭,Cookie信息就会消失 

                         2.  自定义: void setMaxAge(int expiry)

                <5>  Session技术

                      概念: 用来维护一个客户端和服务器关联的一种技术

                      过程:

                        1.  浏览器访问服务器 ----> 服务器创建一个Session(内含一个SessionId)----> SessionId发送给浏览器存储

                        2.  浏览器再次访问服务器,将 SessionId 发送给服务器 ----> 服务器依据SessionId,查找对应的 Session对象

                      生命周期:

                        1. 默认:30分钟

                        2. 自定义: void setMaxInactiveInterval(int interval)

          3.  JSP核心技术    

                <1>  JSP概述

                      1.  JSP文件以HTML标记为主,然后内嵌Java代码段,用于处理动态内容

                      2.  JSP与Servlet的关系

                          

                <2>  JSP语法

                      1.  声明区 <%! %>: 定义全局变量、方法、类

                      2.  程序代码区<% %>:  定义局部变量 & 放入Java代码

                      3.  表达式<%= %>: 输出一个变量或一个具体内容

                      4.  注释: 

                          HTML <!-- -->  JSP <%-- -->  JAVA <%// %> 和 <% /* */%> 

                      5.  指令: <%@指令 属性=“属性值”%>

                          page指令:用于导包,和设置一些页面属性

                          taglib指令:用来扩展JSP程序的标签元素,引入其他功能的标签库文件

                          include指令: 用于引入另一个JSP程序或HTML文件等

                      6.  动作

                         jsp:include和jsp:param 动作: 用于引入另一个JSP程序或HTML文件

                            jsp:forward和jsp:param 动作: 转发,将请求转发到另一个指定的JSP程序(或者Servlet中处理)

                <3>  JSP内置对象

                      

                <4>  JavaBean组件

                      JavaBean 是使用 Java 语言开发的、一个可重用的组件,

                      在 JSP 开发中,可以使用 JavaBean 减少重复代码,使整个 JSP 代码的开发更加简洁

                <5>  MVC设计模式  

                      

    二.  练习

    <1> 题意

    使用前端、数据库、JavaWeb 等技术并采用 MVC 设计模式实现学生信息管理系统,要求:

      1.  使用管理员账号密码登录后进行:

      2.  学员信息增加

      3.  学员信息修改

      4.  学员信息删除

      5.  学员信息查找

      6.  学员信息显示功能

    其中,学生信息有:

      学号、姓名、性别、出生日期、邮箱、备注 

    另外:
      a.  前端页面、数据库表、后台业务等自行设计和实现

           b.  尽可能使用已学过的流行技术,如:数据库连接池、分页显示等

      c.  提供可运行的编程代码和sql脚本

    <2> 思路 

    1.  搭建架构: 创建MVC设计模式相关的包

          

     

    2.  分析题意: 两大功能模块 - 管理员登录 & 学生的增删改查

    3.  管理员登录

    <1> index.jsp - 发送账号密码给 adminLoginServlet

          

    <2>  servlet/AdminLoginServlet.java - 获取JSP发送过来的账号密码,然后调用Service层,实现数据的校验

          

    <3>  service/UserServiceImpl.java - 在service层,通过工厂类,得到DAO对象

          

    <4> factory/DaoFactory.java - 通过工厂类,得到DAO对象

        

    <5> dao/UserDaoImpl.java - 访问数据库,并把结果,返回给service层

                 service层 (<3>中的2) 再返回给servlet (<2>中的红框)   

        

    <6> servlet/AdminLoginServlet.java - 得到返回值后, 以JSP的方式显示最终的结果

     

    4.  学生管理模块 - 增删改查

    <1> 如上图的2所示,当登录成功时,跳转到StudentPageQueryServlet.java

     

    <2> entity/PageBean.java - 实现分页功能的封装

     <3> service/StudentServiceImpl.java

    <4> dao/studentDaoImpl

    <5> manageStudent.jsp - 进行分页显示

     

     

     

    <6> servlet/studentAddServlet.java - 实现增加和修改的功能 (通过前端页面manageStudent.jsp传来的flag变量来区分,进行增加还是修改)

     

    <7> servlet/StudentDeleteServlet.java

    <8> servlet/StudentQueryServlet.java

  • 相关阅读:
    gets_s()函数的参数太少,strcpy_s():形参和实参 2 的类型不同,等c函数在Visual Studio上出现的问题, get()函数和scanf()读取字符串的区别,栈的随机性
    线性表的顺序存储实现
    汉诺塔问题, 用递归方法求集合中的中位数
    共用体union
    洛谷3384:【模板】树链剖分——题解
    BZOJ4196:[NOI2015]软件包管理器——题解
    BZOJ3140:[HNOI2013]消毒——题解
    BZOJ1059:[ZJOI2007]矩阵游戏——题解
    洛谷4277:萃香的请柬——题解
    BZOJ1854:[SCOI2010]连续攻击游戏——题解
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15311253.html
Copyright © 2020-2023  润新知