基于SSM框架的生活论坛系统的设计与实现

news2024/9/24 11:24:16

基于SSM框架的生活论坛系统的设计与实现

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅


一、项目背景介绍:

BBS 是 Bulletin Board System 的英文缩写,中文翻译为电子广播公告牌。是一种在 Internet 上常见的一种用于提供信息服务的 Web 系统,是与浏览者进行相互交流和沟通的一个平台。 bbs 现在已经发展成为 internet 上最为知名的网络服务之一,它已经打开了一块"公共"的空间,以便供所有的用户阅读其中的资料。 bbs 网络论坛最早可以说是起源于20世纪80年代,最早这个网络论坛只是专门为联络网民及时地发布公告以及最新信息,讨论与网络技术密切关联的相关问题的一个网络信息技术交流平台,后来随着我国的互联络和网路的不断发展普及,论坛的网络信息服务范围面和功能越来越丰富,受到广大联络受到广大网民参与欢迎。因此,商业网站也对各个大型的商业网站和论坛本着更高层次的重视以及行动上的高度认真地建立起来,纷纷针对自己的各个大型商业网站上专门地策划打造开辟一个大型的商业网站和论坛,作为广大商业主站网民相互学习交流的最佳网络园地。同时,在线上的技术支持和新的在线客户服务也在这个论坛中迅速开展动了起来。 bbs 通常会为你提供一些多人间实时通信交谈,游戏通信服务,公布行业内部的最新信息甚至也都会为你提供各种类型的免费通信软件。各个新的 bbs 专业网站对所需要涉及的相关专业网站主题和其他相关的专业网站覆盖范围各自都会具有不同的侧重,我们为了让你可以自由地选择一个你较为熟悉和感兴趣的专业网站,或者直接进入各个 bbs 专业网站参与话题的讨论,发表观点意见,征求专业的建议,并且结识更多的朋友。介入 bbs 的各种话题性讨论,能够真正做到让你充分发挥自己的聪明才智,不断改善和拓宽你的知识面,丰富你的精彩生活。原来的软件 bbs 仅仅是主要为了提供信息的传送和文档阅读两种操作,用户一般大多都是些年轻的电脑软件喜欢者。随后,系统就可以实现了允许网络用户之间实时共同分享网络软件、文档,进行网络信息实时化对话、信件实时传输,等等。为了给你的建站工作者提供一个更好的企业建站收费服务一些著名企业的网站已经开始推行并且发起了关于建站收费也包括补贴等政策。但目前仅在erinternet上还是一直保持着只有无数用户可以看到免费同时显示数字bbs的官方站点。一般来说是abbs远程域名中的站点直接登录文件地址以多个远程域名中的站点登录形式同时登录出现,这些多个域名中的站点登录地址很有可能指的是通过远程域名用户直接登录的的方式用来进行远程用户连接。
目前各类BBS的主要功能有:
(1)学术信息资源供应者注册可由用户自我选择进行自由选择并注册可自由阅读若干自己可能感兴趣的相关学术课题专业组和相关学术课题讨论组内的其他相关学术信息;
(2)可随意检查是否有新消息发布并选择阅读;
(3)其他用户被许可在这个站点内随时发布个人消息或发表文章等以供他人浏览查阅;
(4)本站用户有权可就自己站点内其他发表人的发布消息或者对文章内容进行发表评论;
正像广告 bbs 的所有文本意思都包含了一个词,早期广告 bbs 就只是一块街头上的一块广告牌,主要目标是专门为了在两台电脑之间直接发射并传播或者接收广告消息。但它已经开始做为一种新型网络上进行信息的运输和传播的方式,以其特有的方便和快捷逐渐开始得到现代社会中的广泛重视和青睐,随着网络上传递 bbs 的这种快捷,准确信息的传输也使得信息的这种特别重要的作用被越来越多的现代社会中的人们广泛地认识和合理充分利用, bbs 的信息传输功能也在不断地得到了扩充, bbs 的传输科学技术也在逐步开始发展并走向了成熟。正像 bbs 的字面意思一样,早期开始使用 bbs 就像街头上的一张广告牌,主要目的是为了在电脑之间进行发送与接收。然而它作为一种新型的信息传递方式,以其独特的便捷性与迅速快捷性逐渐得到了人们的重视与青睐,随着 bbs 的这种快捷、准确传输信息的独特性与特殊功能已经被越来更多的人认识与利用, bbs 的功能也在不断拓展, bbs 的技术逐步进一步走向成熟。

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. Spring:Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
  3. Mybatis:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
    iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
  4. Jsp:JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。
    JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。
  5. Spring-Mvc:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。
  6. Html:HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
    超文本是一种组织信息的方式,它通过超级链接方法将文本中的文字、图表与其他信息媒体相关联。这些相互关联的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

