DC00024基于ssm实验室预约管理系统java web项目web教师预约jsp预约管理系统

1、项目功能演示

DC00024基于web实验室预约管理系统ssm教室预约实验室预约管理系统java web项目MySQL

2、项目功能描述

基于ssm实验室预约管理系统分为用户和系统管理员两个角色。

2.1 系统管理员

1、系统登录
2、用户管理:修改个人信息、修改个人密码、教师管理、学生管理
3、实验室管理:新增实验室、查看实验室
4、预约信息管理:排班表、高级搜索
5、公告管理:发布公告、删除公告

2.2 教师

1、系统登录
2、用户管理:查看个人信息、修改个人密码
3、预约管理:预约实验室(个人预约、课程预约)、查看预约信息、实验室排期表、高级搜索
4、课程管理:新增课程、课程列表

2.3 学生

1、系统登录
2、用户管理:查看个人信息、修改个人密码
3、预约管理:预约实验室、查看预约信息、实验室排期表、高级搜索

3、项目运行截图

1953a1cc985945aa97ae39d893913307.png6ad355b130d94863835201aae36622fe.pngc7b1e535d93147878d65fc710ea91398.png954dc6190821405ea7e2dfc1bfaa333b.png07e3e0decbb64adfa64801699b30c2bc.png5e63ac1c3d3c4200822c605427cfad72.pngce045ca56ec940c981716765a2c981c7.png869c00c65be043f893a91b8bb1c9e64c.pngc04c212e50b04872993f86434108ca73.png67fb531ab7f2425a9a98495514e34724.pngae45ad7381944524b7ace3d62e915e5f.png53c751dbacd6493695ea30ff4e961ea6.pngba29b6ee2c20465c92427570c7d19ccf.png41b21b2fed694e2bbef82ed8f7c1757b.png130534f944c7416cbc96371945947348.pngf9f19fa750454f7da6d8b69c037b2f5a.png278414e153704cac9bf87f3080a539dc.png 

4、项目核心代码 

4.1 ApplicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.2.xsd">  <context:component-scan base-package="com.lrms.*"><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>  <!-- 配置数据源,引用数据池c3p0.jar包 --><!-- 通过加载jdbc配置文件使用数据源信息 --><!-- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">  <property name="driverClass" value="${jdbc.classname}" />  <property name="jdbcUrl" value="${jdbc.url}" />  <property name="user" value="${jdbc.user}"/>  <property name="password" value="${jdbc.password}"/> </bean> --> <!-- 直接定义数据源的信息 -->  <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"  destroy-method="close">  <property name="driverClass">  <value>com.mysql.jdbc.Driver</value>  </property>  <property name="jdbcUrl">  <value>jdbc:mysql://localhost:3305/lrms?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8</value></property>  <property name="user">  <value>root</value>  </property>  <property name="password">  <value>root</value></property>  <property name="maxPoolSize">  <value>80</value>  </property>  <property name="minPoolSize">  <value>1</value>  </property>  <property name="initialPoolSize">  <value>1</value>  </property>  <property name="maxIdleTime">  <value>20</value>  </property>      </bean>  <!--定义Hibernate的SessionFactory -->  <!-- SessionFactory使用的数据源为上面的数据源 -->  <!-- 指定了Hibernate的映射文件和配置信息 -->  <bean id="sessionFactory"  class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">  <property name="dataSource">  <ref local="dataSource" />  </property>  <property name="hibernateProperties">  <props>  <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  <prop key="show_sql">true</prop>  <prop key="hibernate.jdbc.batch_size">20</prop>  <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop></props>  </property>  <property name="packagesToScan" value="*" />          </bean>  <!-- 定义事务管理器(声明式的事务) -->    <bean id="transactionManager"  class="org.springframework.orm.hibernate4.HibernateTransactionManager">  <property name="sessionFactory" ref="sessionFactory" />  </bean> <!--  扫描注解<tx:annotation-driven/> 就是支持事务注解的(@Transactional) <mvc:annotation-driven> 就是支持mvc注解的--><tx:annotation-driven transaction-manager="transactionManager"/>       	</beans>  

