web.xml文件的配置和git的使用

本文详细介绍了Servlet的配置方法,包括使用web.xml和注解的方式,以及如何通过配置过滤器和监听器来增强Web应用的功能。同时,文章还讲解了会话管理和项目开发流程,以及如何利用Git进行版本控制和团队协作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. web.xml 配置文件

WEB-INF
|- lib 放第三方jar包
|- classes 自己写的servlet等java类
|- web.xml web应用程序的配置文件

写一个servlet 要在类上加一个 @WebServlet(urlPatterns="")
写一个filter 要在类上加一个 @WebFilter(urlPatterns="")
这种基于注解的写法在servlet 3.0 才有的

web.xml是另一种配置方式,跟注解方式配置的地位是一样的

xml (x 可扩展 markup 标记 language 语言) 标签可以进行扩展
html (超文本标记语言) 标签都是规定死的 <a> <h1> <p> ...

例如:

<!-- 配置一个servlet -->
<servlet>
    <!-- servlet名字 -->
    <servlet-name>servlet1</servlet-name>
    <!-- servlet对应的java类 -->
    <servlet-class>controller.Servlet1</servlet-class>
	<!-- 在tomcat启动时就创建servlet的实例,而不是等到第一次请求时
         其中数字表示优先级,数字小的优先级高
    -->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>servlet1</servlet-name>
    <!-- servlet的路径 -->
    <url-pattern>/s1</url-pattern>
</servlet-mapping>

<!-- 等价于 @WebServlet(urlPatterns = "/s1", loadOnStartup = 1 ) -->

例如:

<filter>
    <!-- 过滤器名字 -->
    <filter-name>f1</filter-name>
    <!-- 过滤器对应的java类 -->
    <filter-class>filter.Filter1</filter-class>
</filter>
<filter-mapping>
    <filter-name>f1</filter-name>
    <!-- 过滤器要过滤的路径 -->
    <url-pattern>/ *</url-pattern>
</filter-mapping>
<!-- 等价于 @WebFilter(urlPatterns="/*") -->

过滤器的过滤顺序可以通过 filter-mapping标签的顺序调整,先进入filter-mapping在前面的过滤器

HttpSession 会话
当第一次调用 request.getSession() 会创建会话
销毁有两种:

  1. session.invalidate(); 会立刻销毁session
  2. 两次请求的时间间隔超过30分钟,session会销毁
    例如:
<session-config>
    <!-- 配置session的超时时间, 单位是分钟 -->
    <session-timeout>10</session-timeout> 
</session-config>

2. 监听器 (Listener)

对象作用描述
ServletContextListener监听应用程序启动和停止事件
ServletRequestListenerrequest对象创建和销毁事件
HttpSessionListenersession对象创建和销毁事件
ServletContextAttributeListenerapplication作用域 setAttribute,removeAttribute事件
ServletRequestAttributeListenerrequest作用域 setAttribute,removeAttribute事件
HttpSessionAttributeListenersession 作用域 setAttribute,removeAttribute事件
HttpSessionActivationListenersession 的激活和钝化
HttpSessionBindingListenersession变量绑定事件

session的激活和钝化

  1. 当tomcat服务器停止时,会把session中所有变量存储到磁盘上, 称为钝化
  2. 当tomcat服务器重新启动时,把刚才存入磁盘的信息读取出来,恢复至session作用域, 称为激活
    钝化过程调用是java序列化
    激活过程调用是java反序列化

向Session中存储的变量要实现序列化接口(Serializable)
都是针对自定义的java类,如:Student, Hero

3. git工具的使用

用途:1) 源代码的版本控制工具
2) 多人协作开发

3.1 安装

从git官网下载安装包安装
git --version 查看git的版本信息

运行初始化设置
git config --global user.email “你的邮件地址”
git config --global user.name “你的名字”

3.2 将现有项目使用git管理

  1. 用cd进入项目所在目录
    执行 git init 命令,结果会生成一个.git文件夹, 此文件夹中保存的都是和版本相关的信息

  2. 选择哪些文件交给git管理
    编写一个名为 .gitignore 文件,此文件中写入要忽略的文件夹或文件的名字

  3. 将除了.gitignore里以外的文件加入git管理
    git add .
    可以用 git status 查看哪些新文件被加入了git

  4. 提交新加文件
    git commit -m '你对本次提交项目的描述'
    提交后再使用git status查看,工作空间就空了

  5. 列出提交的版本号
    git log
    记录需要回滚的版本号
    git checkout版本号

问题:如果在checkout报错:

error: Your local changes to the following files ...

原因是本地有些文件被更改了,这时如果希望checkout能够继续执行,执行 git stash命令让工作空间变得干净
重新运行git checkout

  1. git的服务器
    国外的git服务器:github
    国内的git服务器: 码云 gitee
    也可以搭建自己的服务器

6.1) git服务器上注册账号,创建新的项目(新项目的名字和本地项目名字一致)
6.2) 运行命令
语法:
git remote add origin 项目地址.git 跟远程项目管理
例如:
git remote add origin https://gitee.com/manyhf16/git-test3.git
6.3) 将远程服务器上的项目同步到本地
``git pull origin master6.4) 将本地代码同步到远程服务器git push origin master`
输入用户名/密码

6.5) 程序员b要在此基础上进行开发
git clone https://gitee.com/manyhf16/git-test3.git

4. 项目开发流程

  1. 获取需求 (猪八戒网)
  2. 设计
    数据库设计
    实体类设计(一般是实体类对应一张表
    分层设计
    com.westos.eshop.controller (servlet) 控制层 + jsp
    com.westos.eshop.service (biz) 业务逻辑层
    com.westos.eshop.dao 数据访问层(完成数据的增删改查)
    com.westos.eshop.entity 实体类
    domain 域对象
    com.westos.eshop.util 工具类
  3. 编写代码
  4. 测试
  5. 部署运行

电商后台管理项目

  1. 类别管理
    id(编号) name(名字) pid(父类别编号) lvl(级别)
  2. 商品管理
    id(编号) jdzy_shop_id(店铺编号) brand_id(品牌编号) name(商品名称)
    origin_price 原始价
    market_price 市场价
    price 销售价
    img 图片地址
    category_id 类别编号
  3. 用户表
    username
    password
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

phial03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值