2020.2.14进度提交

main
ppdxzz 5 years ago
parent 4d62e54e17
commit c83a705aee

@ -6,7 +6,34 @@
</artifacts-to-build>
</component>
<component name="ChangeListManager">
<list default="true" id="8033210d-c341-4f39-a328-95fe94016f00" name="Default Changelist" comment="" />
<list default="true" id="8033210d-c341-4f39-a328-95fe94016f00" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/controller/AdminController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/controller/AdminController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/dao/AdminDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/dao/AdminDao.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/service/AdminService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/service/AdminService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/service/impl/AdminServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/cn/ppdxzz/service/impl/AdminServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/spring-mvc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/spring-mvc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/admin-edit.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/admin-edit.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/admin-list.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/admin-list.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/error.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/error.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/login.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/jsp/login.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/webapp/WEB-INF/web.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/webapp/WEB-INF/web.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/cn/ppdxzz/controller/AdminController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/cn/ppdxzz/controller/AdminController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/cn/ppdxzz/dao/AdminDao.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/cn/ppdxzz/dao/AdminDao.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/cn/ppdxzz/service/AdminService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/cn/ppdxzz/service/AdminService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/cn/ppdxzz/service/impl/AdminServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/cn/ppdxzz/service/impl/AdminServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/spring-mvc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/spring-mvc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/controller/AdminController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/controller/AdminController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/dao/AdminDao.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/dao/AdminDao.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/service/AdminService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/service/AdminService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/service/impl/AdminServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/cn/ppdxzz/service/impl/AdminServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/spring-mvc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/classes/spring-mvc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/admin-edit.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/admin-edit.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/admin-list.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/admin-list.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/error.jsp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/login.jsp" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/jsp/login.jsp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/hellossm/WEB-INF/web.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/hellossm/WEB-INF/web.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@ -15,13 +42,16 @@
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
<option value="Interface" />
<option value="HTML File" />
<option value="Jsp File" />
<option value="Class" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="LogFilters">
<option name="FILTER_ERRORS" value="false" />
<option name="FILTER_WARNINGS" value="false" />
@ -44,6 +74,9 @@
</option>
</component>
<component name="ProjectId" id="1XayOqtVZsv2AagE870mVEbglRy" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="1" id="Add" />
</component>
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showExcludedFiles" value="true" />
@ -52,19 +85,23 @@
<component name="PropertiesComponent">
<property name="DefaultHtmlFileTemplate" value="HTML File" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="js.last.introduce.type" value="VAR" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/webapp/js" />
<property name="settings.editor.selected.configurable" value="fileTemplates" />
<property name="settings.editor.selected.configurable" value="editor.preferences.gutterIcons" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\js" />
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\images" />
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\css" />
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp" />
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\webapp\WEB-INF\jsp" />
<recent name="D:\Development tools\IDEA\IntelliJ IDEA 2019.2.4\hellossm\src\main\java\cn\ppdxzz\utils" />
</key>
</component>
<component name="RunManager" selected="Tomcat Server.Tomcat 9.0.24">
@ -210,7 +247,10 @@
<workItem from="1581473460926" duration="20626000" />
<workItem from="1581508659638" duration="9245000" />
<workItem from="1581573066874" duration="317000" />
<workItem from="1581573464530" duration="23813000" />
<workItem from="1581573464530" duration="26409000" />
<workItem from="1581649259154" duration="10514000" />
<workItem from="1581662911720" duration="23085000" />
<workItem from="1581731575582" duration="2079000" />
</task>
<servers />
</component>
@ -222,113 +262,117 @@
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="275" y="34" key="#HTTP_Proxy/0.0.1366.728@0.0.1366.728" timestamp="1581304199078" />
<state x="275" y="26" key="#Template_Data_Languages" timestamp="1581662542652">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="275" y="26" key="#Template_Data_Languages/0.0.1366.728@0.0.1366.728" timestamp="1581662542652" />
<state x="137" y="23" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1581485477637">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="137" y="23" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.0.1366.728@0.0.1366.728" timestamp="1581485477637" />
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser" timestamp="1581414623788">
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser" timestamp="1581683925355">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1581414623788" />
<state width="1059" height="422" key="GridCell.Tab.0.bottom" timestamp="1581594412682">
<state x="488" y="84" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1581683925355" />
<state width="1059" height="283" key="GridCell.Tab.0.bottom" timestamp="1581733809238">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
<state width="1059" height="422" key="GridCell.Tab.0.center" timestamp="1581594412682">
<state width="1059" height="283" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581733809238" />
<state width="1059" height="283" key="GridCell.Tab.0.center" timestamp="1581733809237">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
<state width="1059" height="422" key="GridCell.Tab.0.left" timestamp="1581594412682">
<state width="1059" height="283" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1581733809237" />
<state width="1059" height="283" key="GridCell.Tab.0.left" timestamp="1581733809236">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
<state width="1059" height="422" key="GridCell.Tab.0.right" timestamp="1581594412682">
<state width="1059" height="283" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1581733809236" />
<state width="1059" height="283" key="GridCell.Tab.0.right" timestamp="1581733809238">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1581594412682" />
<state width="1059" height="422" key="GridCell.Tab.1.bottom" timestamp="1581594414599">
<state width="1059" height="283" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1581733809238" />
<state width="1059" height="264" key="GridCell.Tab.1.bottom" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.1.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
<state width="1059" height="422" key="GridCell.Tab.1.center" timestamp="1581594414599">
<state width="1059" height="264" key="GridCell.Tab.1.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.1.center" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.1.center/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
<state width="1059" height="422" key="GridCell.Tab.1.left" timestamp="1581594414598">
<state width="1059" height="264" key="GridCell.Tab.1.center/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.1.left" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.1.left/0.0.1366.728@0.0.1366.728" timestamp="1581594414598" />
<state width="1059" height="422" key="GridCell.Tab.1.right" timestamp="1581594414599">
<state width="1059" height="264" key="GridCell.Tab.1.left/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.1.right" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="422" key="GridCell.Tab.1.right/0.0.1366.728@0.0.1366.728" timestamp="1581594414599" />
<state width="1059" height="67" key="GridCell.Tab.2.bottom" timestamp="1581594189691">
<state width="1059" height="264" key="GridCell.Tab.1.right/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.2.bottom" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.2.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.2.center" timestamp="1581594189691">
<state width="1059" height="264" key="GridCell.Tab.2.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.2.center" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.2.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.2.left" timestamp="1581594189691">
<state width="1059" height="264" key="GridCell.Tab.2.center/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.2.left" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.2.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.2.right" timestamp="1581594189691">
<state width="1059" height="264" key="GridCell.Tab.2.left/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="264" key="GridCell.Tab.2.right" timestamp="1581690420801">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.2.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.3.bottom" timestamp="1581594189692">
<state width="1059" height="264" key="GridCell.Tab.2.right/0.0.1366.728@0.0.1366.728" timestamp="1581690420801" />
<state width="1059" height="283" key="GridCell.Tab.3.bottom" timestamp="1581733811544">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.3.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="67" key="GridCell.Tab.3.center" timestamp="1581594189692">
<state width="1059" height="283" key="GridCell.Tab.3.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581733811544" />
<state width="1059" height="283" key="GridCell.Tab.3.center" timestamp="1581733811544">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.3.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="67" key="GridCell.Tab.3.left" timestamp="1581594189692">
<state width="1059" height="283" key="GridCell.Tab.3.center/0.0.1366.728@0.0.1366.728" timestamp="1581733811544" />
<state width="1059" height="283" key="GridCell.Tab.3.left" timestamp="1581733811544">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.3.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="67" key="GridCell.Tab.3.right" timestamp="1581594189692">
<state width="1059" height="283" key="GridCell.Tab.3.left/0.0.1366.728@0.0.1366.728" timestamp="1581733811544" />
<state width="1059" height="283" key="GridCell.Tab.3.right" timestamp="1581733811544">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.3.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="67" key="GridCell.Tab.4.bottom" timestamp="1581594189692">
<state width="1059" height="283" key="GridCell.Tab.3.right/0.0.1366.728@0.0.1366.728" timestamp="1581733811544" />
<state width="1059" height="233" key="GridCell.Tab.4.bottom" timestamp="1581662103502">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.4.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="67" key="GridCell.Tab.4.center" timestamp="1581594189691">
<state width="1059" height="233" key="GridCell.Tab.4.bottom/0.0.1366.728@0.0.1366.728" timestamp="1581662103502" />
<state width="1059" height="233" key="GridCell.Tab.4.center" timestamp="1581662103502">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.4.center/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.4.left" timestamp="1581594189691">
<state width="1059" height="233" key="GridCell.Tab.4.center/0.0.1366.728@0.0.1366.728" timestamp="1581662103502" />
<state width="1059" height="233" key="GridCell.Tab.4.left" timestamp="1581662103502">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.4.left/0.0.1366.728@0.0.1366.728" timestamp="1581594189691" />
<state width="1059" height="67" key="GridCell.Tab.4.right" timestamp="1581594189692">
<state width="1059" height="233" key="GridCell.Tab.4.left/0.0.1366.728@0.0.1366.728" timestamp="1581662103502" />
<state width="1059" height="233" key="GridCell.Tab.4.right" timestamp="1581662103502">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state width="1059" height="67" key="GridCell.Tab.4.right/0.0.1366.728@0.0.1366.728" timestamp="1581594189692" />
<state width="1059" height="233" key="GridCell.Tab.4.right/0.0.1366.728@0.0.1366.728" timestamp="1581662103502" />
<state x="213" y="23" key="Maven.ArtifactSearchDialog" timestamp="1581325031095">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="213" y="23" key="Maven.ArtifactSearchDialog/0.0.1366.728@0.0.1366.728" timestamp="1581325031095" />
<state x="230" y="6" key="SettingsEditor" timestamp="1581316291083">
<state x="150" y="8" key="SettingsEditor" timestamp="1581663216599">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="230" y="6" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1581316291083" />
<state x="221" y="104" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2" timestamp="1581590755435">
<state x="150" y="8" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1581663216599" />
<state x="221" y="104" width="924" height="543" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2" timestamp="1581662063052">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="221" y="104" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2/0.0.1366.728@0.0.1366.728" timestamp="1581590755435" />
<state x="221" y="104" width="924" height="543" key="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsDialogFactory$2/0.0.1366.728@0.0.1366.728" timestamp="1581662063052" />
<state x="413" y="140" key="extract.method.dialog" timestamp="1581586644479">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="413" y="140" key="extract.method.dialog/0.0.1366.728@0.0.1366.728" timestamp="1581586644479" />
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup" timestamp="1581514963912">
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup" timestamp="1581675499632">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup/0.0.1366.728@0.0.1366.728" timestamp="1581514963912" />
<state x="346" y="49" width="672" height="678" key="search.everywhere.popup/0.0.1366.728@0.0.1366.728" timestamp="1581675499632" />
</component>
</project>