1:jbbs_bankuai(jbbs_bankuai)

字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
imgvarchar(255)NULL
typevarchar(1)NULL
descsvarchar(2000)NULL
parentidint(11)NULL
orderbyint(11)NULL
createtimevarchar(255)NULL
createuseridint(11)NULL
fatiegroupvarchar(2000)NULL
huifugroupvarchar(2000)NULL
findgroupvarchar(2000)NULL
yumingvarchar(255)NULL

2:jbbs_group(jbbs_group)

字段名类型默认值列注释
idint(11)NULL
groupnamevarchar(255)NULL
createtimevarchar(255)NULL
createuseridint(11)NULL
statevarchar(2)NULL
isdelvarchar(2)NULL

3:jbbs_group_user(jbbs_group_user)

字段名类型默认值列注释
idint(11)NULL
useridint(11)NULL
groupidint(11)NULL

4:jbbs_huifu(jbbs_huifu)

字段名类型默认值列注释
idint(11)NULL
tieziidint(11)NULL
huifuidint(11)NULL
contenthtmlVARCHAR(255)NULL
contenttxtVARCHAR(255)NULL
createtimevarchar(255)NULL
createuseridint(11)NULL
lastupdatevarchar(2000)NULL
isdelvarchar(2)NULL
orderbyint(11)NULL

5:jbbs_info(jbbs_info)

字段名类型默认值列注释
idint(11)NULL
indextitlevarchar(2000)NULL
namevarchar(2000)NULL
keywordsvarchar(2000)NULL
descriptionvarchar(2000)NULL
logoimgvarchar(2000)NULL
foothtmlvarchar(2000)NULL

6:jbbs_inner_link(jbbs_inner_link)

字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
innerlinkvarchar(1000)NULL
typevarchar(1)NULL
isusevarchar(1)NULL
createuseridint(11)NULL
createtimevarchar(255)NULL

7:jbbs_jifen(jbbs_jifen)

字段名类型默认值列注释
idint(11)NULL
tieziidint(11)NULL
contentvarchar(2000)NULL
typevarchar(10)NULL
createtimevarchar(255)NULL
fenshuint(11)NULL
useridint(11)NULL
operateuseridint(11)NULL

8:jbbs_jifen_group(jbbs_jifen_group)

字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
jifenint(11)NULL
classnamevarchar(255)NULL
createtimevarchar(255)NULL
descsvarchar(2000)NULL
createuseridint(11)NULL

9:jbbs_link(jbbs_link)

字段名类型默认值列注释
idint(11)NULL
namevarchar(2000)NULL
linkvarchar(2000)NULL
createuseridint(11)NULL
createtimevarchar(255)NULL
orderbyint(11)NULL
bankuaiidint(11)NULL
imgvarchar(255)NULL
typevarchar(2)NULL
isshowvarchar(2)NULL

10:jbbs_message(jbbs_message)

字段名类型默认值列注释
idint(11)NULL
titleVARCHAR(255)NULL
contentVARCHAR(255)NULL
createtimevarchar(255)NULL
useridsendint(11)NULL
useridacceptint(11)NULL
messagetypevarchar(1)NULL
isreadvarchar(1)NULL

11:jbbs_pic(jbbs_pic)

字段名类型默认值列注释
idint(11)NULL
pathvarchar(1000)NULL
tieziidint(11)NULL
bankuaiidint(11)NULL
pictypevarchar(2)NULL
createuseridint(11)NULL
widthint(11)NULL
heightint(11)NULL
isdelvarchar(1)NULL

