提交 b207f78f 编写于 作者: 7 7wc98#14

add files

上级 d5c0d166
......@@ -19,6 +19,12 @@
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--阿里数据源依赖-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.17</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
......
......@@ -5,6 +5,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* @author 彭友聪
*/
@EnableTransactionManagement
@ServletComponentScan
@SpringBootApplication
......
package com.pyc.campus.config;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
/**
* @author 御承扬
* @product IntelliJ IDEA
* @project campus
* @file MyDatasourceConfig
* @pack com.pyc.campus.config
* @date 2021/2/8
* @time 8:40
* @E-mail 2923616405@qq.com
**/
@Configuration
public class MyDatasourceConfig {
@ConfigurationProperties("spring.datasource")
@Bean
public DataSource dataSource(){
return new DruidDataSource();
}
@Bean
public ServletRegistrationBean<StatViewServlet> servletServletRegistrationBean(){
StatViewServlet servlet = new StatViewServlet();
return new ServletRegistrationBean<>(servlet, "/druid/*");
}
}
......@@ -7,13 +7,25 @@
package com.pyc.campus.config;
import com.pyc.campus.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author 彭友聪
*/
@Configuration
public class WebMVCConfig implements WebMvcConfigurer {
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoginInterceptor())
.addPathPatterns("/login");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
......@@ -25,7 +37,6 @@ public class WebMVCConfig implements WebMvcConfigurer {
registry.addViewController("/aboutEnglish").setViewName("page/AboutEnglish");
registry.addViewController("/aboutMath").setViewName("page/AboutMath");
registry.addViewController("/aboutPhilosophy").setViewName("page/AboutPhilosophy");
//registry.addViewController("/publicChatRoom").setViewName("PublicChatRoom");
registry.addViewController("/chat").setViewName("page/PrivateChat");
registry.addViewController("/signError").setViewName("page/SignError");
}
......
......@@ -12,14 +12,16 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
/**
* @author 彭友聪
*/
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
UserDetailsService customUserService(){
return new CustomUserService();
......@@ -32,6 +34,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().ignoringAntMatchers("/druid/**");
http.sessionManagement()
.maximumSessions(1).expiredUrl("/login");
http.authorizeRequests()
......@@ -53,6 +56,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/static/**/**.**.**").permitAll()
.antMatchers("/webjars/**").permitAll()
.antMatchers("/images/**/**").permitAll()
.antMatchers("/error/**").permitAll()
.anyRequest().authenticated()
.and().formLogin()
.loginPage("/login")
......
......@@ -65,6 +65,7 @@ public class StudentController {
studentRepository.setOnlineStatus(onlineStatus,currentStudentId);
Msg msg = new Msg("","","");
model.addAttribute("msg",msg);
model.addAttribute("curUse",s);
return "page/UserCenter";
}
@RequestMapping("/toBrowseFriendInfo")
......
......@@ -52,7 +52,7 @@ public class WebController {
}
@RequestMapping("/my/check")
public String checkPassword(Model model,
public String checkPassword(Model model,HttpSession session,
@RequestParam("stuID")String stuID,
@RequestParam("password")String password){
SaveUserPasswordEncode sp = saveUserPasswordEncodeRepository.findAllByStuID(stuID);
......@@ -66,6 +66,7 @@ public class WebController {
System.out.println(stuID + ", " + password + ", " + decodePassword);
Msg msg;
if(decodePassword.equals(password)){
session.setAttribute("loginUser",stuID);
msg = new Msg("提示","密码校验正确,请重新输入并单击登陆按钮进行登陆","");
model.addAttribute("msg",msg);
return "page/Login";
......
package com.pyc.campus.interceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @author 御承扬
* @product IntelliJ IDEA
* @project campus
* @file LoginInterceptor
* @pack com.pyc.campus.interceptor
* @date 2021/2/8
* @time 9:01
* @E-mail 2923616405@qq.com
**/
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
/**
* 目标方法执行前
* @author 彭友聪
* @param request javax.servlet.http.HttpServletRequest
* @param response javax.servlet.http.HttpServletResponse
* @param handler Object
* @return boolean
* @throws Exception Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// 登陆检查逻辑
log.info("preHandle拦截的请求路径是{}",request.getRequestURI());
HttpSession session = request.getSession();
Object loginUser = session.getAttribute("loginUser");
if(loginUser != null)
{
return true;
}else {
request.setAttribute("warring","请先登陆!");
request.getRequestDispatcher("/toCheckPassword").forward(request,response);
return false;
}
}
/**
* 目标方法执行后
* @author 彭友聪
* @param request javax.servlet.http.HttpServletRequest
* @param response javax.servlet.http.HttpServletResponse
* @param handler Object
* @param modelAndView org.springframework.web.servlet.ModelAndView
* @throws Exception Exception
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
log.info("postHandle拦截的请求路径:{},{}",request.getRequestURI(),modelAndView);
}
/**
* 页面渲染后
* @author 彭友聪
* @param request javax.servlet.http.HttpServletRequest
* @param response javax.servlet.http.HttpServletResponse
* @param handler Object
* @param ex Exception
* @throws Exception Exception
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
Exception ex) throws Exception {
log.info("afterCompletion 拦截的请求路径:{},异常:{}", request.getRequestURI(),ex);
}
}
spring:
resources:
cache:
period: 1100
\ No newline at end of file
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
<meta charset="UTF-8">
<title>浏览器错误页</title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
<style>
.btn-back{
color: brown;
border: 1px solid black;
padding: 15px 30px;
border-radius: 5px;
-webkit-border-radius: 5px;
text-decoration: none;
display: inline-block;
margin-bottom: 20px;
margin-top: 50px;
}
.btn-back:hover{
background: #fff;
color: #6bc5a4;
border-color: #fff;
}
</style>
</head>
<body class="has-error">
<div class="container">
<div class="row">
<h2 th:text="${status}">page not found</h2>
<h3 th:text="${message}">We Could not Find This Page</h3>
<a class="btn-back" href="/home"> Back To Home</a>
</div>
</div>
<link rel="stylesheet" href="../../static/css/footer.css">
<div class="footer-box">
<div class="footer-container">
<div class="footer-service clearfix">
<div class="footer-service-item footer-icon-001">
<i></i>
<span>专注于后端开发</span>
</div>
<div class="footer-service-item footer-icon-002">
<i></i>
<span>扎实编程能力</span>
</div>
<div class="footer-service-item footer-icon-003">
<i></i>
<span>学习能力强</span>
</div>
<div class="footer-service-item footer-icon-004">
<i></i>
<span>掌握多门编程语言</span>
</div>
</div>
<div class="footer-line"></div>
<div class="footer-links clearfix">
<dl class="footer-article-item">
<dt>擅长编程语言</dt>
<dd>
<a href="#">Java</a>
</dd>
<dd>
<a href="#">C/C++</a>
</dd>
<dd>
<a href="#">Python</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>关于开发者</dt>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">CSDN博客</a>
</dd>
<dd>
<a href="#">专注后端</a>
</dd>
<dd>
<a href="#">兼为前端</a>
</dd>
<dd>
<a href="#">数据分析</a>
</dd>
<dd>
<a href="#">专业出身</a>
</dd>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">联系我</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>擅长领域</dt>
<dd>
<a href="#">Java Web</a>
</dd>
<dd>
<a href="#">MFC客户端</a>
</dd>
<dd>
<a href="#">PyQT5</a>
</dd>
<dd>
<a href="#">Python 数据分析</a>
</dd>
<dd>
<a href="#">C/C++ 数据结构</a>
</dd>
<dd>
<a href="#">Java 后端</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>其他</dt>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">博客地址</a>
</dd>
<dd>
<a href=" https://github.com/pyc-ycy">Github</a>
</dd>
<dd>
<a href="https://gitee.com/pengyoucongcode">Gitee</a>
</dd>
</dl>
<dl class="footer-contact-item">
<h3>联系我们</h3>
<p>150-14366986</p>
<div class="footer-ewm">
<img src="../../static/images/vm.png" alt="">
<p>关注CSDN博客</p>
</div>
</dl>
</div>
<div class="footer-friend">
<div class="footer-friend-title">友情链接:</div>
<ul class="footer-friend-title-list clearfix">
<li>
<a href="http://www.baidu.com" target="_blank">百度一下</a>
</li>
<li>
<a href="https://www.runoob.com/" target="_blank">菜鸟教程</a>
</li>
<li>
<a href="https://mvnrepository.com/" target="_blank">Maven中心仓库</a>
</li>
<li>
<a href="https://www.bilibili.com/" target="_blank">B站</a>
</li>
<li>
<a href="http://c.biancheng.net/" target="_blank">C语言中文网</a>
</li>
<li>
<a href="https://www.w3school.com.cn/" target="_blank">W3Cschool</a>
</li>
<li>
<a href="https://www.runoob.com/linux/linux-tutorial.html" target="_blank">Linux学习</a>
</li>
<li>
<a href="https://www.runoob.com/bootstrap/bootstrap-tutorial.html" target="_blank">Bootstrap学习</a>
</li>
<li>
<a href="https://cn.vuejs.org/" target="_blank">Vuejs</a>
</li>
</ul>
<a href="#" class="footer-friend-more">更多 >></a>
</div>
<div class="footer-copyright">
<p>© 2017-2021 (彭友聪) 开发,并保留所有权利&nbsp;&nbsp;&nbsp;常年法律顾问: (深圳)律师事务所</p>
<p>
陆丰市河西街道xxxxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#">
<img src="images/icon-footer.png" alt="">**网安备 0008899999xxxx号
</a>
</p>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head>
<meta charset="UTF-8">
<title>服务器错误页</title>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
<style>
.btn-back{
color: #fff;
border: 1px solid #fff;
padding: 15px 30px;
border-radius: 5px;
-webkit-border-radius: 5px;
text-decoration: none;
display: inline-block;
margin-bottom: 20px;
margin-top: 50px;
}
.btn-back:hover{
background: #fff;
color: #6bc5a4;
border-color: #fff;
}
</style>
</head>
<body class="has-error">
<div class="container">
<div class="row">
<h2 th:text="${status}">page not found</h2>
<h3 th:text="${message}">We Could not Find This Page</h3>
<a class="btn-back" href="/home"> Back To Home</a>
</div>
</div>
<link rel="stylesheet" href="../../static/css/footer.css">
<div class="footer-box">
<div class="footer-container">
<div class="footer-service clearfix">
<div class="footer-service-item footer-icon-001">
<i></i>
<span>专注于后端开发</span>
</div>
<div class="footer-service-item footer-icon-002">
<i></i>
<span>扎实编程能力</span>
</div>
<div class="footer-service-item footer-icon-003">
<i></i>
<span>学习能力强</span>
</div>
<div class="footer-service-item footer-icon-004">
<i></i>
<span>掌握多门编程语言</span>
</div>
</div>
<div class="footer-line"></div>
<div class="footer-links clearfix">
<dl class="footer-article-item">
<dt>擅长编程语言</dt>
<dd>
<a href="#">Java</a>
</dd>
<dd>
<a href="#">C/C++</a>
</dd>
<dd>
<a href="#">Python</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>关于开发者</dt>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">CSDN博客</a>
</dd>
<dd>
<a href="#">专注后端</a>
</dd>
<dd>
<a href="#">兼为前端</a>
</dd>
<dd>
<a href="#">数据分析</a>
</dd>
<dd>
<a href="#">专业出身</a>
</dd>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">联系我</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>擅长领域</dt>
<dd>
<a href="#">Java Web</a>
</dd>
<dd>
<a href="#">MFC客户端</a>
</dd>
<dd>
<a href="#">PyQT5</a>
</dd>
<dd>
<a href="#">Python 数据分析</a>
</dd>
<dd>
<a href="#">C/C++ 数据结构</a>
</dd>
<dd>
<a href="#">Java 后端</a>
</dd>
</dl>
<dl class="footer-article-item">
<dt>其他</dt>
<dd>
<a href="https://blog.csdn.net/qq_42896653" target="_blank">博客地址</a>
</dd>
<dd>
<a href=" https://github.com/pyc-ycy">Github</a>
</dd>
<dd>
<a href="https://gitee.com/pengyoucongcode">Gitee</a>
</dd>
</dl>
<dl class="footer-contact-item">
<h3>联系我们</h3>
<p>150-14366986</p>
<div class="footer-ewm">
<img src="../../static/images/vm.png" alt="">
<p>关注CSDN博客</p>
</div>
</dl>
</div>
<div class="footer-friend">
<div class="footer-friend-title">友情链接:</div>
<ul class="footer-friend-title-list clearfix">
<li>
<a href="http://www.baidu.com" target="_blank">百度一下</a>
</li>
<li>
<a href="https://www.runoob.com/" target="_blank">菜鸟教程</a>
</li>
<li>
<a href="https://mvnrepository.com/" target="_blank">Maven中心仓库</a>
</li>
<li>
<a href="https://www.bilibili.com/" target="_blank">B站</a>
</li>
<li>
<a href="http://c.biancheng.net/" target="_blank">C语言中文网</a>
</li>
<li>
<a href="https://www.w3school.com.cn/" target="_blank">W3Cschool</a>
</li>
<li>
<a href="https://www.runoob.com/linux/linux-tutorial.html" target="_blank">Linux学习</a>
</li>
<li>
<a href="https://www.runoob.com/bootstrap/bootstrap-tutorial.html" target="_blank">Bootstrap学习</a>
</li>
<li>
<a href="https://cn.vuejs.org/" target="_blank">Vuejs</a>
</li>
</ul>
<a href="#" class="footer-friend-more">更多 >></a>
</div>
<div class="footer-copyright">
<p>© 2017-2021 (彭友聪) 开发,并保留所有权利&nbsp;&nbsp;&nbsp;常年法律顾问: (深圳)律师事务所</p>
<p>
陆丰市河西街道xxxxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="#">
<img src="images/icon-footer.png" alt="">**网安备 0008899999xxxx号
</a>
</p>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
......@@ -122,6 +122,7 @@
<li><a href="/toImportGrade">成绩导入</a> </li>
<li><a href="/toPublishQuestion">发布悬赏问题</a> </li>
<li><a href="/manageUser">管理用户</a> </li>
<li><a href="/druid" target="_blank">Druid数据源监控</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
......@@ -122,7 +122,7 @@
<div class="row">
<div class="col-sm-4">
<ul class="nav nav-pills nav-stacked">
<li><a href="#">信息查看</a> </li>
<li><a href="/userCenter">信息查看</a> </li>
<li><a href="/updateUserInfo">更新信息</a></li>
<li><a href="/sign">注册</a></li>
<li><a href="/toChangePWD">修改密码</a></li>
......@@ -140,7 +140,7 @@
<h1 th:text="${msg.title}"></h1>
<p class="bg-primary" th:text="${msg.content}"></p>
</div>
<div class="user-info" th:if="${not #lists.isEmpty(curUse)}">
<div class="user-info" th:if="${not #lists.isEmpty(stu)}">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">好友信息</h3>
......
......@@ -24,6 +24,7 @@
</div>
<form class="form-inline" method="post" name="form1" id="form1"
action="/my/check" th:action="@{/my/check}">
<label th:text="${warring}"></label>
<div class="form-group">
<label>
<input type="text" class="form-control" name="stuID" placeholder="请输入学号">
......
......@@ -130,6 +130,7 @@
<li class="active"><a href="/toImportGrade">成绩导入</a> </li>
<li><a href="/toPublishQuestion">发布悬赏问题</a> </li>
<li><a href="/manageUser">管理用户</a> </li>
<li><a href="/druid" target="_blank">Druid数据源监控</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
......@@ -4,7 +4,6 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome</title>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="stylesheet" type="text/css" href="../../static/css/swiper.css">
<link rel="stylesheet" type="text/css" href="../../static/css/animate.min.css">
<link rel="stylesheet" type="text/css" href="../../static/css/oppo.css">
......@@ -12,20 +11,6 @@
<link rel="stylesheet" href="webjars/bootstrap/3.3.0/css/bootstrap-theme.css">
<script src="webjars/jquery/3.3.0/jquery.js"></script>
<script src="webjars/bootstrap/3.3.0/js/bootstrap.js"></script>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">-->
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
crossorigin="anonymous">-->
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<!--<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>-->
<!--<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>-->
<!--<script src="http://www.jq22.com/jquery/1.7.2/jquery.min.js"></script>-->
<script type="text/javascript">
$(function () {
var speed = 800;//滚动速度
......
......@@ -127,6 +127,7 @@
<li><a href="/toImportGrade">成绩导入</a> </li>
<li><a href="/toPublishQuestion">发布悬赏问题</a> </li>
<li class="active"><a href="/manageUser">管理用户</a> </li>
<li><a href="/druid" target="_blank">Druid数据源监控</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
......@@ -124,6 +124,7 @@
<li><a href="/toImportGrade">成绩导入</a> </li>
<li><a href="/toPublishQuestion">发布悬赏问题</a> </li>
<li><a href="/manageUser">管理用户</a> </li>
<li><a href="/druid" target="_blank">Druid数据源监控</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
......@@ -130,6 +130,7 @@
<li><a href="/toImportGrade">成绩导入</a> </li>
<li class="active"><a href="/toPublishQuestion">发布悬赏问题</a> </li>
<li><a href="/manageUser">管理用户</a> </li>
<li><a href="/druid" target="_blank">Druid数据源监控</a> </li>
</ul>
<hr class="hidden-sm hidden-md hidden-lg">
</div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册