学习完ssm框架的项目总结
项目背景:学习完ssm背景,进行的一次项目(选课系统)实践,主要目的为了增强对ssm框架的理解,第二个是练习自己对于项目的熟悉能力,第三是为了增强自己的编程能力
1、ssm框架简单介绍:
- SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架
- Spring就像是整个项目中装配bean的大工厂,它在配置文件中指定使用特定的参数去掉用实体类的构造方法来实例化对象,Spring的核心思想是IoC(控制反转),即不需要我们去“new”一个对象,而这个框架就帮我们完成了这一切,我觉得这个功能非常不错。
- mybatis是对jdbc的封装,对于数据的重要数据的封装和调用,使得数据更加的安全。
SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责;在项目的过程中,可能练习的不够深入吧,所以对于SpringMVC这个东西了解的不够深入
2、项目工具介绍
框架使用:Spring SSM
开发环境:Eclipse 10.0
开发语言:Java,js
JDK版本:1.7
服务器运行:Tomcat 7.0
数据库:MySQL
3、项目功能介绍
本次项目主要分为三大模块:学生后台管理,教师后台管理,教务处后台管理,由于对于基础知识掌握的不牢靠,所以在有限的10天内,只完成了学生后台管理,教师后台管理;
共同功能:个人信息模块(不可修改和可修改),修改密码模块
学生功能:
a、完成必修课的查看(课程编号、课程名称、课程学分、代课教师、代课教师编号)
b、完成选修课的选课功能(限制最大人数、选课的当前人数,选择后增加一人,删除时减少一人)
c、选修课的查看,可以对不想学习的课程进行删除
d、成绩查看模块,可以查看必修/选修的分数以及获得的学分
教师功能
a、完成对学生信息的查看功能
b、完成老师对于学习考试之后的打分功能
c、完成查看自己所带的课程名字
4、项目的收获与不足
收获:
a、对于ssm框架有了简单的了解、以及属性
b、相比于第一次项目,能清楚的知道自己想要完成什么样的功能, 以及该怎么完成
c、对于编写代码犯错,没有以前那么恐惧了,逐渐的学会了怎么去找错误
d、学会了要顺着代码的执行顺序去找错误,而不是想当然的、觉得它的执行顺序是什么,就怎么找错误(写分页查询时,应该是先执行action的,在执行action中调用的普通方法,但是,在做的过程中,会想当然的是执行普通方法,在执行action,所以总是报空指针异常,还好,在和伙伴们讨论的时候,明白了错误是在哪里,及时改正了,然后就好了)
不足:
a、相比于第一次,有了计划性,但是不够具体,执行的不够严格
b、写代码的过程中,思路不够清晰,有时候能重复使用的代码,后来还是在写了一次,因为不能确定到底能不能用;另一个就是因为思路不够清晰,所有导致前期浪费时间过多,后期的很多功能,由于时间关系,无法完成
c、遇到困难还是喜欢一个人在哪儿死磕,直到解决不了了才会想着问别人(在规定的时间内,完不成,肯定是你那里有问题的,所以要尽快问问题,打通你的思路,然后更好的理解它,完成它)
5、学到的技术点
a、对于数据在页面和数据库的交互(增删改查),比第一次的项目熟练了许多
b、学会使用previousElementSibling获取上一个标签的值进行传值(这个问题,困扰了一天多的时间才解决,而这个正是体现了对于知识的不牢固)
说一下这个获取值需要注意的问题
1、
<a href="javascript:void(0)" class=" button border-main icon-search" onclick="changesearch()" id="a" name="aa"> 搜索</a></li>
在a连接href=“”中必须加javascript:void(0),这句话的意思是:让超链接去执行一个js函数,而不是去跳转到一个地址,而void(0)表示一个空的方法,也就是不执行js函数
2、可能在传值的过程中会出现乱码问题,解决方式如下:
j<script type="text/javascript" charset="UTF-8"> //搜索 function changesearch() { var a = document.getElementById("a"); /* nodeName */ var inr = encodeURI(a.previousElementSibling.value); inr = encodeURI(inr); location.href = "${pageContext.request.contextPath }/foundstudent.action?INR=" + inr; } </script>``` 后台
String inr = request.getParameter("INR");
inr = URLDecoder.decode(inr, "utf-8");
以上解决方案来自网络,有更好的解决方案,欢迎讨论 3、对于分页查询,有了简单的理解,能做到简单的分页
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Tomcat与JDK1.8安装记录
一、tomcat及java 2 SE、java 2EE1.java 2SE:简单来说就是实现了JDK内容2.java 2EE:JDK内容+企业级类库:如Servlet,JSP,EJB,JMS,JMX,JAVA Mail..java 2 EE商业实现:WebLogic,WebSphere,Oc4j开源版:tomcat(JSP+Servlet+JMX)、jetty,Resin3、tomcat是用java语言写的Web container容器,用来结合http协议发布服务。tomcat每个组件都由'类'实现,这些组件可分为以下几类:顶级组件:server(只有一个)服务组件:service(可有多个,一般仅为一个)连接器组件:http,https,context等。实现将通过CGI(commome gateway interface)协议的请求与Engine引擎交互的组件.容器类:Engine,Host,context等被嵌套类组件:valve,logger,realm,loader等集群组件:listener等4、tomcat组件以标签化的形式展现: <service> <...
- 下一篇
【NLP学习笔记】(一)Gensim基本使用方法
安装: pip install gensim本文内容主要翻译自https://radimrehurek.com/gensim/tut1.html#from-strings-to-vectors,中间加了些自己的理解,不理解之处大家可以直接看原文档。 1、第一步、准备训练语料 为了简单起见,我们假设列表documents代表语料库,每一句话代表一个文档,documents中有9个元素,也就是说该语料库由九个文档组成。 from gensim import corpora documents = ["Human machine interface for lab abc computer applications", "A survey of user opinion of computer system response time", "The EPS user interface management system", "System and human system engineering testing of EPS", "Relation of user perceived re...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果