前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >回顾以前的代码经历

回顾以前的代码经历

作者头像
栖西
发布于 2023-10-17 00:21:48
发布于 2023-10-17 00:21:48
24800
代码可运行
举报
文章被收录于专栏:栖西栖西
运行总次数:0
代码可运行
1、Servlet模板模式的应用

MyServlet06.java

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyServlet06 extends HttpServlet {


    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取url-path
        String path = request.getServletPath();
        if("/student/save.do".equals(path)){
            save(request,response);
        }else if("/student/update.do".equals(path)){
            update(request,response);
        }else if("/student/delete.do".equals(path)){
            delete(request,response);
        }else if("/student/select.do".equals(path)){
            select(request,response);
        }
    }

    public void save(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了保存操作");
    }

    public void update(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了修改操作");
    }

    public void delete(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了删除操作");
    }

    public void select(HttpServletRequest request, HttpServletResponse response){
        System.out.println("执行了查询操作");
    }

}

web.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<servlet>
    <servlet-name>MyServlet06</servlet-name>
    <servlet-class>com.myfdc.servlet.MyServlet06</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>MyServlet06</servlet-name>
    <url-pattern>/student/save.do</url-pattern>
    <url-pattern>/student/update.do</url-pattern>
    <url-pattern>/student/delete.do</url-pattern>
    <url-pattern>/student/select.do</url-pattern>
</servlet-mapping>

页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="student/save.do">添加操作</a><br/><br/>
<a href="student/update.do">修改操作</a><br/><br/>
<a href="student/delete.do">删除操作</a><br/><br/>
<a href="student/select.do">查询操作</a><br/><br/>
2、mybatis的动态SQL
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
元素					   作用					备注
if						 判断语句				单条件分支
choose(when、otherwise)	相当于 Java 中的 if else	多条件分支
trim(where、set)			辅助元素			用于处理 SQL 拼接问题
foreach					 循环语句	批量插入, 更新, 查询时经常用到
bind					 创建一个变量, 并绑定到上下文中	用于兼容不同的数据库, 防止 SQL 注入等

详细使用在我的这篇文章中,里面的案例仅为介绍动态SQL:mysql的使用以及mybatis中的SQL语句

3、常用封装实体类
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PageResult
Result
StatusCode
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 分页结果类
 */
public class PageResult<T> {

    private Long total;//总记录数
    private List<T> rows;//记录

    public PageResult(Long total, List<T> rows) {
        this.total = total;
        this.rows = rows;
    }

    public PageResult() {
    }

    public Long getTotal() {
        return total;
    }

    public void setTotal(Long total) {
        this.total = total;
    }

    public List<T> getRows() {
        return rows;
    }