4.2 spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:beans="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.2.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.2.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ">  <!-- 加载Spring的全局配置文件 -->  <beans:import resource="ApplicationContext.xml" />  <!-- 配置静态资源信息    **指resources下的所有目录文件 --><mvc:resources location="/resource/" mapping="/resource/**"/><!-- 通过component-scan 让Spring扫描*下的所有的类,让Spring的代码注解生效 --> <!-- 扫描器只扫描到controller --><context:component-scan base-package="com.lrms.*"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/></context:component-scan><!-- 配置解析器,默认使用ISO-8859-1字符集,需要设置在 annotation-driven之前,用来修改ContextType中的字符集,设置在annotation-driven之后则无法生效--><bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"><property name="messageConverters"><list><ref bean="stringMessageConvert" /><ref bean="jacksonMessageConvert" /></list></property></bean><!-- 启动两个类 DefaultAnnotationHandlerMapping(解析RequestMapping注解,放入map当中)  AnnotationMethodHandlerAdapter(适配器来执行自己编写的controller)spring3.1之后  被替代为RequestMappingHandlerMapping   RequestMappingHandlerAdapter--><mvc:annotation-driven></mvc:annotation-driven><!-- 视图解析器  bean的ID和 DispatcherServlet中的名称一致 --><!-- jsp页面放在 /WEB-INF/目录下--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix"  value="/jsp/" /><property name="suffix" value=".jsp"/></bean><!-- 对RequestParam,ResponseBody注解  解析JSON格式数据的转换器  --><bean id="jacksonMessageConvert" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=utf-8</value> <!-- IE FireFox --><value>application/json;charset=utf-8</value> <!-- Chrome --></list></property></bean><!-- 对RequestParam,ResponseBody注解 解析字符数据的转换器  --><bean id="stringMessageConvert" class="org.springframework.http.converter.StringHttpMessageConverter"><property name="supportedMediaTypes"><list><value>text/html;charset=utf-8</value></list></property></bean><!-- 配置Spring文件上传 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="defaultEncoding" value="UTF-8"></property><property name="maxUploadSize" value="5400000"></property> <!-- 单位字节 1024*1024*10 10MB   是上传文件的大小,单位为字节--><property name="maxInMemorySize" value="20480"></property> <!-- 在内存中的最大大小 --><property name="resolveLazily" value="true"></property><!-- <property name="uploadTempDir" value="fileUpload/temp"></property> --></bean><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/><mvc:exclude-mapping path="/resource/**"/><mvc:exclude-mapping path="/**"/><bean class="com.lrms.interceptor.LoginInterceptor"></bean></mvc:interceptor></mvc:interceptors>
</beans>  

4.3 预约action

