大家好,今天小编来为大家解答以下的问题,关于jsp网站点赞功能实现源码分享,jsp网站建设这个很多人还不知道,现在让我们一起来看看吧!
博主介绍:?在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计?
项目名称
SSM框架警校在线考试系统的设计与开发
视频效果
SSM框架警校在线考试系统的设计与开发
系统说明
1.4.1功能模块
登录注册模块、试题录入模块、试题管理模块、试卷生成模块、试卷管理模块、试卷打分模块。
1.4.2系统角色
学生用户、教师用户。
?编辑
环境需要
1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/101G内存以上;或者MacOS;5.数据库:MySql5.7版本;6.是否Maven项目:否;
技术栈
1.后端:Spring+SpringMVC+Mybatis2.前端:JSP+CSS+JavaScript+jQuery
使用说明
1.使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;2.使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行mavenclean;maveninstall命令,然后运行;3.将项目中springmvc-servlet.xml配置文件中的数据库配置改为自己的配置;4.运行项目,在浏览器中输入http://localhost:8080/登录
运行截图
?编辑
?编辑
?编辑
?编辑
?编辑
?编辑
?编辑
?编辑
?编辑
?编辑
用户管理控制层:
packagecom.houserss.controller;\n\nimportjavax.servlet.http.HttpSession;\n\nimportorg.apache.commons.lang3.StringUtils;\nimportorg.springframework.beans.factory.annotation.Autowired;\nimportorg.springframework.stereotype.Controller;\nimportorg.springframework.web.bind.annotation.RequestMapping;\nimportorg.springframework.web.bind.annotation.RequestMethod;\nimportorg.springframework.web.bind.annotation.RequestParam;\nimportorg.springframework.web.bind.annotation.ResponseBody;\n\nimportcom.houserss.common.Const;\nimportcom.houserss.common.Const.Role;\nimportcom.houserss.common.ServerResponse;\nimportcom.houserss.pojo.User;\nimportcom.houserss.service.IUserService;\nimportcom.houserss.service.impl.UserServiceImpl;\nimportcom.houserss.util.MD5Util;\nimportcom.houserss.util.TimeUtils;\nimportcom.houserss.vo.DeleteHouseVo;\nimportcom.houserss.vo.PageInfoVo;\n\n/**\n*Createdbyadmin\n*/\n@Controller\n@RequestMapping(&34;)\npublicclassUserController{\n@Autowired\nprivateIUserServiceiUserService;\n\n/**\n*用户登录\n*@paramusername\n*@parampassword\n*@paramsession\n*@return\n*/\n@RequestMapping(value=&34;,method=RequestMethod.POST)\n@ResponseBody\npublicServerResponse<User>login(Useruser,Stringuvcode,HttpSessionsession){\nStringcode=(String)session.getAttribute(&34;);\nif(StringUtils.isNotBlank(code)){\nif(!code.equalsIgnoreCase(uvcode)){\nreturnServerResponse.createByErrorMessage(&34;);\n}\n}\nServerResponse<User>response=iUserService.login(user.getUsername(),user.getPassword());\nif(response.isSuccess()){\nsession.setAttribute(Const.CURRENT_USER,response.getData());\n}\nreturnresponse;\n}\n\n\n\n\n}\n
管理员管理控制层:
\npackagecom.sxl.controller.admin;\n\nimportjava.util.List;\nimportjava.util.Map;\n\nimportjavax.servlet.http.HttpServletRequest;\n\nimportorg.springframework.http.ResponseEntity;\nimportorg.springframework.stereotype.Controller;\nimportorg.springframework.ui.Model;\nimportorg.springframework.web.bind.annotation.RequestMapping;\n\nimportcom.sxl.controller.MyController;\n\n@Controller(&34;)\n@RequestMapping(value=&34;)\npublicclassAdminControllerextendsMyController{\n\t\n\n\t@RequestMapping(value=&34;)\n\tpublicStringframe(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t@RequestMapping(value=&34;)\n\tpublicStringmain(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t@RequestMapping(value=&34;)\n\tpublicStringtj1(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\tStringsql=&39;%Y-%m-%d&39;%Y-%m-%d&34;;\n\t\tList<Map>list=db.queryForList(sql);\n\t\tmodel.addAttribute(&34;,list);\n\t\tSystem.out.println(list);\n\t\treturn&34;;\n\t}\n\t\n\t\n\t@RequestMapping(value=&34;)\n\tpublicStringpassword(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t\n\t@RequestMapping(value=&34;)\n\tpublicResponseEntity<String>loginSave(Modelmodel,HttpServletRequestrequest,StringoldPassword,StringnewPassword)throwsException{\n\t\tMapadmin=getAdmin(request);\n\t\tif(oldPassword.equals(admin.get(&34;).toString())){\n\t\t\tStringsql=&34;;\n\t\t\tdb.update(sql,newObject[]{newPassword,admin.get(&34;)});\n\t\t\treturnrenderData(true,&34;,null);\n\t\t}else{\n\t\t\treturnrenderData(false,&34;,null);\n\t\t}\n\t}\n}\n
修改密码业务逻辑:
\npackagecom.sxl.controller.admin;\n\nimportjava.util.Map;\n\nimportjavax.servlet.http.HttpServletRequest;\n\nimportorg.springframework.http.ResponseEntity;\nimportorg.springframework.stereotype.Controller;\nimportorg.springframework.ui.Model;\nimportorg.springframework.web.bind.annotation.RequestMapping;\n\nimportcom.sxl.controller.MyController;\n\n@Controller(&34;)\n@RequestMapping(value=&34;)\npublicclassUserControllerextendsMyController{\n\t\n\n\t@RequestMapping(value=&34;)\n\tpublicStringframe(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t@RequestMapping(value=&34;)\n\tpublicStringmain(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t\n\t@RequestMapping(value=&34;)\n\tpublicStringpassword(Modelmodel,HttpServletRequestrequest)throwsException{\n\t\treturn&34;;\n\t}\n\t\n\t\n\t@RequestMapping(value=&34;)\n\tpublicResponseEntity<String>loginSave(Modelmodel,HttpServletRequestrequest,StringoldPassword,StringnewPassword)throwsException{\n\t\tMapuser=getUser(request);\n\t\tif(oldPassword.equals(user.get(&34;).toString())){\n\t\t\tStringsql=&34;;\n\t\t\tdb.update(sql,newObject[]{newPassword,user.get(&34;)});\n\t\t\treturnrenderData(true,&34;,null);\n\t\t}else{\n\t\t\treturnrenderData(false,&34;,null);\n\t\t}\n\t}\n\t@RequestMapping(value=&34;)\n\tpublicStringmine(Modelmodel,HttpServletRequestrequest)throwsException{\nMapuser=getUser(request);Mapmap=db.queryForMap(&34;,newObject[]{user.get(&34;)});model.addAttribute(&34;,map);\t\treturn&34;;\n\t}\n\t\n\t\n\n\t@RequestMapping(value=&34;)\n\tpublicResponseEntity<String>mineSave(Modelmodel,HttpServletRequestrequest,Longid\n\t\t,Stringusername,Stringpassword,Stringname,Stringgh,Stringmobile)throwsException{\n\t\tintresult=0;\n\t\t\tStringsql=&34;;\n\t\t\tresult=db.update(sql,newObject[]{name,gh,mobile,id});\n\t\tif(result==1){\n\t\t\treturnrenderData(true,&34;,null);\n\t\t}else{\n\t\t\treturnrenderData(false,&34;,null);\n\t\t}\n\t}\n\t}\n
通用管理模块:
packagecom.sxl.controller;\n\n\nimportjava.nio.charset.Charset;\nimportjava.util.Locale;\nimportjava.util.ResourceBundle;\n\nimportjavax.servlet.http.HttpServletRequest;\n\nimportorg.apache.commons.lang.StringUtils;\nimportorg.springframework.beans.factory.annotation.Autowired;\nimportorg.springframework.http.HttpHeaders;\nimportorg.springframework.http.HttpStatus;\nimportorg.springframework.http.MediaType;\nimportorg.springframework.http.ResponseEntity;\n\nimportcom.sxl.util.JacksonJsonUtil;\nimportcom.sxl.util.StringUtil;\nimportcom.sxl.util.SystemProperties;\n\n\npublicclassBaseController{\n\tpublicstaticfinalLongEXPIRES_IN=1000*3600*24*1L;//1天\n\n\t@Autowired\n\tprivateSystemPropertiessystemProperties;\n\n\t/**\n\t*获得配置文件内容\n\t*/\n\tpublicStringgetConfig(Stringkey){\n\t\treturnsystemProperties.getProperties(key);\n\t}\n\n\t/**\n\t*返回服务器地址likehttp://192.168.1.1:8441/UUBean/\n\t*/\n\tpublicStringgetHostUrl(HttpServletRequestrequest){\n\t\tStringhostName=request.getServerName();\n\t\tIntegerhostPort=request.getServerPort();\n\t\tStringpath=request.getContextPath();\n\n\t\tif(hostPort==80){\n\t\t\treturn&34;+hostName+path+&34;;\n\t\t}else{\n\t\t\treturn&34;+hostName+&34;+hostPort+path+&34;;\n\t\t}\n\t}\n\n\t/***\n\t*获取当前的website路径String\n\t*/\n\tpublicstaticStringgetWebSite(HttpServletRequestrequest){\n\t\tStringreturnUrl=request.getScheme()+&34;\n\t\t\t\t+request.getServerName();\n\n\t\tif(request.getServerPort()!=80){\n\t\t\treturnUrl+=&34;+request.getServerPort();\n\t\t}\n\n\t\treturnUrl+=request.getContextPath();\n\n\t\treturnreturnUrl;\n\t}\n\n\n\n\t/**\n\t*初始化HTTP头.\n\t*\n\t*@returnHttpHeaders\n\t*/\n\tpublicHttpHeadersinitHttpHeaders(){\n\t\tHttpHeadersheaders=newHttpHeaders();\n\t\tMediaTypemediaType=newMediaType(&34;,&34;,\n\t\t\t\tCharset.forName(&34;));\n\t\theaders.setContentType(mediaType);\n\t\treturnheaders;\n\t}\n\n\t/**\n\t*返回信息数据\n\t*\n\t*@paramstatus\n\t*@parammsg\n\t*@return\n\t*/\n\tpublicResponseEntity<String>renderMsg(Booleanstatus,Stringmsg){\n\t\tif(StringUtils.isEmpty(msg)){\n\t\t\tmsg=&34;;\n\t\t}\n\t\tStringstr=&34;status\\&34;&34;\\&34;msg\\&34;&34;\\&34;;\n\t\tResponseEntity<String>responseEntity=newResponseEntity<String>(str,\n\t\t\t\tinitHttpHeaders(),HttpStatus.OK);\n\t\treturnresponseEntity;\n\t}\n\n\t/**\n\t*返回obj数据\n\t*\n\t*@paramstatus\n\t*@parammsg\n\t*@paramobj\n\t*@return\n\t*/\n\tpublicResponseEntity<String>renderData(Booleanstatus,Stringmsg,\n\t\t\tObjectobj){\n\t\tif(StringUtils.isEmpty(msg)){\n\t\t\tmsg=&34;;\n\t\t}\n\t\tStringBuffersb=newStringBuffer();\n\t\tsb.append(&34;);\n\t\tsb.append(&34;status\\&34;&34;\\&34;msg\\&34;&34;\\&34;);\n\t\tsb.append(&34;data\\&34;+JacksonJsonUtil.toJson(obj)+&34;);\n\t\tsb.append(&34;);\n\n\t\tResponseEntity<String>responseEntity=newResponseEntity<String>(\n\t\t\t\tsb.toString(),initHttpHeaders(),HttpStatus.OK);\n\t\treturnresponseEntity;\n\t}\n\n\n\t/***\n\t*获取IP(如果是多级代理,则得到的是一串IP值)\n\t*/\n\tpublicstaticStringgetIpAddr(HttpServletRequestrequest){\n\t\tStringip=request.getHeader(&34;);\n\t\tif(ip==null||ip.length()==0||&34;.equalsIgnoreCase(ip)){\n\t\t\tip=request.getHeader(&34;);\n\t\t}\n\n\t\tif(ip==null||ip.length()==0||&34;.equalsIgnoreCase(ip)){\n\t\t\tip=request.getHeader(&34;);\n\t\t}\n\n\t\tif(ip==null||ip.length()==0||&34;.equalsIgnoreCase(ip)){\n\t\t\tip=request.getRemoteAddr();\n\t\t}\n\n\t\tif(ip!=null&&ip.length()>0){\n\t\t\tString[]ips=ip.split(&34;);\n\t\t\tfor(inti=0;i<ips.length;i++){\n\t\t\t\tif(!&34;.equalsIgnoreCase(ips[i])){\n\t\t\t\t\tip=ips[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturnip;\n\t}\n\n\t/**\n\t*国际化获得语言内容\n\t*\n\t*@paramkey\n\t*语言key\n\t*@paramargs\n\t*@paramargsSplit\n\t*@paramdefaultMessage\n\t*@paramlocale\n\t*@return\n\t*/\n\tpublicstaticStringgetLanguage(Stringkey,Stringargs,StringargsSplit,\n\t\t\tStringdefaultMessage,Stringlocale){\n\t\tStringlanguage=&34;;\n\t\tStringcontry=&34;;\n\t\tStringreturnValue=defaultMessage;\n\n\t\tif(!StringUtil.isEmpty(locale)){\n\t\t\ttry{\n\t\t\t\tString[]localeArray=locale.split(&34;);\n\t\t\t\tlanguage=localeArray[0];\n\t\t\t\tcontry=localeArray[1];\n\t\t\t}catch(Exceptione){\n\t\t\t}\n\t\t}\n\n\t\ttry{\n\t\t\tResourceBundleresource=ResourceBundle.getBundle(&34;,\n\t\t\t\t\tnewLocale(language,contry));\n\t\t\treturnValue=resource.getString(key);\n\t\t\tif(!StringUtil.isEmpty(args)){\n\t\t\t\tString[]argsArray=args.split(argsSplit);\n\t\t\t\tfor(inti=0;i<argsArray.length;i++){\n\t\t\t\t\treturnValue=returnValue.replace(&34;+i+&34;,\n\t\t\t\t\t\t\targsArray[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(Exceptione){\n\t\t}\n\n\t\treturnreturnValue;\n\t}\n}\n
源码获取:大家点赞、收藏、关注、评论啦、查看打卡文章更新254/365天精彩专栏推荐订阅:在下方专栏
时至今日,站长仍为程序员,从14年大学开始代做毕设/课设,希望能帮助更多的同学
?
关于jsp网站点赞功能实现源码分享,jsp网站建设的介绍到此结束,希望对大家有所帮助。
