JavaWeb(二)

@WebServlet("/xx")

  <servlet>
    <servlet-name>自定义
    <servlet-class>Servlet的全限定类名
  </servlet>
  <servlet-mapping>
    <servlet-name>自定义
    <url-pattern>/自定义路径
  </servlet-mapping>

Servlet对象: 一次
默认第一次接收到请求时创建 < load-on-startup>
服务器关闭时销毁
request对象
response对象

Servlet: Server + Applet

1.web2.5和web2.5以上的区别
web2.5不能使用 @WebServlet 之类的注解
web2.5以上就可以使用注解 所以可以不使用web.xml,但是建议加上
2.Servlet的配置

    <!-- 方式一: 完全匹配 只能通过/demo01 来访问这个资源 -->
<url-pattern>/demo01</url-pattern>
<url-pattern>/demo011</url-pattern>
    <!-- 方式二: 目录匹配, 通配符 *  -->
<url-pattern>/*</url-pattern>
<url-pattern>/hi/*</url-pattern>
    <!-- 方式三: 后缀匹配 -->
<url-pattern>*.do</url-pattern>
    <!-- 特殊的匹配: / 所有资源,默认的配置,缺省的配置 -->
<url-pattern>/</url-pattern>

3.欢迎页面设置

<!-- 设置应用的默认首页 -->
<welcome-file-list>
    <welcome-file>demo01</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

4.注解: @Test @Before @Override
@WebServlet(属性名=属性值)
注解的属性: 类型 属性名()
当注解中只有一个属性,并且属性名为value时,属性名可以省略

5.Servlet对象: 一次
默认第一次接收到请求时创建 <load-on-startup>
服务器关闭时销毁

在程序运行期间, 只产生一个对象的类, 称之为"单例模式"
单例模式是线程不安全的, 所以Servlet中通常不会定义成员变量

设计模式: 设计的模板/套路, 一共23种
  1.单例模式: 在程序运行期间, 只产生一个对象
  2.工厂模式: 创建对象的工厂  DruidDataSourceBeanFactory
  3.装饰者模式: 增强方法
  4.代理模式: 增强方法, 动态代理 CGlib代理

6.ServletContext 对象, 应用上下文, 一个应用中只有一个ServletContext对象
1.获得 servlet对象(this), request对象, ServletConfig对象
2.作用
获得虚拟目录
获得应用的初始化参数
获得应用文件的绝对路径
作为域对象
3.生命周期
创建: 服务器启动
销毁: 服务器关闭
4.域对象: 存数据, 取数据 Map<String, Object>
范围: 整个应用运行期间, 所有客户端和所有资源共享
setAttribute(“name”, Object)
getAttribute(“name”)
removeAttribute(“name”)

    统计网站的访问量

7.HttpRequest
Http协议: 客户端和服务器之间数据传输的规范
包含 请求 + 响应

8.404: 资源未找到
1.浏览器中地址写错
2.地址对应的资源不存在
500: 代码出现异常

9.Get请求默认字符集: 跟tomcat一致
解决乱码: username = new String(username.getBytes(“ISO8859-1”), “UTF-8”);
Post请求默认字符集: ISO8859-1
解决乱码: request.setCharacterEncoding(“UTF-8”);

10.BeanUtils工具
temp/resources/jar包/apache-commons
BeanUtils.populate

在这里插入图片描述

本课程详细讲解了以下内容:     1.jsp环境搭建及入门、虚拟路径和虚拟主机、JSP执行流程     2.使用Eclipse快速开发JSP、编码问题、JSP页面元素以及request对象、使用request对象实现注册示例     3.请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题      4.session与cookie问题及application、cookie补充说明及四种范围对象作用域      5.JDBC原理及使用Statement访问数据库、使用JDBC切换数据库以及PreparedStatement的使用、Statement与PreparedStatement的区别      6.JDBC调用存储过程和存储函数、JDBC处理大文本CLOB及进制BLOB类型数据      7.JSP访问数据库、JavaBean(封装数据和封装业务逻辑)      8.MVC模式与Servlet执行流程、Servlet25与Servlet30的使用、ServletAPI详解与源码分析      9.MVC案例、三层架构详解、乱码问题以及三层代码流程解析、完善Service和Dao、完善View、优化用户体验、优化三层(加入接口和DBUtil)     1 0.Web调试及bug修复、分页SQL(Oracle、MySQL、SQLSERVER)      11.分页业务逻辑层和数据访问层Service、Dao、分页表示层Jsp、Servlet      12.文件上传及注意问题、控制文件上传类型和大小、下载、各浏览器下载乱码问题      13.EL表达式语法、点操作符和中括号操作符、EL运算、隐式对象、JSTL基础及set、out、remove      14.过滤器、过滤器通配符、过滤器链、监听器      15.session绑定解绑、钝化活化      16.以及Ajax的各种应用      17. Idea环境下的Java Web开发
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页