package com.lrms.controller;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;import com.lrms.other.ExecResult;
import com.lrms.entity.Course;
import com.lrms.entity.Laboratory;
import com.lrms.entity.Reservation;
import com.lrms.entity.Term;
import com.lrms.entity.lab_reservation;
import com.lrms.entity.lab_schedule;
import com.lrms.entity.user_lab_reservation;
import com.lrms.service.LaboratoryService;
import com.lrms.service.ReserveLaboratoryService;
import com.lrms.service.UserService;import org.apache.commons.lang.StringUtils;@Controller
public class ReserveController {@Autowiredprivate ReserveLaboratoryService reserveLaboratoryService;@Autowiredprivate LaboratoryService laboratoryService;@Autowiredprivate UserService userService;@RequestMapping("getLabReserveById")public ModelAndView getLabReserveById(HttpServletRequest request,HttpSession session){ModelAndView view=new ModelAndView("reservation");int lab_id=Integer.parseInt(request.getParameter("lab_id"));int user_id=Integer.parseInt(request.getParameter("user_id"));List<lab_reservation> lab_reservation_list=reserveLaboratoryService.getLab_reservations(lab_id);view.addObject("lab_reservation_list",lab_reservation_list);view.addObject("lab_id", lab_id);List<Term> termList=userService.getTermList();view.addObject("termList",termList);List<Course> courseList=userService.getCourseList(user_id);view.addObject("courseList",courseList);return view;}@RequestMapping("reserveLab")@ResponseBodypublic ExecResult reserveLab(HttpSession session,HttpServletRequest request) throws ParseException{ExecResult er=new ExecResult();System.out.println("LaboratoryController - addLab");Reservation reservation=new Reservation();if(StringUtils.isNotBlank(request.getParameter("course_id"))){reservation.setCourse_id(Integer.parseInt(request.getParameter("course_id")));}if(StringUtils.isNotBlank(request.getParameter("lab_id"))){reservation.setLab_id(Integer.parseInt(request.getParameter("lab_id")));}if(StringUtils.isNotBlank(request.getParameter("user_id"))){reservation.setUser_id(Integer.parseInt(request.getParameter("user_id")));}if(StringUtils.isNotBlank(request.getParameter("reserve_type"))){reservation.setReserve_type(Integer.parseInt(request.getParameter("reserve_type")));}if(StringUtils.isNotBlank(request.getParameter("time_interval"))){reservation.setTime_interval(Integer.parseInt(request.getParameter("time_interval")));}if(StringUtils.isNotBlank(request.getParameter("weekday"))){reservation.setWeekday(Integer.parseInt(request.getParameter("weekday")));}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  Date create_time = sdf.parse(request.getParameter("create_time"));reservation.setCreate_time(create_time);SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");  if(Integer.parseInt(request.getParameter("reserve_type"))==1){if(StringUtils.isNotBlank(request.getParameter("person_number"))){reservation.setPerson_number(Integer.parseInt(request.getParameter("person_number")));}Date reserve_date =(Date)sdf1.parse(request.getParameter("reserve_date"));reservation.setReserve_date(reserve_date);}else{if(StringUtils.isNotBlank(request.getParameter("person_number2"))){reservation.setPerson_number(Integer.parseInt(request.getParameter("person_number2")));}Date reserve_date = sdf1.parse(request.getParameter("reserve_date2"));reservation.setReserve_date(reserve_date);}if(StringUtils.isNotBlank(request.getParameter("modify_time"))){Date modify_time = sdf.parse(request.getParameter("modify_time"));reservation.setModify_time(modify_time);}if(StringUtils.isNotBlank(request.getParameter("courseName"))){reservation.setCourseName(request.getParameter("courseName"));}if(StringUtils.isNotBlank(request.getParameter("description"))){reservation.setDescription(request.getParameter("description"));}int result=(int)reserveLaboratoryService.reserveLab(reservation);if(result>0){er.setMsg("恭喜您,预约成功");er.setSuccess(true);}else{er.setMsg("实验室可供预约人数不够");er.setSuccess(false);}return er;}	@RequestMapping("schedule_table")public ModelAndView schedule_table(HttpServletRequest request,HttpSession session){ModelAndView view=new ModelAndView("schedule_table");int lab_id=Integer.parseInt(request.getParameter("lab_id"));List<lab_schedule> list=reserveLaboratoryService.getSchedule_table(lab_id);List<Laboratory> labList=laboratoryService.getAllLab();view.addObject("labList",labList);view.addObject("list",list);return view;}//显示某个用户所有预约信息列表@RequestMapping("reservationByUser")public ModelAndView reservationByUser(HttpServletRequest request,HttpSession session){ModelAndView view=new ModelAndView("manage_reservation_info");int user_id=Integer.parseInt(request.getParameter("user_id"));int user_type=Integer.parseInt(request.getParameter("user_type"));List<lab_reservation> list=reserveLaboratoryService.reservationByUser(user_id);view.addObject("list",list);if(user_type==2){//获得属于该学生所在课堂的预约信息List<lab_reservation> list2=reserveLaboratoryService.ReservationTeacherForStudent(user_id);view.addObject("list2",list2);}return view;}/*//显示某个用户某条预约信息,并显示在update_reservation页面中@RequestMapping("single_reservation_info")public ModelAndView single_reservation_info(HttpServletRequest request,HttpSession session){ModelAndView view=new ModelAndView("update_reservation");int reserve_id=Integer.parseInt(request.getParameter("reserve_id"));lab_reservation lab_reservation=reserveLaboratoryService.single_reservation_info(reserve_id);view.addObject("lab_reservation",lab_reservation);return view;}*/@RequestMapping("deleteReservation")@ResponseBodypublic ExecResult deleteReservation(HttpSession session,HttpServletRequest request) {ExecResult er=new ExecResult();int reserve_id=Integer.parseInt(request.getParameter("reserve_id"));int result=(int)reserveLaboratoryService.deleteReservation(reserve_id);if(result>0){er.setMsg("恭喜您,成功取消预约");er.setSuccess(true);}else{er.setMsg("取消预约失败");er.setSuccess(false);}return er;}//课堂预约@RequestMapping("reserveLab2")@ResponseBodypublic ExecResult reserveLab2(HttpSession session,HttpServletRequest request) throws ParseException{ExecResult er=new ExecResult();int result=0;Reservation reservation=new Reservation();if(StringUtils.isNotBlank(request.getParameter("lab_id"))){reservation.setLab_id(Integer.parseInt(request.getParameter("lab_id")));}if(StringUtils.isNotBlank(request.getParameter("user_id"))){reservation.setUser_id(Integer.parseInt(request.getParameter("user_id")));}if(StringUtils.isNotBlank(request.getParameter("reserve_type"))){reservation.setReserve_type(Integer.parseInt(request.getParameter("reserve_type")));}if(StringUtils.isNotBlank(request.getParameter("course_id"))){reservation.setCourse_id(Integer.parseInt(request.getParameter("course_id")));}if(StringUtils.isNotBlank(request.getParameter("time_interval"))){reservation.setTime_interval(Integer.parseInt(request.getParameter("time_interval")));}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  Date create_time = sdf.parse(request.getParameter("create_time"));reservation.setCreate_time(create_time);if(StringUtils.isNotBlank(request.getParameter("modify_time"))){Date modify_time = sdf.parse(request.getParameter("modify_time"));reservation.setModify_time(modify_time);}if(StringUtils.isNotBlank(request.getParameter("description"))){reservation.setDescription(request.getParameter("description"));}if(StringUtils.isNotBlank(request.getParameter("from"))&&StringUtils.isNotBlank(request.getParameter("end"))){String from=request.getParameter("from");String end=request.getParameter("end");int year1=Integer.parseInt(from.substring(0, 4));int month1=Integer.parseInt(from.substring(5, 7));int day1=Integer.parseInt(from.substring(8, 10));int year2=Integer.parseInt(end.substring(0, 4));int month2=Integer.parseInt(end.substring(5, 7));int day2=Integer.parseInt(end.substring(8, 10));if(StringUtils.isNotBlank(request.getParameter("weekday"))){int weekday=Integer.parseInt(request.getParameter("weekday"));Calendar calendar = new GregorianCalendar();//定义一个日历,变量作为年初Calendar calendarEnd = new GregorianCalendar();//定义一个日历,变量作为年末calendar.set(Calendar.YEAR, year1);calendar.set(Calendar.MONTH, month1-1);calendar.set(Calendar.DAY_OF_MONTH, day1-1);//设置年初的日期为1月1日calendarEnd.set(Calendar.YEAR, year2);calendarEnd.set(Calendar.MONTH, month2-1);calendarEnd.set(Calendar.DAY_OF_MONTH, day2-1);//设置年末的日期为12月31日SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");while(calendar.getTime().getTime()<=calendarEnd.getTime().getTime()){//用日期区间循环if(calendar.get(Calendar.DAY_OF_WEEK)==weekday+1){//判断如果为weekday时String date1=sf.format(calendar.getTime());Date date2=sf.parse(date1);reservation.setReserve_date(date2);reservation.setWeekday(weekday);result=reserveLaboratoryService.reserveLab(reservation);}calendar.add(Calendar.DAY_OF_MONTH, 1);//日期+1}}}if(result>0){er.setMsg("恭喜您,预约成功");er.setSuccess(true);}else{er.setMsg("实验室可供预约人数不够,请调整预约区间或课堂");er.setSuccess(false);}return er;}//高级搜索,根据用户、预约类别、预约期间等模糊搜索@RequestMapping("selectReservation")public ModelAndView selectReservation(HttpServletRequest request,HttpSession session){ModelAndView view=new ModelAndView("selectReservation");int user_type=0; String user_name=null;int reserve_type=0;String from=null;String end=null;int user_id=Integer.parseInt(request.getParameter("user_id"));if(StringUtils.isNotBlank(request.getParameter("user_type"))){user_type=Integer.parseInt(request.getParameter("user_type"));}if(StringUtils.isNotBlank(request.getParameter("user_name"))){user_name=request.getParameter("user_name");}if(StringUtils.isNotBlank(request.getParameter("reserve_type"))){reserve_type=Integer.parseInt(request.getParameter("reserve_type"));}if(StringUtils.isNotBlank(request.getParameter("from"))){from=request.getParameter("from");}if(StringUtils.isNotBlank(request.getParameter("end"))){end=request.getParameter("end");}System.out.println("bjhed");List<user_lab_reservation> list=reserveLaboratoryService.selectReservation(user_id,user_type,user_name,reserve_type,from,end);view.addObject("list1",list);return view;}}

4.4  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><display-name>LRMS</display-name><welcome-file-list><welcome-file>jsp/login.jsp</welcome-file></welcome-file-list><!-- 监听spring上下文容器 -->  <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener>	<listener><listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class></listener><!-- 加载spring的xml配置文件到 spring的上下文容器中 -->  <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>classpath:ApplicationContext.xml</param-value>  </context-param>   <!-- 配置spring先配置一个servlet,然后 加载LRMS的xml文件到Spring的上下文中。然后配置servlet-mapping,servlet-name为刚刚的servlet中的配置的name,然后指定要拦截的url为/--><servlet><servlet-name>LRMS</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 初始化参数 ,加载LRMS的xml到 spring的上下文容器中 -->  <init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- 配置DispatcherServlet所需要拦截的 url -->  <servlet-mapping><servlet-name>LRMS</servlet-name><url-pattern>/</url-pattern> 	</servlet-mapping><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern> </filter-mapping>
</web-app>

5、项目包含

166b68ef571f4e099f1bae2c84365b65.png

6、项目获取

6.1 方式一

扫描下方名片获取文件。

e794a9d6dc484cd29c77eeeb2814f8cd.pngdd7e3709ebb540d3b24d3b13a5ac911b.png

6.2 方式二

点击此处直接获取项目文件。

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

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

相关文章

执行力怎么培养?

执行力怎么培养&#xff1f; 并行&#xff1a;适合在初期养成习惯&#xff0c;不抱对结果的期望天才就是强迫症&#xff1a;适合中期修身&#xff1a;适合高级 并行&#xff1a;适合在初期养成习惯&#xff0c;不抱对结果的期望 在你开始做任何事情的时候&#xff0c;不要一开…

单调队列应用介绍

单调队列应用介绍 定义应用场景实现模板具体示例滑动窗口最大值问题描述问题分析代码实现带限制的子序列和问题描述问题分析代码实现跳跃游戏问题描述问题分析代码实现定义 队列(Queue)是另一种操作受限的线性表,只允许元素从队列的一端进,另一端出,具有先进先出(FIFO)的特…

疾风大模型气象,基于气象数据打造可视化平台

引言 随着气象数据的广泛应用&#xff0c;越来越多的行业依赖天气预报与气候分析来做出决策。从农业、航空、能源到物流&#xff0c;气象信息无时不刻影响着各行各业的运作。然而&#xff0c;气象数据本身复杂且多样&#xff0c;如何将这些数据转化为直观、易于理解的图形和信…

【微服务】组件、基础工程构建(day2)

组件 服务注册和发现 微服务模块中&#xff0c;一般是以集群的方式进行部署的&#xff0c;如果我们调用的时候以硬编码的方式&#xff0c;那么当服务出现问题、服务扩缩容等就需要对代码进行修改&#xff0c;这是非常不好的。所以微服务模块中就出现了服务注册和发现组件&…

基于深度学习的乳腺癌分类识别与诊断系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 乳腺癌是全球最常见的癌症之一&#xff0c;早期诊断对于治疗效果至关重要。近年来&#xff0c;深度学习技术在医学图像分析领域取得了显著进展&#xff0c;能够从大量的医学影像数据中自动学习和提…

Vue3.X + SpringBoot小程序 | AI大模型项目 | 饮食陪伴官

gitee平台源码 github平台源码 饮食陪伴师是一个管理饮食的原生大模型小程序&#xff0c;优势&#xff1a; 精确营养监控&#xff1a;用户记录饮食后&#xff0c;我们会计算出食用的营养成分与分量&#xff0c;并反馈给用户。饮食建议有效&#xff1a;大模型经过我们训练具备大…

Qt 中的 QListWidget、QTreeWidget 和 QTableWidget:简化的数据展示控件

Qt 中的 QListWidget、QTreeWidget 和 QTableWidget&#xff1a;简化的数据展示控件 在 Qt 的用户界面开发中&#xff0c;展示和管理数据是常见的需求。Qt 提供了丰富的控件供开发者选择&#xff0c;其中 QListWidget、QTreeWidget 和 QTableWidget 是三个高层封装控件&#x…

程计软考题2-编译、解释程序翻译阶段

(一) 编译器和解释器的工作阶段 1.编译和解释与源程序的区别 分析&#xff1a;编译和解释是语言处理的两种基本方式。 编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段&#xff0c;以及符号表管理和出错处理模块。 解释过程在词法、语…

【Kubernetes】常见面试题汇总(四十三)

目录 98. kube-apiserver 和 kube-scheduler 的作用是什么&#xff1f; 99.您对云控制器管理器了解多少&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;…

网络层——IP

IP地址 结构&#xff1a; 由32位二进制数组成&#xff0c;通常用点分的形式被分为四个部分&#xff0c;每个部分1byte&#xff0c;最大值为255。 从功能的角度看&#xff0c;ip地址由两部分组成&#xff0c;网络号和主机号。网络号标识了ip所在的网段&#xff0c;主机号标识了…

基于微信的乐室预约小程序+ssm(lw+演示+源码+运行)

摘 要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

服务器使用frp做内网穿透详细教程,请码住

目录 1.内网穿透的定义 2.前提条件 3.frp下载地址 4.配置服务器端的frps.toml文件 5. 配置客户端&#xff0c;即物理服务器或者是电脑本机地址 6.添加服务端启动命令startServerFrp.sh 7.添加客户端启动命令startClientFrp.sh 8. 查看服务端启动日志 9.查看客户端启…

Java网络通信—UDP

0.小记 1.udp通信不需要建立socket管道&#xff0c;一边只管发&#xff0c;一边只管收 2.客户端&#xff1a;将数据&#xff08;byte&#xff09;打包成包裹&#xff08;DatagramPacket&#xff09;&#xff0c;写上地址&#xff08;IP端口&#xff09;&#xff0c;通过快递站&…

简站wordpress主题产品多图ACF插件设置方法

此教程仅适用于演示站有产品多图的主题&#xff0c;演示站没有产品多图的主题&#xff0c;就别往下看了&#xff0c;省得浪费时间。 1、给产品添加轮播图 简站wordpress主题有多个产品图的主题&#xff0c;添加产品轮播图的具体方法如下&#xff1a; 1.2、选择产品分类 添加…

IDEA服务启动时无法输出日志

起服务时&#xff0c;控制台啥日志也没有 解决方案&#xff1a;选择【启用调试输出】 SQL的日志无法打印 原来安装了一个Mybatis Log Free&#xff0c;用的好好的。 后来换了个项目&#xff0c;SQL执行日志就打印不出来了。 解决方案&#xff1a;换个插件&#xff0c;我换了…

安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型

案例介绍 在全球制造业加速数字化的背景下&#xff0c;工厂的生产管理与设备维护效率愈发重要。 某知名日系汽车制造厂当前面临着设备的实时监控、故障维护&#xff0c;以及跨地域的管理协作等挑战&#xff0c;由于场地分散和突发状况的不可预知性&#xff0c;传统方式已无法…

M3u8视频由手机拷贝到电脑之后,通过potplayer播放报错找不到文件地址怎么解决?

该文章前面三节主要介绍M3u8视频是什么&#xff0c;视频播放错误(找不到地址)的解决方法在后面 M3U8是一种多媒体播放列表文件格式&#xff0c;主要用于流媒体播放。 一、文件格式特点 1. 文本文件&#xff1a;M3U8是一个采用 UTF-8 编码的文本文件&#xff0c;这意味着它可…

基于ssm的学生社团管理系统 社团分配系统 社团活动调度平台 学生社团管理 信息化社团管理开发项目 社团活动管理 社团预约系统(源码+文档+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

【性能优化】低配starRocks常驻内存优化

背景说明 由于服务器的实际资源小于starRocks官方的配置&#xff0c;导致starRocks在无任务的情况下&#xff0c;常驻内存偏高&#xff0c;可用于查询的资源变小。 官方文档 实际部署的集群一般是4C8G和8C16G&#xff0c;be的配置不达标 为了解决单次查询内存不足的问题&…

MySQL高阶2020-无流量的账户数

目录 题目 准备数据 分析数据 总结 题目 编写SQL查询以报告在 2021 购买订阅但没有任何会话的帐 户数。 准备数据 Create table If Not Exists Subscriptions (account_id int, start_date date, end_date date) Create table If Not Exists Streams (session_id int, a…