    public void setRows(List<T> rows) {
        this.rows = rows;
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Result<T> implements Serializable {
    private boolean flag;//是否成功
    private Integer code;//返回码
    private String message;//返回消息
    private T data;//返回数据

    public Result(boolean flag, Integer code, String message, Object data) {
        this.flag = flag;
        this.code = code;
        this.message = message;
        this.data = (T) data;
    }

    public Result(boolean flag, Integer code, String message) {
        this.flag = flag;
        this.code = code;
        this.message = message;
    }

    public Result() {
        this.flag = true;
        this.code = StatusCode.OK;
        this.message = "操作成功!";
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 返回状态码
 */
public class StatusCode {
    public static final int OK = 20000;//成功
    public static final int ERROR = 20001;//失败
    public static final int LOGINERROR = 20002;//用户名或密码错误
    public static final int ACCESSERROR = 20003;//权限不足
    public static final int REMOTEERROR = 20004;//远程调用失败
    public static final int REPERROR = 20005;//重复操作
    public static final int NOTFOUNDERROR = 20006;//没有对应的抢购数据
}
4、模态框
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>测试模态框2</title>

<!--    模态框只用这三个-->
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

    <h1>使用js函数控制</h1>
    <h2>模态框(Modal)插件事件</h2>
    <!-- 按钮触发模态框 -->
    <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
        新增
    </button>
    <!-- 模态框(Modal) -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
                    </button>
                    <h4 class="modal-title" id="myModalLabel">
                       新增商家类型
                    </h4>
                </div>
                <div class="modal-body">
                    商家类型:
                    <input type="text" name="shopName" value="请输入……">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">
                        关闭
                    </button>
                    <button type="button" class="btn btn-primary">
                        提交更改
                    </button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->


    <!-- 按钮触发模态框 -->
    <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal1">
        修改
    </button>

<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×
                </button>
                <h4 class="modal-title" id="myModalLabel1">
                    修改商家类型
                </h4>
            </div>
            <div class="modal-body">
                商家类型:
                <input type="text" name="shopName" value="请输入……">
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">
                    关闭
                </button>
                <button type="button" class="btn btn-primary">
                    提交更改
                </button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


    <script>
        $(function () { $('#myModal').modal('hide')});

        // 和上面的一样 商家类型 新增
        // $("#myModal").modal('hide')

        // myModal1
        $(function () { $('#myModal1').modal('hide')});
    </script>

</body>
<script>

</script>
</html>
附录
1、包名设计
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
分层开发
	数据持久层dao:只做对数据库的操作,返回数据或结果  
	业务逻辑层service:主要做业务逻辑处理,不做任何数据库操作,只做业务逻辑处理
	控制层controller:接受和响应前端请求
	pojo(domain):实体类对应数据库的表
	entity:存放特殊用途的实体类,返回值实体类的封装,常量封装,枚举等
	dto:发送给前端的实体类
	vo:实体类,存放接受前端用户发送的实体类
2、springboot注解
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
注解其实就是通过spring容器创建对象
	@Autowired  :spring 提供  
		private UserService userService = new UserServiceImpl()
	@Resource :等同于@AUtowired jdk提供
	@Controller:声明控制器
	@RestController 标识当前类是Controller
			并且返回的数据类型都是 responseBody json对象
	@RequestMapping 标注该类或方法的URL访问路径
	@Service  标识该类是业务逻辑层,交给spring容器管理
	@SpringBooyApplication 启动类
	@MapperScan mybatis提供的dao层扫描接口(不写MapperScan的话在dao层写下面的俩个)
				@Mapper     标示该类是数据持久层
				@Repository

以上会满足日常开发,其他的注解比较零碎,根据情况选择是否使用
3、学习路线
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
先学java基础
mysql
JDBC(可以琢磨一下,也可跳过)
javaWeb(jsp和servlet了解原理即可,servlet为后续springmvc做铺垫,jsp为数据交互做铺垫)
springboot路线
	spring-----IOC
	mybatis----crud
	springMVC
	mybatisplus
	springboot
	springboot整合各种框架
	学习微服务
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Docker上手,看完觉得自己又行了!
从镜像创建的运行实例,它可以被启动、停止和删除。每个容器之间是相互隔离,互不可见,保证了平台的安全性
蔡不菜丶
2020/11/11
3140
Docker上手,看完觉得自己又行了!
Docker简单使用
史上最简单Android源码编译环境搭建方法这篇分享介绍了借助Docker来编译Android源码,Docker可以直接把编译工具链和Ubuntu系统整体打包,保证了编译环境和官方的一致。 我用的macOS,之前尝试过编译AOSP,出现各种问题,采用虚拟机的方式也常常编译不过,看到可以用docker的新方式,打算尝试用一下。但是从我实际操作来看,docker在mac上是很慢的,并不比虚拟机快多少,在编译AOSP时也会造成卡死,因为在mac平台上docker是要运行在一个虚拟机上的。在尝试docker编译
felix
2018/06/08
1.2K0
Docker必备基础知识
【GiantPandaCV导语】很多算法攻城狮朋友在日常工作中都会接触和使用到docker来进行自己的训练环境配置或者部署环境搭建。本次和大家分享一些笔者总结的docker基础知识。
BBuf
2021/08/19
8480
Docker从门外到入门使用
取材 第一本Docker书。原作者:James Turnbull 安装 这里只说明Windows环境的安装(Windows7以上) 使用Docker Toolbox工具即可:http://mirror
嘘、小点声
2019/12/02
9890
Docker的基本使用——常用docker命令
​ 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
不愿意做鱼的小鲸鱼
2022/09/26
6510
Docker的基本使用——常用docker命令
Docker入门:Docker安装与基本使用
Docker支持主流的Linux Server、也支持Windows Server,同时为了方便开发者在开发环境中使用Docker,Docker官方也提供了支持Windows以及macOS的Docker Desktop。
KenTalk
2023/04/07
1.6K0
Docker入门:Docker安装与基本使用
Docker命令详解
Docker 命令类别划分 Docker环境信息 — docker [info|version] 容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat] 容器rootfs命令 — docker [commit|cp|diff] 镜像仓库 — docker [login|pul
LuckySec
2022/11/02
3450
Docker命令详解
Docker 完全指南
下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。
IT派
2018/08/10
4660
Docker 完全指南
Docker之 - 使用镜像和仓库
上一篇文章中,我们学习了包括 docker run 在内的许多对容器进行操作的基本指令,那么在本节中,我们主要探讨 Docker 镜像的一些概念,比如什么是镜像,如何对镜像进行管理,如何修改镜像,如何创建、存储、共享自己创建的镜像等,那么就开始我们的学习
cxuan
2019/08/20
1K0
利用Docker部署web题目
Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。
故里[TRUE]
2023/04/19
7560
利用Docker部署web题目
一篇文章学会Docke
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用户1212940
2019/11/13
5580
Docker总结与经验分享
这些都需要亲力亲为,很费事也很费时,需要大量的人力物力,如果有一套只需要代码部署层面的就好了,所以Docker应运而生。它是云时代的产物。
林淮川
2021/12/20
7020
Docker总结与经验分享
Docker安装及操作
链接:https://pan.baidu.com/s/1us3e1YAzoYPByd6hEG19eQ 提取码:ld9y 复制这段内容后打开百度网盘手机App,操作更方便
小闫同学啊
2019/07/18
1.2K0
Docker安装及操作
docker 入门_docker高级教程
简单来说,docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把深度学习放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中。
全栈程序员站长
2022/11/19
8100
docker 入门_docker高级教程
docker基础学习笔记总结
大家好,又见面了,我是你们的朋友全栈君。 docker基础笔记 docker命令参考文档:https://docs.docker.com/engine/reference/commandline/
全栈程序员站长
2022/09/22
1K0
docker基础学习笔记总结
docker的安装与使用
虚拟化是一种资源管理技术,是计算机硬件资源中抽象出来的,打破了硬件实体不可切割的障碍,用户可以按照自己的需求去组态这些硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
GH
2020/04/01
7460
docker的安装与使用
docker
从网上下载ubuntu15.10 的镜像,创建一个容器 ,使用容器打印 “hello docker" 运行完毕就会释放
Dean0731
2022/05/10
4470
docker
基于瑞芯微RK3576国产ARM八核2.2GHz A72 NPU工业评估板——Docker容器部署方法说明
Windows开发环境:Windows 7 64bit、Windows 10 64bit
创龙科技Tronlong
2025/04/18
880
基于瑞芯微RK3576国产ARM八核2.2GHz A72 NPU工业评估板——Docker容器部署方法说明
docker 常用命令总结[通俗易懂]
注意 stop,restart后的容器,或者commit后的镜像启动环境变量需要重新加载,比如 source /etc/source
全栈程序员站长
2022/08/01
8040
docker 常用命令总结[通俗易懂]
Docker 容器技术使用指南
1.1 Docker 的基本概念 1.2 为什么使用 Docker 1.3 Docker 体系结构简介 1.4 Docker 容器技术的应用场景
杰哥的IT之旅
2021/06/01
2.4K0
Docker 容器技术使用指南
相关推荐
Docker上手,看完觉得自己又行了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档