@ -17,6 +17,7 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.util.List;
/**
@ -44,7 +45,13 @@ public class AdminController {
* @return
*/
@RequestMapping(value = "/login")
public String login(Model model, Admin admin, HttpSession session, HttpServletRequest request) throws Exception {
public String login(Model model, Admin admin, HttpSession session, HttpServletRequest request,HttpServletResponse response) throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter writer = response.getWriter();
if (admin == null || admin.getUsername() == null || admin.getPassword() == null) {
return "login";
}
admin.setPassword(MD5Util.MD5EncodeUtf8(admin.getPassword()));
Admin ad = adminService.findAdmin(admin);
if (ad != null) {
@ -57,9 +64,14 @@ public class AdminController {
return "login";
}
//拦截后跳转至登录页
@RequestMapping("/to_login")
public String Login() {
return "login";
}
/**
* 退
*/
n */
@RequestMapping(value = "/loginOut")
public String loginOut(Admin admin,Model model,HttpSession session) {
//通过session.invalidate()方法来注销当前的session
@ -72,16 +84,24 @@ public class AdminController {
*
*/
@RequestMapping(value = "/findAllAdmin")
public ModelAndView findAll(@RequestParam(name = "page", required = true, defaultValue = "1") int page, @RequestParam(name = "size", required = true, defaultValue = "4") int size) throws Exception {
public ModelAndView findAll(@RequestParam(name = "page", required = true, defaultValue = "1") int page, @RequestParam(name = "size", required = true, defaultValue = "4") int size,HttpServletRequest request,HttpServletResponse response) throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
ModelAndView mv = new ModelAndView();
List<Admin> admins = adminService.findAll(page,size);
List<Admin> admins = null;
String username = request.getParameter("username");
if (username == null || username.trim().equals("") || username.length() == 0) {
admins = adminService.findAll(page,size);
}else {
admins = adminService.serarchInfo(page,size,username);
}
//PageInfo就是一个封装了分页数据的bean
PageInfo pageInfo = new PageInfo(admins);
mv.addObject("pageInfo",pageInfo);
mv.setViewName("admin-list");
return mv;
}
/**
*
*/

@ -0,0 +1,10 @@
package cn.ppdxzz.controller;
/**
* Description:
*
* @Date: 2020/2/14 18:50
* @Author: PeiChen
*/
public class BasicController {
}

@ -0,0 +1,47 @@
package cn.ppdxzz.controller;
import cn.ppdxzz.domain.Admin;
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;
/**
* Description:
*
* @Date: 2020/2/14 16:50
* @Author: PeiChen
*/
public class LoginInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 获取请求的URL
String url = request.getRequestURI();
// URL:除了login.jsp是可以公开访问的其它的URL都进行拦截控制
if(url.toLowerCase().indexOf("login")>=0){
return true;
}
HttpSession session = request.getSession();
// 获取Session中的用户登录信息
Admin admin = (Admin) session.getAttribute("adminInfo");
// 判断Session中是否有用户数据如果有则返回true,继续向下执行
if(admin != null){
return true;
}
// 地址栏不符合条件的直接重定向到登录页面
response.sendRedirect("/hellossm/to_login");
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}

@ -1,10 +1,7 @@
package cn.ppdxzz.dao;
import cn.ppdxzz.domain.Admin;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -78,4 +75,9 @@ public interface AdminDao {
@Update("update admins set password = #{password} where id = #{id}")
void updatePassword(String password,Integer id) throws Exception;
//select * from admins where username like '%p%' or name like '%万%' or power like '%1%' or description like '%管理员%';
//模糊搜索管理员信息查询结果返回一个list集合
@Select("select * from admins where username like '%${tip}%' or name like '%${tip}%' or power like '%${tip}%' or description like '%${tip}%'")
List<Admin> serarchInfo(@Param(value="tip") String tip) throws Exception;
}

@ -27,4 +27,6 @@ public interface AdminService {
void addAdmin(Admin admin) throws Exception;
Boolean checkUserName(String u_name) throws Exception;
//模糊搜索管理员信息查询结果返回一个list集合
List<Admin> serarchInfo(int page,int size,String tip) throws Exception;
}

@ -98,4 +98,17 @@ public class AdminServiceImpl implements AdminService {
}
return false;
}
/**
*
* @param tip
* @return
* @throws Exception
*/
@Override
public List<Admin> serarchInfo(int page,int size,String tip) throws Exception {
PageHelper.startPage(page,size);
List<Admin> list = adminDao.serarchInfo(tip);
return list;
}
}

@ -40,4 +40,21 @@
-->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<!--配置拦截器,拦截地址栏直接输入的地址进行访问的请求-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
<mvc:exclude-mapping path="/**/css/*"/>
<mvc:exclude-mapping path="/**/images/*"/>
<mvc:exclude-mapping path="/**/js/*"/>
<mvc:exclude-mapping path="/**/layer/*"/>
<mvc:exclude-mapping path="/**/layui_exts/*"/>
<mvc:exclude-mapping path="/**/lib/*"/>
<mvc:exclude-mapping path="/**/Login"/>
<mvc:exclude-mapping path="/**/to_login"/>
<bean class="cn.ppdxzz.controller.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
</beans>

@ -15,7 +15,7 @@
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/layer/layer.js"></script>
</head>
<body>
<body background="${pageContext.request.contextPath}/images/01.jpg">
<br><br>
<input type="hidden" id="id" name="id" value="${ad.id}">
<div class="row form-horizontal">
@ -46,27 +46,28 @@
<div class="form-group">
<label class="col-sm-2 control-label form-label">权限:</label>
<div class="col-sm-8">
<c:if test="${ad.power == 0}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 1}">
<select class="form-control" name="power" id="power">
<option value="0">未授权</option>
<option value="1" selected>授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 2}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2" selected>超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 0}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 1}">
<select class="form-control" name="power" id="power">
<option value="0">未授权</option>
<option value="1" selected>授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 2}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2" selected>超级权限</option>
</select>
</c:if>
</div>
</div>
<div class="form-group">
@ -79,6 +80,7 @@
<div class="row">
<div class="form-group btn-group col-md-offset-5">
<button class="btn btn-warning" onclick="toValidate()">确认修改</button>
<a type="button" href="${pageContext.request.contextPath}/findAllAdmin" class="btn btn-primary">返回列表</a>
</div>
</div>
<script src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>

