zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    题解 CF171G 【Mysterious numbers
    题解 P1157 【组合的输出】
    题解 P3955 【图书管理员】
    题解 P2036 【Perket】
    题解 CF837A 【Text Volume】
    题解 CF791A 【Bear and Big Brother】
    题解 CF747A 【Display Size】
    题解 P1332 【血色先锋队】
    题解 P2660 【zzc 种田】
    题解 P4470 【[BJWC2018]售票】
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/15311253.html
Copyright © 2011-2022 走看看