12:jbbs_stop_ip(jbbs_stop_ip)

字段名类型默认值列注释
idint(11)NULL
startipvarchar(255)NULL
endipvarchar(255)NULL
typevarchar(255)NULL
createtimevarchar(255)NULL
createuseridint(11)NULL
isusevarchar(1)NULL
remarksvarchar(2000)NULL

13:jbbs_tiezi(jbbs_tiezi)

字段名类型默认值列注释
idint(11)NULL
namevarchar(2000)NULL
createtimevarchar(255)NULL
createuseridint(11)NULL
bankuai_idint(11)NULL
zhutiidvarchar(255)NULL
lastupdatevarchar(2000)NULL
jinghuavarchar(255)NULL
zhidingvarchar(255)NULL
findcountint(11)NULL
huifuidint(11)NULL
isusevarchar(1)NULL

14:jbbs_user(jbbs_user)

字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
loginnamevarchar(255)NULL
pwdvarchar(255)NULL
imgvarchar(255)NULL
emailvarchar(255)NULL
birthdayvarchar(255)NULL
sexvarchar(2)NULL
mobilevarchar(255)NULL
qianmingvarchar(2000)NULL
createtimevarchar(255)NULL
lastlogintimevarchar(255)NULL
zhuceipvarchar(255)NULL
loginipvarchar(255)NULL
flagvarchar(2)NULL
jifenint(11)NULL
onlinetimeint(11)NULL
cookieidvarchar(255)NULL

15:jbbs_user_liuyan(jbbs_user_liuyan)

字段名类型默认值列注释
idint(11)NULL
contenthtmlVARCHAR(255)NULL
liuyanuseridint(11)NULL
createuseridint(11)NULL
createtimevarchar(20)NULL

16:jbbs_zhuti(jbbs_zhuti)

字段名类型默认值列注释
idint(11)NULL
namevarchar(255)NULL
bankuai_idint(11)NULL
orderbyint(11)NULL
createtimevarchar(255)NULL

五、功能模块:

  1. 用户注册实现:用户在第一次登录系统时,输入http://127.0.0.1:8080/bbs/进入页面,随后可以进行注册,注册时所需要的信息包括账号密码和身份认证码,用户在注册时通过信息中输入了用户名、密码以及身份认证码。
    为了防止恶意注册以及注册脏数据,我们对注册时的数据做了一定的限制,如用户名长度不能小于6位、两次输入的密码是否一致

    用户注册实现

  2. 用户登录:如果一个用户已经在系统中注册了自己的账号和密码的话,即可以直接登录本站的系统,同时对于登录的校验同样具有着多重的特点,同时把所有登录的用户信息都存入 session

    用户登录

  3. 看帖子:查看帖子功能是没有做任何权限校验的,属于任何人都可以访问的资源,用户点击帖子的时候,通过携带帖子的id可以查询到具体帖子的内容,通过geiById方法可以查询到帖子的内容、回复以及评论。

    看帖子

  4. 回复帖子:回复生活帖子必须要在登录的前提下进行回复,如果没有登录,系统会去session中拿到登录用户,如果存在则可以进行评论,如果不存在则无法进行评论。

    回复帖子

  5. 系统后台功能的实现-友情链接:可以给用户增加相关的网页链接端口,并且可以随时进行终止,失效等相关操作

    系统后台功能的实现-友情链接

  6. 用户管理:可以对论坛内注册的用户进行管理监控,只有论坛负责人具有该权限,相关的用户管理页面如图

    用户管理

  7. 网站设置:负责人可以给网站进行名称,标题,logo关键字和描述等内容进行编辑,最后通过网站审核后可以提交使用

    网站设置

六、代码示例:

用户注册实现
		//判断是否需要登陆
		boolean islogin = islogin(request, response, chain);
		if(islogin){
			return;
		}
		String urlString=request.getRequestURI();
		int lastIndexOf = urlString.lastIndexOf(".")+1;
		//静态化转换
		if(PublicStatic.HTML.equals(urlString.substring(lastIndexOf, urlString.length()))){
			htmlfilter(request, response, chain, urlString);
		}else{
			String path=request.getServletPath();
			Integer id=isbankuai(path);
			//板块映射成二级目录
			if(id!=null){
				String url="/bk/index.do?bankuaiid="+id+"&pagestart=1&zhutiid=0&orderby=0";
				request.getRequestDispatcher(url).forward(request, response);
				return;
			}else if(path.startsWith("/file/")){
				filefilter(request, response, chain, path);
			}else{
				chain.doFilter(request, response);
			}
		}
	}
用户登录
	public PageBean<Message> findpage(Message message,PageBean<Message> page) {
		page.setBean(message);
		int count = MessageDao.findpagecount(page);
		page.setTotalRecords(count);
		List<Message> list = MessageDao.findpage(page);
		for (Message message2 : list) {
			String content = message2.getContent();
			if(content!=null&&content.length()>130){
				content=content.substring(0, 130)+"......";
				message2.setContent(content);
			}
		}
		page.setList(list);
		return page ;
	}
看帖子

	@RequestMapping("index.do")
	public String findAllWhere(HttpServletRequest request, Model model,Jifen jifen,PageBean<Jifen> page) {
		User sessionuser=(User)request.getSession().getAttribute(PublicStatic.USER);
		jifen.setUserid(sessionuser.getId());
		page = jifenService.findpage(jifen, page);
		model.addAttribute("page", page);
		model.addAttribute("jifen", jifen);
		sessionuser = userService.findbyid(sessionuser);
		request.getSession().setAttribute(PublicStatic.USER,sessionuser);
		if(Tool.ismobile(request)){
			return "jsp/mobile/user/user-jifen";
		}else{
			return "jsp/index/user/user-jifen";
		}
	}
