Web项目实现一般思路
熟悉项目业务需求
- 登录
- 登录之后显示什么
- 之后会进入那些页面
- 增删改查
- 数据库关联,超链接等
数据库设计
抽取实体类:eg.用户登录,用户基本信息,回复,用户日志等等
实体类与实体类之间的联系:1:1 or 1:n
等等
数据时间类型和String之间的转换
导入的包名一般都为:java.util.Date
数据类型的转换:String->Date的转换
String date1="2022-7-24 5:10:30";SimpleDateFormate sdf=new SimpleDateformat("yyyy-MM-dd HH-mm-ss");Date date2=sdf.parse(sdf);
数据类型的转换:Date->String的转换
Date date1=new Date();SimpleDateformat sdf=new SimpleDateformat();String date2=sdf.format(date1)
JAVAwe项目实现的一般思路
- 首先导入myssm包
- 新建配置文件applicationContext.xml 这个名字随意,只要和web.xml中配置的名字一致就行
- 配置web.xml文件
配置前缀
<context-param><param-name>view-prefix</param-name><param-value>/</param-value>
</context-param>‘
配置后缀
<context-param><param-name>view-suffix</param-name><param-value>.html</param-value>
/context-param>
配置IOC读取对应的xm文件
<context-param><param-name>contextConfigLocation</param-name><param-value>applicationContext.xml</param-value>
</context-param>
配置xml文件的目的是:加载IOC容器配置文件,并且在内部转发的时候加上/和html
开发具体的业务模块
- html页面
- POJO类
- DAO接口和实现类
- Service接口和实现类
- Controller控制组件
注意事项
- 如果有html页面不能直接访问,需要经过pageController,不然不会有thymeleaf的渲染,这会导致数据有一定的偏差。
- 在applicationContext.xml中配置 DAO、Service、Controller,以及三者之间的依赖关系
- DAO实现类中 , 继承BaseDAO,然后实现具体的接口, 需要注意。泛型的不同会对数据的存储和处理的不同。
- Service是业务控制类,Service业务层不单单可以调用DAO组件还可以调用Service的功能,不必考虑一Service里面复杂的调用
- Controller类的编写规则
applicationContext.xml中配置Controller
<bean id="user" class="com.atguigu.qqzone.controllers.UserController>
那么,用户在前端发请求时,对应的servletpath就是 /user.do , 其中的“user”就是对应此处的bean的id值
在Controller中设计的方法名需要和operate的值一致,operate时调用的Controller层中的方法,来对数据的处理。
这里action方法就是user.do这就会访问userController,然后再调用operate对应的值login方法
<form th:action="@{/user.do}" method="post"> <input type="hidden" name="operate" value="login"/></form>
- 在表单中,组件的name属性和Controller中方法的参数名一致
表单:<input type="text" name="loginId" />
将表单中的参数传入对应的方法中去
public String login(String loginId , String pwd , HttpSession session)
- DispatcherServlet中步骤大致分为:
1. 从application作用域获取IOC容器
2. 解析servletPath , 在IOC容器中寻找对应的Controller组件
3. 准备operate指定的方法所要求的参数
4. 调用operate指定的方法
5. 接收到执行operate指定的方法的返回值,对返回值进行处理 - 视图处理
- 为什么DispatcherServlet能够从application作用域获取到IOC容器?
ContextLoaderListener在容器启动时会执行初始化任务,而它的操作就是:
1. 解析IOC的配置文件,创建一个一个的组件,并完成组件之间依赖关系的注入
2. 将IOC容器保存到application作用域
一个web项目就此完成
结束语:后面会有更多更好的框架来对项目的进一步的优化,可以使得我们的界面更加的好更加的棒,更高内聚低耦合。
Web项目实现一般思路相关推荐
- web项目中js加载慢问题解决思路
web项目中js加载慢问题解决思路 参考文章: (1)web项目中js加载慢问题解决思路 (2)https://www.cnblogs.com/cslj2013/p/8491786.html 备忘一下 ...
- web项目答辩总结_web实战项目遇到问题总结探索
最近在写一个django的web项目,后端代码基本都已经写好了,主要是前端,以前学过一段前端,只是对一些基本的方法知道,但还有很多东西不熟练,问题是在遇到表单数据时候,如何对参数整体打包发送后端接口, ...
- 关于如何在你的Web项目中实现对空间数据访问权限的控制(一)
Wednesday, 23 JUNE 近来一直在研究关于如何在我的WebGIS项目中实现对空间数据(已发布在GeoServer上)进行权限管理的问题.虽然到目前为止没能找到一个完美的解决方案,但通过这 ...
- Weblogic部署web项目获取项目根目录为null
写在前面 图片上传功能, web项目部署在本地Tomcat上并没有问题, 但是打成war包部署到Linux服务器Weblogic下却出现如题问题, 导致图片上传失败. 问题代码 String real ...
- 详解log4j2(下) - Log4j2在WEB项目中配置
官方介绍和学习文档网址为http://logging.apache.org/log4j/2.x/ 首先在WEB项目中引入以下几个jar包: ① log4j-api-2.4.1.jar ② log4j- ...
- 关于部署传统的Dynamic Web项目
现在大部分都是采用maven构建的项目,但是偶尔也会遇到一些较老的项目,采用的是传统的动态Web项目. 我最近碰到这样一个项目,项目用的jar包都放在了WEB-INF/lib目录下.之前的人采用的部署 ...
- java web 颜色灰色_网站动态变灰解决方案(java web项目网站)
每逢5.12和哀悼日,各大门户网站都会把自己网站变灰色,以此来表示对逝者的哀悼. 下面是一个java web项目网站变化的设计方案. 思路是这样的,首先由个页面来操作网站是变灰还是不变灰, 然后把选择 ...
- java 做项目踩坑,web项目踩坑过程
sql函数设计: 一开始本来是直接用Java的jdbc直接传输操作语句的.但后来学了存储过程发现存储过程可以提高不少的效率.就重构了自己对数据库的操作代码.包括:开启,查找,修改,关闭. 开启:直接使 ...
- java web 请求跟踪_java web 项目跟踪用户操作
java web项目,就几个JSP页面,本人怎么跟踪用户什么时间点击了那个jsp页面,什么时候登录的,什么时候关闭jsp页面的,把跟踪用户的操作(基本上就上面这三个操作),存入数据库里面,什么时候干什 ...
最新文章
- 第3关:4位快速加法器设计
- 哪些业务流程和RPA更匹配?
- 苹果如何不显示云服务器照片,苹果云端照片怎么恢复到相册-互盾苹果恢复精灵...
- 如何从零规划一个产品?
- java按位取反“~“运算符,负数右移
- HBase实战:记一次Safepoint导致长时间STW的踩坑之旅
- 在VS2015中用C++创建DLL并用C#调用且同时实现对DLL的调试
- JS五种运算符,运算符的优先级
- 【液晶模块系列基础视频】4.5.X-GUI图形界面库-进度条等函数简介
- 如何直接打开AutoCAD格式的DXF文件
- 微信小程序仿陶票票课程设计
- R安装时出现辑程包不存在,解决方法
- LSTM长短期记忆网络对车辆尾气排放进行预测
- iOS日常开发之frame和bounds的不同
- 二、8【FPGA】Verilog中锁存器(Latch)原理、危害及避免
- 又拍云叶靖:基于Docker的云处理服务平台
- MySQL DBA的KPI考核指标有哪些
- 红米note7主板电路图_红米Note7Pro手机主板故障案例解析
- 计算机网络管理技术参考文献,报文网络论文,关于计算机网络管理相关技术相关参考文献资料-免费论文范文...
- 考研计算机C语言算法视频,计算机算法考研视频哪个好
热门文章
- 越想越难,越做越简单,电磁兼容性设计
- JAVA生成二维码-zxing
- 彼得·蒂尔:别浪费你的无知,去做那些没人做过的事
- TensorFlowJS 基础 -前端人工智能入门必看系列
- 简单视频播放AVPlayer和AVPlayerViewController
- dbms支持哪几种数据模型_DBMS数据库模型
- 史玉柱高调杀回IT产业 2亿元豪赌网游征途
- 怎么卸载jdk 才能卸载干净(怎么卸载jdk)
- 什么情况下我们需要进行硬盘对拷?硬盘对拷怎么操作?
- 未能加载文件或程序集“Microsoft.AI.Web”