@ -31,6 +31,11 @@
//向服务器发送请求,改变每页显示条数
location.href = "${pageContext.request.contextPath}/findAllAdmin?page=1&size="+ pageSize;
}
$("#serarch_btn").click(function () {
var username = $("#username").val();
var password = $("#password").val();
location.href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=4&username="+username;
});
</script>
</head>
<body>
@ -51,16 +56,16 @@
<div class="layui-card-body ">
<form class="layui-form layui-col-space5">
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="start">
<input class="layui-input" type="text" autocomplete="on" placeholder="用户名" name="username" id="username" value="${param.username}">
</div>
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="end">
<input class="layui-input" type="text" autocomplete="off" placeholder="姓名" name="name" id="name">
</div>
<div class="layui-inline layui-show-xs-block">
<input type="text" name="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
<input type="text" name="description" id="description" placeholder="描述" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
<button class="layui-btn" id="serarch_btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
</div>
</form>
</div>
@ -73,7 +78,6 @@
<table class="layui-table layui-form">
<thead>
<tr style="text-align: center">
<th style="text-align: center">ID</th>
<th style="text-align: center">用户名</th>
<th style="text-align: center">姓名</th>
<th style="text-align: center">联系方式</th>
@ -84,7 +88,6 @@
<tbody>
<c:forEach items="${pageInfo.list}" var="admin">
<tr style="text-align: center">
<td>${admin.id}</td>
<td>${admin.username}</td>
<td>${admin.name}</td>
<td>${admin.phone}</td>
@ -110,30 +113,30 @@
<div class="form-group form-inline">
当前页:${pageInfo.pageNum}&nbsp;/&nbsp;${pageInfo.pages}&emsp; 每页
<select class="form-control" id="changePageSize" onchange="changePageSize()">
<option>4</option>
<option>5</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
</select> 条
</div>
</div>
<div class="box-tools pull-right">
<ul class="pagination">
<li>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=${pageInfo.pageSize}" aria-label="Previous">首页</a>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=${pageInfo.pageSize}&username=${param.username}" aria-label="Previous">首页</a>
</li>
<c:if test="${pageInfo.pageNum > 1}">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}">上一页</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}&username=${param.username}">上一页</a></li>
</c:if>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageNum}&size=${pageInfo.pageSize}">${pageNum}</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageNum}&size=${pageInfo.pageSize}&username=${param.username}">${pageNum}</a></li>
</c:forEach>
<c:if test="${pageInfo.pageNum < pageInfo.pages}">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}&username=${param.username}">下一页</a></li>
</c:if>
<li>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pages}&size=${pageInfo.pageSize}" aria-label="Next">尾页</a>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pages}&size=${pageInfo.pageSize}&username=${param.username}" aria-label="Next">尾页</a>
</li>
</ul>
</div>