回复帖子
//保存发帖数据
		@RequestMapping("topcorm.do")
		public void add(HttpServletRequest request,HttpServletResponse response,String ismobile,String pathlocation) {
			if(ismobile.equals("1")){
				request.getSession().setAttribute("ismobile", true);
			}else{
				request.getSession().setAttribute("ismobile", false);
			}
			try {
				response.sendRedirect(pathlocation);
			} catch (IOException e) {
				e.printStackTrace();
			}
//			return "redirect:"+pathlocation;
		}
		//跳转页面  http://bbs.javaee.cc/common/tourl.do?url=http://baidu.com
		@RequestMapping("tourl.do")
		public void tourl(HttpServletRequest request,HttpServletResponse response,String url) {
		//userAgent:Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 MicroMessenger/6.5.12 NetType/WIFI Language/zh_CN
				try {
					String userAgent = request.getHeader("user-agent");
					System.out.println("userAgent:"+userAgent);
					if(userAgent.contains("MicroMessenger")){
						response.sendRedirect("wxp://f2f0DNKL4b65dEYJvVblzQE-knpF29yIG709");
					}else if(userAgent.contains("AlipayClient")){
						response.sendRedirect("HTTPS://QR.ALIPAY.COM/FKX00838VO3BEVQISLQW51");
					}else{
						response.sendRedirect("wxp://f2f0DNKL4b65dEYJvVblzQE-knpF29yIG709");
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
		}
}
系统后台功能的实现-友情链接
//首页查询
	@RequestMapping("index.do")
	public String findAllWhere(HttpServletRequest request, Model model,String bankuaiid,String zhutiid,PageBean<Tiezi> page,String orderby) {
		
		
		
//		long currentTimeMillis = System.currentTimeMillis();
		//查询当前板块
		Bankuai bankuai= bankuaiService.findbyid(bankuaiid);
		
		//判断访问权限
		User user=(User)request.getSession().getAttribute(PublicStatic.USER);
		boolean flag=userService.isfind(bankuai.getFindgroup(),user);
		if(!flag){
			return "redirect:/topage/quanxian.do";
		}
		
		
		//查询主题列表
		Zhuti zhuti=new Zhuti();
		zhuti.setBankuaiId(Integer.parseInt(bankuaiid));
		List<Zhuti> zhutilist = zhutiService.find(zhuti);
		
		//查询板块的帖子
		Tiezi tiezi=new Tiezi();
		tiezi.setBankuaiId(Integer.parseInt(bankuaiid));
		tiezi.setOrderby(orderby);
		if(zhutiid!=null&&!zhutiid.equals("0")){
			tiezi.setZhutiid(zhutiid);
		}else{
			zhutiid="0";
		}
		//查询列表
		tiezi.setIsuse("1");
		page = tieziService.findpagebybankuanid(tiezi, page);
		
//		long currentTimeMillis = System.currentTimeMillis();
		//今日的帖子总数
		int nowcount=tieziService.findnowcount(bankuaiid);
		//查询置顶
		List<Tiezi> zhidinglist= tieziService.findzhiding(bankuaiid);
		
		//查询友情链接
		Link link=new Link();
		link.setIsshow("1");
		link.setBankuaiid(Integer.parseInt(bankuaiid));
		List<Link> linklist = linkService.find(link);
		model.addAttribute("linklist", linklist);
		
		model.addAttribute("page", page);
		model.addAttribute("bankuaiid", bankuaiid);
		model.addAttribute("zhutiid", zhutiid);
		model.addAttribute("orderby", orderby);
		model.addAttribute("bankuai", bankuai);
		model.addAttribute("zhutilist", zhutilist);
		model.addAttribute("nowcount", nowcount);
		model.addAttribute("zhidinglist", zhidinglist);
		
		if(Tool.ismobile(request)){
			return "jsp/mobile/bankuai";
		}else{
			return "jsp/index/bankuai";
		}
	}
用户管理
/*
 * 公共的操作
 * 
 */
@Controller
@RequestMapping("/common")
public class CommonController {

	@Autowired
	UserService userService;
	
	private static Logger log = Logger.getLogger(CommonController.class);

	//每五秒钟调用一次,更新在线时间
	@ResponseBody
	@RequestMapping("updateuseronlinetime.do")
	public void updateuseronlinetime(HttpServletRequest request) {
		User user=(User) request.getSession().getAttribute(PublicStatic.USER);
		if(user!=null){
			Map<Integer, Long> map= (Map<Integer, Long>)request.getSession().getServletContext().getAttribute("updateuseronlinetime");
			if(map==null){
				map=new HashMap<Integer, Long>();
			}
			long l=System.currentTimeMillis();
			if(map.get(user.getId())==null||(l-map.get(user.getId())>4*1000)){
				userService.updateuseronlinetime(user);
				map.put(user.getId(), l);
				request.getSession().getServletContext().setAttribute("updateuseronlinetime", map);
			}
		}
	}
网站设置
	@RequestMapping("toupdateoradd.do")
	public String toupdateoradd(Bankuai bankuai, Model model) {
		if(bankuai.getId()!=null){
			bankuai=bankuaiService.findbyid(bankuai);
		}
		model.addAttribute("bankuai", bankuai);
		List<Bankuai> parentList = bankuaiService.findbyparentId(new Bankuai());
		//如果是父板块,删除自己
		for (int i=0;i< parentList.size() ;i++) {
			Bankuai bankuai2=parentList.get(i);
			if(bankuai2.getId()==bankuai.getId()){
				parentList.remove(bankuai2);
			}
		}
		model.addAttribute("parentList", parentList);
		List<JifenGroup> jifengouplist = jifenGroupService.find(new JifenGroup());
		model.addAttribute("jifengouplist", jifengouplist);
		return "jsp/admin/bankuai/updateoradd";
	}

七、论文参考:

八、项目总结:

随着我国信息工程产业的不断壮大,各行业企业信息化的实施和建设正是以各个阶段进行时的举措和动作来运行。 bbs ( bulletin board system )这个电子公告牌已经逐渐地成为 internet上最著名的公告服务之一,它为我们打开了一块"公共"的空间,可以让所有的用户阅读其中的内容。随着世界互联网络化的发展与通讯技术水平的提升,它已经成为互联网时代很重要的一个消息沟通平台。本文将在对 java 技术和系统的需求情况进行深入分析基础上,结合不同研究人员开发技术的具体功能特点,设计了一个可扩展性较强的基于 java 的网上论坛系统。
本系统隶属于web企业信息系统服务的一个重要子系统,用户可以自我自由地选择是否能够阅读若干个自己最为感兴趣的网站专业板块版面及其他相关的专业讨论板块版面内的最新资讯,可以随意地检查自己在网站上是否被发现了有新鲜的资讯及时进行发布并自行选定是否能够进行阅读,在多个网站内随时发布最新资讯或者是发表一篇文章时提供其他人进行阅读或者查看的功能。本系统内容主要涉及系统设计分析、数据库系统设计、软件设计。在软件开发中我选择了SSM+Java+MySQL的开发模式,在其中实现了整个论坛中的基本功能。

九、源码获取:

链接点击直达:下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

已解决ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘

已解决from radiomics import featureextractor导包&#xff0c;抛出ImportError: cannot import name ‘featureextractor‘ from ‘radiomics‘异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 文章目录报错问题报错翻译报错原因解决方法联系博…

centos7给已有分区进行扩容

1、背景 最近我在虚拟机上安装软件&#xff0c;发现磁盘空间不足&#xff0c;通过上网查找资料&#xff0c;发现可以通过如下方法进行磁盘扩容&#xff0c;此处进行记录一下。 2、实现扩容 1、虚拟机上添加一个新的硬盘 2、查看我们刚刚加入的硬盘 此处我们可以看到/dev/nvm…

Seata架构篇 - TCC模式

TCC 模式 概述 TCC 是分布式事务中的两阶段提交协议&#xff0c;它的全称为 Try-Confirm-Cancel&#xff0c;即资源预留&#xff08;Try&#xff09;、确认操作&#xff08;Confirm&#xff09;、取消操作&#xff08;Cancel&#xff09;。Try&#xff1a;对业务资源的检查并…

【MySQL进阶】视图 存储过程 触发器

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享Java相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…

Unity3D -知识点(1)

1.场景视图鼠标滚轮&#xff1a;场景放大缩小鼠标右键&#xff1a;场景左右平移场景编辑器中&#xff0c;能看到什么&#xff1f;网格&#xff0c;每一格大小为1unit&#xff0c;建模不同&#xff0c;规定不同&#xff0c;(对应屏幕上100个像素)世界坐标系y轴向上为正x轴向右为…

每天10个前端小知识 【Day 18】

前端面试基础知识题 1.如何实现单行&#xff0f;多行文本溢出的省略样式&#xff1f; 在日常开发展示页面&#xff0c;如果一段文本的数量过长&#xff0c;受制于元素宽度的因素&#xff0c;有可能不能完全显示&#xff0c;为了提高用户的使用体验&#xff0c;这个时候就需要…

2023金三银四跳槽必会Java核心知识点笔记整理

现在互联网大环境不好&#xff0c;互联网公司纷纷裁员并缩减 HC&#xff0c;更多程序员去竞争更少的就业岗位&#xff0c;整的 IT 行业越来越卷。身为 Java 程序员的我们就更不用说了&#xff0c;上班 8 小时需要做好本职工作&#xff0c;下班后还要不断提升技能、技术栈&#…

惠普LaserJet M1005 MFP报错b2

故障现象: 惠普LaserJet M1005 MFP开机后直接报b2错误; 检测维修: 故障大意是:机器的硬件可能出现点突变,此问题建议联系当地维修中心进行处理。

【计算机网络】网络层

文章目录网络层概述网络层提供的两种服务IPv4地址IPv4地址概述分类编址的IPv4地址划分子网的IPv4地址无分类编址的IPv4地址IPv4地址的应用规划IP数据报的发送和转发过程静态路由配置及其可能产生的路由环路问题路由选择路由选择协议概述路由信息协议RIP的基本工作原理开放最短路…

SciencePlots绘图

简介 使用Python作为核心开发工具的机器学习和深度学习研究者自然会希望使用Matplotlib进行科研图表的绘制&#xff0c;但是Matplotlib默认的样式并不适合科研论文的出版&#xff0c;而SciencePlots就是为此定制的一系列科研绘图样式库&#xff0c;可以绘制很合适科研图表。 …

蓝桥杯算法训练合集十五 1.打翻的闹钟2.智斗锅鸡3.文件列表

目录 1.打翻的闹钟 2.智斗锅鸡 3.文件列表 1.打翻的闹钟 问题描述 冯迭伊曼晚上刷吉米多维奇刷的太勤奋了&#xff0c;几乎天天迟到。崔神为了让VonDieEman改掉迟到的坏毛病&#xff0c;给他买了个闹钟。 一天早上&#xff0c;老冯被闹钟吵醒&#xff0c;他随手将闹钟按掉丢…

PHP教材管理系统设计(源代码+毕业论文)

【P003】PHP教材管理系统设计&#xff08;源代码论文&#xff09; 设计方案 本系统采用B/S结构&#xff0c;所有的程序及数据都放在服务器上&#xff0c;终端在取得相应的权限后使用Web页面浏览&#xff0c;录入&#xff0c;修改等功能。在语言方面使用PHP语言&#xff0c;在…

如何使用断点续传上传大文件

概念 大文件上传的需求介绍 不管怎样简单的需求&#xff0c;在量级达到一定层次时&#xff0c;都会变得异常复杂。 文件上传简单&#xff0c;文件变大就复杂 上传大文件时&#xff0c;以下几个变量会影响我们的用户体验 服务器处理数据的能力请求超时网络波动 上传时间会变长…

[acwing周赛复盘] 第 91 场周赛20230218

[acwing周赛复盘] 第 91 场周赛20230218 一、本周周赛总结二、 4861. 构造数列1. 题目描述2. 思路分析3. 代码实现三、4862. 浇花1. 题目描述2. 思路分析3. 代码实现四、4863. 构造新矩阵1. 题目描述2. 思路分析3. 代码实现六、参考链接一、本周周赛总结 这周挺难的。T1 贪心分…

2022黑马Redis跟学笔记.实战篇(六)

2022黑马Redis跟学笔记.实战篇 六4.7.达人探店功能4.7.1.分享探店图文1. 达人探店-发布探店笔记2. 达人探店-查看探店笔记4.7.2.点赞功能4.7.3.基于List实现点赞用户列表TOP104.7.4.基于SortedSet实现点赞排行榜4.8.关注列表4.8.1.关注列表实现原理4.8.2.添加关注1. 好友关注-关…

JAVA 双亲委派

双亲委派 问题&#xff1f; 什么是双亲委派&#xff1f;为什么需要双亲委派&#xff0c;不委派有什么问题&#xff1f;"父加载器"和"子加载器"之间的关系是继承的吗&#xff1f;双亲委派是怎么实现的&#xff1f;我能不能主动破坏这种双亲委派机制&#x…

nginx平滑升级

1.平滑升级操作1.1 备份安装目录下的nginxcd /usr/local/nginx/sbin mv nginx nginx.bak1.2 复制objs目录下的nginx到当前sbin目录下cp /opt/software/nginx/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/1.3 发送信号user2给nginx老版本对应的进程kill -user2 more /usr/lo…

【TypeScript】TypeScript的基础类型(string,number,boolean,void,null,undefined):

文章目录一、安装【1】安装npm install typescript -g【2】基础类型&#xff1a;Boolean、Number、String、null、undefined 以及 ES6 的 Symbol 和 ES10 的 BigInt二、字符串类型(string)三、数字类型(number)四、布尔类型(boolean)五、空值类型(void)六、null和undefined类型…

初探Mysql反向读取文件

前言 Mysql反向读取文件感觉蛮有意思的&#xff0c;进行了解过后&#xff0c;简单总结如下&#xff0c;希望能对在学习Mysql反向读取文件的师傅有些许帮助。 前置知识 在Mysql中存在这样一条语句 LOAD DATA INFILE它的作用是读取某个文件中的内容并放置到要求的表中&#x…

IOS崩溃文件符号化实践

1.背景与项目难点 1.1 背景 由于公司之前使用的友盟要收费&#xff0c;filebase服务由谷歌提供&#xff0c;存在数据合规风险。需要实现稳定性分析功能&#xff0c;通过支持app崩溃信息实时采集、实时上报、实时自动解析并定位出代码问题&#xff0c;帮助研发同学及时定位崩溃…