@ -6,29 +6,18 @@
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/usersLogin.css">
<link rel="icon" href="${pageContext.request.contextPath}/images/favicon.ico" sizes="32x32" />
<link rel="stylesheet" media="screen" href="${pageContext.request.contextPath}/css/style.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/reset.css"/>
<script src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>
<script src="${pageContext.request.contextPath}/layer/layer.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/js/login.js"></script>
<title>登录页面--LOGIN</title>
<style>
body {
padding-bottom: 50px;
}
.footer {
position: fixed;
left: 0px;
bottom: 0px;
width: 100%;
height: 80px;
background-color: #eee;
z-index: 9999;
}
</style>
<script type="text/javascript">
<%--<script type="text/javascript">
$(function () {
//ajax校验用户名是否存在
$("#username").change(function () {
@ -37,49 +26,69 @@
//ajax异步请求
$.get("${pageContext.request.contextPath}/checkUserName",{"u_name":u_name},function (msg) {
//$(".error").html(msg);
if (msg == "账号可用") {
layer.msg('账号可用');
}else {
if (msg != "账号可用") {
layer.msg('账号不存在');
}
});
});
});
</script>
</script>--%>
</head>
<body>
<div class="header">
</div>
<div class="body">
<div class="panel">
<div class="top">
<p>登录页面--LOGIN</p>
<form action="${pageContext.request.contextPath}/login" name="myform" method="post">
<div id="particles-js">
<div class="login">
<div class="login-top">
后台登录
</div>
<div class="middle">
<form action="${pageContext.request.contextPath}/login" method="post">
&emsp;&emsp;&emsp;&emsp;
<span class="error">${msg}</span>
<span class="s1"></span>
<span class="s2"></span>
<input type="text" name="username" id="username" placeholder="用户名" class="iputs"/>
<input type="password" name="password" placeholder="密码" class="iputs"/>
<input type="submit" value="登录"/>
</form>
<div class="login-center clearfix">
<div class="login-center-img"><img src="${pageContext.request.contextPath}/images/name.png"/></div>
<div class="login-center-input">
<input type="text" id="username" name="username" placeholder="请输入您的用户名" onfocus="this.placeholder=''" onblur="this.placeholder='请输入您的用户名'"/>
<div class="login-center-input-text">用户名</div>
</div>
</div>
<div class="login-center clearfix">
<div class="login-center-img"><img src="${pageContext.request.contextPath}/images/password.png"/></div>
<div class="login-center-input">
<input type="password" id="password" name="password" placeholder="请输入您的密码" onfocus="this.placeholder=''" onblur="this.placeholder='请输入您的密码'"/>
<div class="login-center-input-text">密码</div>
</div>
</div>
<div class="login-button" onclick="check()">
登录
</div>
<span style="text-align: center;color: red;"><br>&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;${msg}</span>
</div>
<div class="sk-rotating-plane"></div>
</div>
<div class="footer" style="font:12px Tahoma;color: #000000; margin:0px auto; text-align:center;">
<br/>
Copyright &copy; &nbsp;&nbsp;2019-2020&nbsp;
&nbsp;&nbsp;皮皮的小猪仔&nbsp;&nbsp; All Rights Reserved<br/>
联系方式2535414380@qq.com<br/>
<!-- <img style="width: 20px; height: 20px;" src="http://www.beian.gov.cn/img/ghs.png" alt="备案标识" /><a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=32058202010228&token=2be051c1-22dd-44ec-9f4b-d41155f2d855" target="_blank" rel="nofollow noopener noreferrer">豫公网安备号</a> -->
ICP:<a href="http://beian.miit.gov.cn">豫ICP备20001139号-1</a>
</div>
</form>
<%--<c:if test="${msg != null}">
<script>
layer.msg("${msg}");
</script>
</c:if>--%>
<script src="${pageContext.request.contextPath}/js/particles.min.js"></script>
<script src="${pageContext.request.contextPath}/js/app.js"></script>
<script type="text/javascript">
function check() {
var username = $("#username").val().trim();
var password = $("#password").val().trim();
if (username == null || username == "" || username.length == 0) {
layer.msg('请输入用户帐号');
return false;
}
if (password == null || password == "" || password.length == 0) {
layer.msg('请输入登录密码');
return false;
}
if (password.length < 4 || password.length > 20) {
layer.msg('密码格式有误4-20位字符');
return false;
}
document.myform.submit();
}
</script>
</body>
</html>

@ -48,7 +48,15 @@
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--配置错误页面-->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>

@ -0,0 +1,35 @@
@charset "utf-8";
/* CSS Document */
/*Reset*/
*{box-sizing:content-box;}
a:hover, a:focus{text-decoration:none;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
body{-webkit-text-size-adjust:none;}
fieldset,img{border:0;}
img{ vertical-align: top; max-width: 100%; }
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;}
.clearfix:after{visibility:hidden;display: block;font-size:0;content:" ";clear:both;height:0;}
* html .clearfix{ zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
.cli{ clear:both; font-size:0; height:0; overflow:hidden;display:block;}
.lclear{clear:left;font-size:0;height:0;overflow:hidden;}
.fl{float:left;}
.fr{float:right;}
/* ֹ
iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');}
script{no2js:expression((this.src.toLowerCase().indexOf('http')==0)?document.close():'');}
*/
/* ıԼ˶
div{word-wrap: break-word;word-break: normal;}
p{text-align:justify; text-justify:inter-ideograph;}
*/
/*general*/
body{font-size:12px;font-family:'微软雅黑',"宋体","Arial Narrow",Helvetica,sans-serif;color:#000;line-height:1.2;text-align:left;}
a{color:#333;text-decoration:none;}

@ -0,0 +1,113 @@
html,body{
width:100%;
height:100%;
}
canvas{
display:block;
vertical-align:bottom;
}
.count-particles{
background: #000022;
position: absolute;
top: 48px;
left: 0;
width: 80px;
color: #13E8E9;
font-size: .8em;
text-align: left;
text-indent: 4px;
line-height: 14px;
padding-bottom: 2px;
font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
}
.js-count-particles{
font-size: 1.1em;
}
#stats,
.count-particles{
-webkit-user-select: none;
margin-top: 5px;
margin-left: 5px;
}
#stats{
border-radius: 3px 3px 0 0;
overflow: hidden;
}
.count-particles{
border-radius: 0 0 3px 3px;
}
#particles-js{
width: 100%;
height: 100%;
position: relative;
background-image: url(../images/bg.jpg);
background-position: 50% 50%;
background-size: cover;
background-repeat: no-repeat;
margin-left: auto;
margin-right: auto;
}
.sk-rotating-plane {
display: none;
width: 80px;
height: 80px;
margin: auto;
background-color: white;
-webkit-animation: sk-rotating-plane 1.2s infinite ease-in-out;
animation: sk-rotating-plane 1.2s infinite ease-in-out;
z-index: 1;
position: absolute;
top: 50%;
left: 50%;
margin-left: -40px;
margin-top: -80px;
}
.sk-rotating-plane.active{display: block;}
@keyframes sk-rotating-plane{
0% {
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
}
50% {
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
}
100% {
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
@keyframes login-small{
0%{
transform: scale(1);-moz-transform: scale(1); /* Firefox 4 */-webkit-transform: scale(1); /* Safari 和 Chrome */-o-transform: scale(1); /* Opera */-ms-transform:scale(1); /* IE 9 */
}
100%{
transform: scale(0.2);-moz-transform: scale(0.1); /* Firefox 4 */-webkit-transform: scale(0.2); /* Safari 和 Chrome */-o-transform: scale(0.1); /* Opera */-ms-transform:scale(0.1); /* IE 9 */
}
}
.login{z-index: 2;position:absolute;width: 350px;border-radius: 5px;height: 500px;background: white;box-shadow: 0px 0px 5px #333333;top: 50%;left: 50%;margin-top: -250px;margin-left: -175px;transition: all 1s;-moz-transition: all 1s; /* Firefox 4 */-webkit-transition: all 1s; /* Safari 和 Chrome */-o-transition: all 1s; /* Opera */}
.login-top{font-size: 24px;margin-top: 100px;padding-left: 40px;box-sizing: border-box;color: #333333;margin-bottom: 50px;}
.login-center{width: 100%;box-sizing: border-box;padding: 0 40px;margin-bottom: 30px;}
.login-center-img{width: 20px;height: 20px;float: left;margin-top: 5px;}
.login-center-img>img{width: 100%;}
.login-center-input{float: left;width: 230px;margin-left: 15px;height: 30px;position: relative;}
.login-center-input input{z-index: 2;transition: all 0.5s;padding-left: 10px;color: #333333;width: 100%;height: 30px;border: 0;border-bottom: 1px solid #cccccc;border-top: 1px solid #ffffff;border-left: 1px solid #ffffff;border-right: 1px solid #ffffff;box-sizing: border-box;outline: none;position: relative;}
.login-center-input input:focus{border: 1px solid dodgerblue;}
.login-center-input-text{background: white;padding: 0 5px;position: absolute;z-index: 0;opacity: 0;height: 20px;top: 50%;margin-top: -10px;font-size: 14px;left: 5px;color: dodgerblue;line-height: 20px;transition: all 0.5s;-moz-transition: all 0.5s; /* Firefox 4 */-webkit-transition: all 0.5s; /* Safari 和 Chrome */-o-transition: all 0.5s; /* Opera */}
.login-center-input input:focus~.login-center-input-text{top: 0;z-index: 3;opacity: 1;margin-top: -15px;}
.login.active{-webkit-animation: login-small 0.8s ; animation: login-small 0.8s ;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}
.login-button{cursor: pointer;width: 250px;text-align: center;height: 40px;line-height: 40px;background-color: dodgerblue;border-radius: 5px;margin: 0 auto;margin-top: 50px;color: white;}

@ -8,7 +8,7 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html class="x-admin-sm">
<head>
<title>错误页面--404</title>
<title>error.html</title>
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
@ -22,18 +22,9 @@
<div class="fly-panel">
<div class="fly-none">
<h2><i class="layui-icon layui-icon-404"></i></h2>
<p>页面或者数据被<a href=""> 纸飞机 </a>运到火星了,啥都看不到了…</p>
<p>页面或者数据被<a href="${pageContext.request.contextPath}/index.jsp"> 纸飞机 </a>运到火星了,啥都看不到了…</p>
</div>
</div>
</div>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,127 @@
/* -----------------------------------------------
/* How to use? : Check the GitHub README
/* ----------------------------------------------- */
/* To load a config file (particles.json) you need to host this demo (MAMP/WAMP/local)... */
/*
particlesJS.load('particles-js', 'particles.json', function() {
console.log('particles.js loaded - callback');
});
*/
/* Otherwise just put the config content (json): */
particlesJS('particles-js',
{
"particles": {
"number": {
"value": 40,
"density": {
"enable": true,
"value_area": 800
}
},
"color": {
"value": "#ffffff"
},
"shape": {
"type": "circle",
"stroke": {
"width": 0,
"color": "#000000"
},
"polygon": {
"nb_sides": 5
},
"image": {
"src": "img/github.svg",
"width": 100,
"height": 100
}
},
"opacity": {
"value": 0.7,
"random": false,
"anim": {
"enable": false,
"speed": 1,
"opacity_min": 0.1,
"sync": false
}
},
"size": {
"value": 3,
"random": true,
"anim": {
"enable": false,
"speed": 40,
"size_min": 0.1,
"sync": false
}
},
"line_linked": {
"enable": true,
"distance": 150,
"color": "#ffffff",
"opacity": 0.6,
"width": 1
},
"move": {
"enable": true,
"speed": 6,
"direction": "none",
"random": false,
"straight": false,
"out_mode": "out",
"bounce": false,
"attract": {
"enable": false,
"rotateX": 600,
"rotateY": 1200
}
}
},
"interactivity": {
"detect_on": "canvas",
"events": {
"onhover": {
"enable": true,
"mode": "grab"
},
"onclick": {
"enable": true,
"mode": "push"
},
"resize": true
},
"modes": {
"grab": {
"distance": 200,
"line_linked": {
"opacity": 1
}
},
"bubble": {
"distance": 400,
"size": 40,
"duration": 2,
"opacity": 8,
"speed": 3
},
"repulse": {
"distance": 200,
"duration": 0.4
},
"push": {
"particles_nb": 4
},
"remove": {
"particles_nb": 2
}
}
},
"retina_detect": false
}
);

File diff suppressed because one or more lines are too long

@ -40,4 +40,21 @@
-->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<!--配置拦截器,拦截地址栏直接输入的地址进行访问的请求-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
<mvc:exclude-mapping path="/**/css/*"/>
<mvc:exclude-mapping path="/**/images/*"/>
<mvc:exclude-mapping path="/**/js/*"/>
<mvc:exclude-mapping path="/**/layer/*"/>
<mvc:exclude-mapping path="/**/layui_exts/*"/>
<mvc:exclude-mapping path="/**/lib/*"/>
<mvc:exclude-mapping path="/**/Login"/>
<mvc:exclude-mapping path="/**/to_login"/>
<bean class="cn.ppdxzz.controller.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
</beans>

@ -40,4 +40,21 @@
-->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<!--配置拦截器,拦截地址栏直接输入的地址进行访问的请求-->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/**/fonts/*"/>
<mvc:exclude-mapping path="/**/css/*"/>
<mvc:exclude-mapping path="/**/images/*"/>
<mvc:exclude-mapping path="/**/js/*"/>
<mvc:exclude-mapping path="/**/layer/*"/>
<mvc:exclude-mapping path="/**/layui_exts/*"/>
<mvc:exclude-mapping path="/**/lib/*"/>
<mvc:exclude-mapping path="/**/Login"/>
<mvc:exclude-mapping path="/**/to_login"/>
<bean class="cn.ppdxzz.controller.LoginInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
</beans>

@ -15,7 +15,7 @@
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/layer/layer.js"></script>
</head>
<body>
<body background="${pageContext.request.contextPath}/images/01.jpg">
<br><br>
<input type="hidden" id="id" name="id" value="${ad.id}">
<div class="row form-horizontal">
@ -46,27 +46,28 @@
<div class="form-group">
<label class="col-sm-2 control-label form-label">权限:</label>
<div class="col-sm-8">
<c:if test="${ad.power == 0}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 1}">
<select class="form-control" name="power" id="power">
<option value="0">未授权</option>
<option value="1" selected>授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 2}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2" selected>超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 0}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 1}">
<select class="form-control" name="power" id="power">
<option value="0">未授权</option>
<option value="1" selected>授权</option>
<option value="2">超级权限</option>
</select>
</c:if>
<c:if test="${ad.power == 2}">
<select class="form-control" name="power" id="power">
<option value="0" selected>未授权</option>
<option value="1">授权</option>
<option value="2" selected>超级权限</option>
</select>
</c:if>
</div>
</div>
<div class="form-group">
@ -79,6 +80,7 @@
<div class="row">
<div class="form-group btn-group col-md-offset-5">
<button class="btn btn-warning" onclick="toValidate()">确认修改</button>
<a type="button" href="${pageContext.request.contextPath}/findAllAdmin" class="btn btn-primary">返回列表</a>
</div>
</div>
<script src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>

@ -31,6 +31,11 @@
//向服务器发送请求,改变每页显示条数
location.href = "${pageContext.request.contextPath}/findAllAdmin?page=1&size="+ pageSize;
}
$("#serarch_btn").click(function () {
var username = $("#username").val();
var password = $("#password").val();
location.href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=4&username="+username;
});
</script>
</head>
<body>
@ -51,16 +56,16 @@
<div class="layui-card-body ">
<form class="layui-form layui-col-space5">
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="开始日" name="start" id="start">
<input class="layui-input" type="text" autocomplete="on" placeholder="用户名" name="username" id="username" value="${param.username}">
</div>
<div class="layui-inline layui-show-xs-block">
<input class="layui-input" autocomplete="off" placeholder="截止日" name="end" id="end">
<input class="layui-input" type="text" autocomplete="off" placeholder="姓名" name="name" id="name">
</div>
<div class="layui-inline layui-show-xs-block">
<input type="text" name="username" placeholder="请输入用户名" autocomplete="off" class="layui-input">
<input type="text" name="description" id="description" placeholder="描述" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline layui-show-xs-block">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
<button class="layui-btn" id="serarch_btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
</div>
</form>
</div>
@ -73,7 +78,6 @@
<table class="layui-table layui-form">
<thead>
<tr style="text-align: center">
<th style="text-align: center">ID</th>
<th style="text-align: center">用户名</th>
<th style="text-align: center">姓名</th>
<th style="text-align: center">联系方式</th>
@ -84,7 +88,6 @@
<tbody>
<c:forEach items="${pageInfo.list}" var="admin">
<tr style="text-align: center">
<td>${admin.id}</td>
<td>${admin.username}</td>
<td>${admin.name}</td>
<td>${admin.phone}</td>
@ -110,30 +113,30 @@
<div class="form-group form-inline">
当前页:${pageInfo.pageNum}&nbsp;/&nbsp;${pageInfo.pages}&emsp; 每页
<select class="form-control" id="changePageSize" onchange="changePageSize()">
<option>4</option>
<option>5</option>
<option>10</option>
<option>15</option>
<option>20</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="10">10</option>
<option value="15">15</option>
<option value="20">20</option>
</select> 条
</div>
</div>
<div class="box-tools pull-right">
<ul class="pagination">
<li>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=${pageInfo.pageSize}" aria-label="Previous">首页</a>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=1&size=${pageInfo.pageSize}&username=${param.username}" aria-label="Previous">首页</a>
</li>
<c:if test="${pageInfo.pageNum > 1}">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}">上一页</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum-1}&size=${pageInfo.pageSize}&username=${param.username}">上一页</a></li>
</c:if>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageNum}&size=${pageInfo.pageSize}">${pageNum}</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageNum}&size=${pageInfo.pageSize}&username=${param.username}">${pageNum}</a></li>
</c:forEach>
<c:if test="${pageInfo.pageNum < pageInfo.pages}">
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pageNum+1}&size=${pageInfo.pageSize}&username=${param.username}">下一页</a></li>
</c:if>
<li>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pages}&size=${pageInfo.pageSize}" aria-label="Next">尾页</a>
<a href="${pageContext.request.contextPath}/findAllAdmin?page=${pageInfo.pages}&size=${pageInfo.pageSize}&username=${param.username}" aria-label="Next">尾页</a>
</li>
</ul>
</div>

@ -6,29 +6,18 @@
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/usersLogin.css">
<link rel="icon" href="${pageContext.request.contextPath}/images/favicon.ico" sizes="32x32" />
<link rel="stylesheet" media="screen" href="${pageContext.request.contextPath}/css/style.css">
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/reset.css"/>
<script src="${pageContext.request.contextPath}/js/jquery-3.1.1.js"></script>
<script src="${pageContext.request.contextPath}/layer/layer.js" type="text/javascript"></script>
<script src="${pageContext.request.contextPath}/js/login.js"></script>
<title>登录页面--LOGIN</title>
<style>
body {
padding-bottom: 50px;
}
.footer {
position: fixed;
left: 0px;
bottom: 0px;
width: 100%;
height: 80px;
background-color: #eee;
z-index: 9999;
}
</style>
<script type="text/javascript">
<%--<script type="text/javascript">
$(function () {
//ajax校验用户名是否存在
$("#username").change(function () {
@ -37,49 +26,69 @@
//ajax异步请求
$.get("${pageContext.request.contextPath}/checkUserName",{"u_name":u_name},function (msg) {
//$(".error").html(msg);
if (msg == "账号可用") {
layer.msg('账号可用');
}else {
if (msg != "账号可用") {
layer.msg('账号不存在');
}
});
});
});
</script>
</script>--%>
</head>
<body>
<div class="header">
</div>
<div class="body">
<div class="panel">
<div class="top">
<p>登录页面--LOGIN</p>
<form action="${pageContext.request.contextPath}/login" name="myform" method="post">
<div id="particles-js">
<div class="login">
<div class="login-top">
后台登录
</div>
<div class="middle">
<form action="${pageContext.request.contextPath}/login" method="post">
&emsp;&emsp;&emsp;&emsp;
<span class="error">${msg}</span>
<span class="s1"></span>
<span class="s2"></span>
<input type="text" name="username" id="username" placeholder="用户名" class="iputs"/>
<input type="password" name="password" placeholder="密码" class="iputs"/>
<input type="submit" value="登录"/>
</form>
<div class="login-center clearfix">
<div class="login-center-img"><img src="${pageContext.request.contextPath}/images/name.png"/></div>
<div class="login-center-input">
<input type="text" id="username" name="username" placeholder="请输入您的用户名" onfocus="this.placeholder=''" onblur="this.placeholder='请输入您的用户名'"/>
<div class="login-center-input-text">用户名</div>
</div>
</div>
<div class="login-center clearfix">
<div class="login-center-img"><img src="${pageContext.request.contextPath}/images/password.png"/></div>
<div class="login-center-input">
<input type="password" id="password" name="password" placeholder="请输入您的密码" onfocus="this.placeholder=''" onblur="this.placeholder='请输入您的密码'"/>
<div class="login-center-input-text">密码</div>
</div>
</div>
<div class="login-button" onclick="check()">
登录
</div>
<span style="text-align: center;color: red;"><br>&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;${msg}</span>
</div>
<div class="sk-rotating-plane"></div>
</div>
<div class="footer" style="font:12px Tahoma;color: #000000; margin:0px auto; text-align:center;">
<br/>
Copyright &copy; &nbsp;&nbsp;2019-2020&nbsp;
&nbsp;&nbsp;皮皮的小猪仔&nbsp;&nbsp; All Rights Reserved<br/>
联系方式2535414380@qq.com<br/>
<!-- <img style="width: 20px; height: 20px;" src="http://www.beian.gov.cn/img/ghs.png" alt="备案标识" /><a href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=32058202010228&token=2be051c1-22dd-44ec-9f4b-d41155f2d855" target="_blank" rel="nofollow noopener noreferrer">豫公网安备号</a> -->
ICP:<a href="http://beian.miit.gov.cn">豫ICP备20001139号-1</a>
</div>
</form>
<%--<c:if test="${msg != null}">
<script>
layer.msg("${msg}");
</script>
</c:if>--%>
<script src="${pageContext.request.contextPath}/js/particles.min.js"></script>
<script src="${pageContext.request.contextPath}/js/app.js"></script>
<script type="text/javascript">
function check() {
var username = $("#username").val().trim();
var password = $("#password").val().trim();
if (username == null || username == "" || username.length == 0) {
layer.msg('请输入用户帐号');
return false;
}
if (password == null || password == "" || password.length == 0) {
layer.msg('请输入登录密码');
return false;
}
if (password.length < 4 || password.length > 20) {
layer.msg('密码格式有误4-20位字符');
return false;
}
document.myform.submit();
}
</script>
</body>
</html>

@ -48,7 +48,15 @@
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--配置错误页面-->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>

@ -0,0 +1,35 @@
@charset "utf-8";
/* CSS Document */
/*Reset*/
*{box-sizing:content-box;}
a:hover, a:focus{text-decoration:none;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
body{-webkit-text-size-adjust:none;}
fieldset,img{border:0;}
img{ vertical-align: top; max-width: 100%; }
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
ol,ul{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;}
.clearfix:after{visibility:hidden;display: block;font-size:0;content:" ";clear:both;height:0;}
* html .clearfix{ zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */
.cli{ clear:both; font-size:0; height:0; overflow:hidden;display:block;}
.lclear{clear:left;font-size:0;height:0;overflow:hidden;}
.fl{float:left;}
.fr{float:right;}
/* ֹ
iframe{nifm2:expression(this.src='about:blank',this.outerHTML='');}
script{no2js:expression((this.src.toLowerCase().indexOf('http')==0)?document.close():'');}
*/
/* ıԼ˶
div{word-wrap: break-word;word-break: normal;}
p{text-align:justify; text-justify:inter-ideograph;}
*/
/*general*/
body{font-size:12px;font-family:'微软雅黑',"宋体","Arial Narrow",Helvetica,sans-serif;color:#000;line-height:1.2;text-align:left;}
a{color:#333;text-decoration:none;}

@ -0,0 +1,113 @@
html,body{
width:100%;
height:100%;
}
canvas{
display:block;
vertical-align:bottom;
}
.count-particles{
background: #000022;
position: absolute;
top: 48px;
left: 0;
width: 80px;
color: #13E8E9;
font-size: .8em;
text-align: left;
text-indent: 4px;
line-height: 14px;
padding-bottom: 2px;
font-family: Helvetica, Arial, sans-serif;
font-weight: bold;
}
.js-count-particles{
font-size: 1.1em;
}
#stats,
.count-particles{
-webkit-user-select: none;
margin-top: 5px;
margin-left: 5px;
}
#stats{
border-radius: 3px 3px 0 0;
overflow: hidden;
}
.count-particles{
border-radius: 0 0 3px 3px;
}
#particles-js{
width: 100%;
height: 100%;
position: relative;
background-image: url(../images/bg.jpg);
background-position: 50% 50%;
background-size: cover;
background-repeat: no-repeat;
margin-left: auto;
margin-right: auto;
}
.sk-rotating-plane {
display: none;
width: 80px;
height: 80px;
margin: auto;
background-color: white;
-webkit-animation: sk-rotating-plane 1.2s infinite ease-in-out;
animation: sk-rotating-plane 1.2s infinite ease-in-out;
z-index: 1;
position: absolute;
top: 50%;
left: 50%;
margin-left: -40px;
margin-top: -80px;
}
.sk-rotating-plane.active{display: block;}
@keyframes sk-rotating-plane{
0% {
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
}
50% {
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
}
100% {
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
@keyframes login-small{
0%{
transform: scale(1);-moz-transform: scale(1); /* Firefox 4 */-webkit-transform: scale(1); /* Safari 和 Chrome */-o-transform: scale(1); /* Opera */-ms-transform:scale(1); /* IE 9 */
}
100%{
transform: scale(0.2);-moz-transform: scale(0.1); /* Firefox 4 */-webkit-transform: scale(0.2); /* Safari 和 Chrome */-o-transform: scale(0.1); /* Opera */-ms-transform:scale(0.1); /* IE 9 */
}
}
.login{z-index: 2;position:absolute;width: 350px;border-radius: 5px;height: 500px;background: white;box-shadow: 0px 0px 5px #333333;top: 50%;left: 50%;margin-top: -250px;margin-left: -175px;transition: all 1s;-moz-transition: all 1s; /* Firefox 4 */-webkit-transition: all 1s; /* Safari 和 Chrome */-o-transition: all 1s; /* Opera */}
.login-top{font-size: 24px;margin-top: 100px;padding-left: 40px;box-sizing: border-box;color: #333333;margin-bottom: 50px;}
.login-center{width: 100%;box-sizing: border-box;padding: 0 40px;margin-bottom: 30px;}
.login-center-img{width: 20px;height: 20px;float: left;margin-top: 5px;}
.login-center-img>img{width: 100%;}
.login-center-input{float: left;width: 230px;margin-left: 15px;height: 30px;position: relative;}
.login-center-input input{z-index: 2;transition: all 0.5s;padding-left: 10px;color: #333333;width: 100%;height: 30px;border: 0;border-bottom: 1px solid #cccccc;border-top: 1px solid #ffffff;border-left: 1px solid #ffffff;border-right: 1px solid #ffffff;box-sizing: border-box;outline: none;position: relative;}
.login-center-input input:focus{border: 1px solid dodgerblue;}
.login-center-input-text{background: white;padding: 0 5px;position: absolute;z-index: 0;opacity: 0;height: 20px;top: 50%;margin-top: -10px;font-size: 14px;left: 5px;color: dodgerblue;line-height: 20px;transition: all 0.5s;-moz-transition: all 0.5s; /* Firefox 4 */-webkit-transition: all 0.5s; /* Safari 和 Chrome */-o-transition: all 0.5s; /* Opera */}
.login-center-input input:focus~.login-center-input-text{top: 0;z-index: 3;opacity: 1;margin-top: -15px;}
.login.active{-webkit-animation: login-small 0.8s ; animation: login-small 0.8s ;animation-fill-mode:forwards;-webkit-animation-fill-mode:forwards}
.login-button{cursor: pointer;width: 250px;text-align: center;height: 40px;line-height: 40px;background-color: dodgerblue;border-radius: 5px;margin: 0 auto;margin-top: 50px;color: white;}

@ -8,7 +8,7 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html class="x-admin-sm">
<head>
<title>错误页面--404</title>
<title>error.html</title>
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
@ -22,18 +22,9 @@
<div class="fly-panel">
<div class="fly-none">
<h2><i class="layui-icon layui-icon-404"></i></h2>
<p>页面或者数据被<a href=""> 纸飞机 </a>运到火星了,啥都看不到了…</p>
<p>页面或者数据被<a href="${pageContext.request.contextPath}/index.jsp"> 纸飞机 </a>运到火星了,啥都看不到了…</p>
</div>
</div>
</div>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,127 @@
/* -----------------------------------------------
/* How to use? : Check the GitHub README
/* ----------------------------------------------- */
/* To load a config file (particles.json) you need to host this demo (MAMP/WAMP/local)... */
/*
particlesJS.load('particles-js', 'particles.json', function() {
console.log('particles.js loaded - callback');
});
*/
/* Otherwise just put the config content (json): */
particlesJS('particles-js',
{
"particles": {
"number": {
"value": 40,
"density": {
"enable": true,
"value_area": 800
}
},
"color": {
"value": "#ffffff"
},
"shape": {
"type": "circle",
"stroke": {
"width": 0,
"color": "#000000"
},
"polygon": {
"nb_sides": 5
},
"image": {
"src": "img/github.svg",
"width": 100,
"height": 100
}
},
"opacity": {
"value": 0.7,
"random": false,
"anim": {
"enable": false,
"speed": 1,
"opacity_min": 0.1,
"sync": false
}
},
"size": {
"value": 3,
"random": true,
"anim": {
"enable": false,
"speed": 40,
"size_min": 0.1,
"sync": false
}
},
"line_linked": {
"enable": true,
"distance": 150,
"color": "#ffffff",
"opacity": 0.6,
"width": 1
},
"move": {
"enable": true,
"speed": 6,
"direction": "none",
"random": false,
"straight": false,
"out_mode": "out",
"bounce": false,
"attract": {
"enable": false,
"rotateX": 600,
"rotateY": 1200
}
}
},
"interactivity": {
"detect_on": "canvas",
"events": {
"onhover": {
"enable": true,
"mode": "grab"
},
"onclick": {
"enable": true,
"mode": "push"
},
"resize": true
},
"modes": {
"grab": {
"distance": 200,
"line_linked": {
"opacity": 1
}
},
"bubble": {
"distance": 400,
"size": 40,
"duration": 2,
"opacity": 8,
"speed": 3
},
"repulse": {
"distance": 200,
"duration": 0.4
},
"push": {
"particles_nb": 4
},
"remove": {
"particles_nb": 2
}
}
},
"retina_detect": false
}
);

File diff suppressed because one or more lines are too long

@ -3,6 +3,7 @@
1. 2020.2.11首次接触并搭建了SSM框架环境完成持久层基本CRUD的功能测试并提供了管理员的登录校验功能以及登录页面用户名是否存在的功能。
2. 2020.2.12实现查询所有管理员信息并显示到页面添加基本的分页期间存在的一些问题是一开始不了解SpringMVC视图解析器的映射规则导致出现页面无法跳转的问题目前我SSM框架技术知识面了解有限暂时把页面跳转放在controller中后续技术更新后再另行解决。
3. 2020.2.13用bootstrap框架完成了管理员添加和修改的页面实现并加入jQuery校验字段是否为空最终实现了管理员添加以及修改功能。
4. 2020.2.14把原来的登录页面更换成动态特效的登录页面并使用ajax完成登录的后台校验管理员查询功能完成了模糊查询但是模糊查询带上分页技术后页面跳转出现问题点击分页按钮后又重新查询了全部数据的分页查看了相关资料进行改进目前并未完全实现。

Loading…
Cancel
Save