pxake4hfp 10 months ago
parent c9b8800444
commit c9ce7fe352

@ -6,7 +6,10 @@
</artifacts-to-build>
</component>
<component name="ChangeListManager">
<list default="true" id="0ffa26fe-3275-4667-90ad-c688ca600b30" name="Default Changelist" comment="" />
<list default="true" id="0ffa26fe-3275-4667-90ad-c688ca600b30" 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/com/controller/alluse/LoginServlet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/controller/alluse/LoginServlet.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@ -23,6 +26,9 @@
</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" />
@ -33,7 +39,8 @@
<component name="MavenImportPreferences">
<option name="generalSettings">
<MavenGeneralSettings>
<option name="mavenHome" value="D:/Program Files/apache-maven-3.6.3-bin/apache-maven-3.6.3" />
<option name="customMavenHome" value="$PROJECT_DIR$/../../../Program Files/apache-maven-3.6.3-bin/apache-maven-3.6.3" />
<option name="mavenHomeTypeForPersistence" value="CUSTOM" />
</MavenGeneralSettings>
</option>
<option name="importingSettings">
@ -42,27 +49,24 @@
</MavenImportingSettings>
</option>
</component>
<component name="ProjectColorInfo"><![CDATA[{
"customColor": "",
"associatedIndex": 2
}]]></component>
<component name="ProjectId" id="1ZsRq0O38W9j2DAyvPgaq78h6F5" />
<component name="ProjectViewState">
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/web" />
<property name="node.js.detected.package.eslint" value="true" />
<property name="node.js.detected.package.tslint" value="true" />
<property name="node.js.path.for.package.eslint" value="project" />
<property name="node.js.path.for.package.tslint" value="project" />
<property name="node.js.selected.package.eslint" value="(autodetect)" />
<property name="node.js.selected.package.tslint" value="(autodetect)" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="settings.editor.selected.configurable" value="com.alibabacloud.intellij.config.AccountConfigurable" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"git-widget-placeholder": "master",
"kotlin-language-version-configured": "true",
"nodejs_package_manager_path": "npm",
"vue.rearranger.settings.migration": "true"
}
}]]></component>
<component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.filter" />
@ -181,6 +185,15 @@
</list>
</option>
</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-jdk-9823dce3aa75-125ca727e0f0-intellij.indexing.shared.core-IU-243.24978.46" />
<option value="bundled-js-predefined-d6986cc7102b-76f8388c3a79-JavaScript-IU-243.24978.46" />
</set>
</attachedChunks>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
<component name="SshConsoleOptionsProvider">
<option name="myEncoding" value="UTF-8" />
</component>
@ -328,11 +341,12 @@
<workItem from="1588858985099" duration="3090000" />
<workItem from="1588865103089" duration="22000" />
<workItem from="1589092133957" duration="947000" />
<workItem from="1745900747453" duration="307000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="1" />
<option name="version" value="3" />
</component>
<component name="WindowStateProjectService">
<state x="361" y="71" key="#Deployment" timestamp="1586742405632">

@ -14,62 +14,69 @@ import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.sql.ResultSet;
/**
* Servlet
* (//)
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 从请求参数中获取用户输入的用户名、密码和身份
String userName = req.getParameter("userName");
String psw = req.getParameter("psw");
String identity = req.getParameter("identity1");
// 打印日志用于调试
System.out.println(userName);
System.out.println(psw);
System.out.println(identity);
// 根据用户选择的身份进行不同的验证逻辑
if (identity.equals("学生")){//学生身份
boolean flag = false;
String sql = "select * from student where sname = ? and spsw = ?";
Object[] objects = {userName, psw};
ResultSet resultSet = StuDao.login(sql, objects);
String sno = null;
boolean flag = false; // 标记是否验证成功
String sql = "select * from student where sname = ? and spsw = ?"; // SQL查询语句
Object[] objects = {userName, psw}; // SQL查询参数
ResultSet resultSet = StuDao.login(sql, objects); // 执行数据库查询
String sno = null; // 学生学号
try {
if (resultSet.next()){
flag = true;
sno = resultSet.getString("sno");
if (resultSet.next()){ // 如果查询结果不为空
flag = true; // 验证成功
sno = resultSet.getString("sno"); // 获取学生学号
}
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace(); // 打印异常堆栈信息
}finally {
JdbcUtils.close(resultSet);
JdbcUtils.close(resultSet); // 关闭结果集,释放资源
}
if (flag){
if (flag){ // 验证成功
System.out.println("登录成功!");
//创建会话,处理请求要用
// 创建会话,存储用户信息
HttpSession session = req.getSession();
session.setAttribute("userName", userName);
// 创建请求属性对象,处理请求要用
session.setAttribute("sno", sno);
session.setAttribute("userName", userName); // 存储用户名
session.setAttribute("sno", sno); // 存储学号
System.out.println(sno);
// 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/stu/stumainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
// resp.sendRedirect(req.getContextPath() + "/view/stu/stumainview.jsp");
}else {
}else { // 验证失败
System.out.println("用户名或密码错误!请重新登录!");
//返回登录成功的信息
// 设置错误信息并转发到提示页面
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}
}else
if (identity.equals("教师")){//教师身份
}else if (identity.equals("教师")){//教师身份
boolean flag = false;
String sql = "select * from teacher where tname = ? and tpsw = ?";
Object[] objects = {userName, psw};
@ -87,13 +94,13 @@ public class LoginServlet extends HttpServlet {
}
if (flag){
System.out.println("登录成功!");
//创建会话,处理请求要用
// 创建会话,存储用户信息
HttpSession session = req.getSession();
session.setAttribute("userName", userName);
// 创建请求属性对象,处理请求要用
session.setAttribute("tno", tno);
System.out.println(tno);
// 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/tea/teamainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
@ -101,72 +108,68 @@ public class LoginServlet extends HttpServlet {
// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
}else {
System.out.println("用户名或密码错误!请重新登录!");
//返回登录成功的信息
// 设置错误信息并转发到提示页面
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}
}else {//如果是管理员
boolean flag = false;
String sql = "select * from admin where adname = ? and adpsw = ? and belong = ?";
Object[] objects = {userName, psw, identity};
ResultSet resultSet = SchoAdminDao.login(sql, objects);
// String belong = null;
try {
if (resultSet.next()){
flag = true;
// belong = resultSet.getString("belong");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
JdbcUtils.close(resultSet);
boolean flag = false;
String sql = "select * from admin where adname = ? and adpsw = ? and belong = ?";
Object[] objects = {userName, psw, identity};
ResultSet resultSet = SchoAdminDao.login(sql, objects);
try {
if (resultSet.next()){
flag = true;
}
} catch (Exception e) {
e.printStackTrace();
}finally {
JdbcUtils.close(resultSet);
}
if (flag){
if (identity.equals("学校")){//学校管理员
System.out.println("登录成功!");
HttpSession session = req.getSession();
// 创建会话属性对象,处理请求要用
session.setAttribute("belong", identity);
System.out.println(identity);
// session.setAttribute("belong", belong);
// System.out.println(belong);
if (flag){ // 管理员验证成功
req.setAttribute("httpUrl","/view/schoadmin/schomainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}else {//二级学院管理员
System.out.println("登录成功!");
//创建会话,处理请求要用
HttpSession session = req.getSession();
// 创建请求属性对象,处理请求要用
session.setAttribute("belong", identity);
System.out.println(identity);
if (identity.equals("学校")){//学校管理员
System.out.println("登录成功!");
HttpSession session = req.getSession();
session.setAttribute("belong", identity); // 存储管理员所属单位
System.out.println(identity);
req.setAttribute("httpUrl","/view/deptadmin/deptmainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
}
// 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/schoadmin/schomainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}else {//二级学院管理员
System.out.println("登录成功!");
// 创建会话,存储用户信息
HttpSession session = req.getSession();
session.setAttribute("belong", identity);
System.out.println(identity);
}else {
System.out.println("用户名或密码错误!请重新登录!");
//返回登录成功的信息
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
// 设置跳转信息并转发到提示页面
req.setAttribute("httpUrl","/view/deptadmin/deptmainview.jsp");
req.setAttribute("info", "登录成功!即将跳转至后台首页!");
req.setAttribute("title","登录成功");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
// resp.sendRedirect(req.getContextPath() + "/view/guide/mainview_guide.jsp");
}
}else {
System.out.println("用户名或密码错误!请重新登录!");
// 设置错误信息并转发到提示页面
req.setAttribute("httpUrl","/view/login/login.jsp");
req.setAttribute("info", "登录失败!用户名或密码错误!即将跳转至登录页面!");
req.setAttribute("title","登录失败");
req.getRequestDispatcher("/view/alluse/info.jsp").forward(req, resp);
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
doGet(req, resp); // 对于POST请求直接调用doGet方法处理
}
}
}

@ -11,43 +11,53 @@ import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Servlet
* ID
*/
@WebServlet("/DelNewsServlet")
public class DelNewsServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 从请求参数中获取要删除的新闻ID
String nid = req.getParameter("nid");
int nid1 = Integer.parseInt(nid);
int nid1 = Integer.parseInt(nid); // 将字符串类型的ID转换为整数
// 打印日志用于调试
System.out.println(nid1);
String sql = null;
String sql = null; // SQL语句变量
// 第一步:检查新闻是否存在
sql = "select count(*) as num from news where nid = ?";
Object[] objects = {nid1};
int num = FrontWebDao.findTotalCount(sql, objects);
Object[] objects = {nid1}; // SQL查询参数
int num = FrontWebDao.findTotalCount(sql, objects); // 执行查询,获取新闻数量
System.out.println(num);
if (num > 0){//有则删除
if (num > 0){ // 如果新闻存在,则执行删除操作
sql = "delete from news where nid = ?";
Object[] objects1 = {nid1};
int num1 = FrontWebDao.executeUpdate(sql, objects1);
if (num1 > 0){
int num1 = FrontWebDao.executeUpdate(sql, objects1); // 执行删除操作
if (num1 > 0){ // 删除成功
// 通过JavaScript弹出提示框并关闭当前窗口
resp.getWriter().write("<script>alert('删除成功!'); window.location='" + req.getContextPath() + "/view/frontweb/delnews.jsp';" + "window.close();</script>");
}else {
}else { // 删除失败(可能是数据库操作异常)
resp.getWriter().write("<script>alert('删除失败!'); window.location='" + req.getContextPath() + "/view/frontweb/delnews.jsp';" + "window.close();</script>");
}
}else {//否则不能删除
}else { // 新闻不存在,不能删除
resp.getWriter().write("<script>alert('删除失败!不存在此新闻编号!'); window.location='" + req.getContextPath() + "/view/frontweb/delnews.jsp';" + "window.close();</script>");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
this.doGet(req, resp); // 对于POST请求直接调用doGet方法处理
}
}
}

@ -10,37 +10,46 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
* Servlet
*
*/
@WebServlet("/DeptAdmAlterPswServlet")
public class DeptAdmAlterPswServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 从会话中获取管理员编号(标识当前登录用户)
HttpSession session = req.getSession();
String adno = (String) session.getAttribute("adno");
// 从请求参数中获取用户输入的新密码和确认密码
String adpsw = req.getParameter("adpsw");
String adpsw1 = req.getParameter("adpsw1");
//判断两次密码是否相同
if (adpsw.equals(adpsw1)){//相同则进行修改操作
String sql = "update admin set adpsw = ? where adno = ?";
Object[] objects = {adpsw, adno};
int num = FrontWebDao.executeUpdate(sql, objects);
if (num > 0){
// 判断两次输入的密码是否相同
if (adpsw.equals(adpsw1)){// 相同则进行修改操作
String sql = "update admin set adpsw = ? where adno = ?"; // SQL更新语句
Object[] objects = {adpsw, adno}; // SQL参数新密码和管理员编号
int num = FrontWebDao.executeUpdate(sql, objects); // 执行数据库更新操作
if (num > 0){ // 更新成功
// 提示用户修改成功并要求重新登录
resp.getWriter().write("<script>alert('修改密码成功!请重新登录!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmlogin.jsp';" + "window.close();</script>");
}else {
}else { // 更新失败(可能是数据库操作异常)
resp.getWriter().write("<script>alert('修改密码失败!请重新输入密码!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmalterpsw.jsp';" + "window.close();</script>");
}
}else {//不同则重新输入密码
}else {// 两次密码不同,提示用户重新输入
resp.getWriter().write("<script>alert('两次密码不一样!请重新输入密码!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmalterpsw.jsp';" + "window.close();</script>");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
this.doGet(req, resp); // 对于POST请求直接调用doGet方法处理
}
}
}

@ -9,36 +9,45 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Servlet
*
*/
@WebServlet("/DeptAdmForgetPswServlet")
public class DeptAdmForgetPswServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 设置请求和响应的字符编码,防止中文乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
// 从请求参数中获取管理员编号(用户输入的需要重置密码的账号)
String adno = req.getParameter("adno");
// 从请求参数中获取用户输入的新密码和确认密码
String adpsw = req.getParameter("adpsw");
String adpsw1 = req.getParameter("adpsw1");
//判断两次密码是否相同
if (adpsw.equals(adpsw1)){//相同则进行修改操作
String sql = "update admin set adpsw = ? where adno = ?";
Object[] objects = {adpsw, adno};
int num = FrontWebDao.executeUpdate(sql, objects);
if (num > 0){
// 判断两次输入的密码是否相同
if (adpsw.equals(adpsw1)){// 相同则进行修改操作
String sql = "update admin set adpsw = ? where adno = ?"; // SQL更新语句
Object[] objects = {adpsw, adno}; // SQL参数新密码和管理员编号
int num = FrontWebDao.executeUpdate(sql, objects); // 执行数据库更新操作
if (num > 0){ // 更新成功
// 提示用户修改成功并跳转到登录页面
resp.getWriter().write("<script>alert('修改密码成功!请登录!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmlogin.jsp';" + "window.close();</script>");
}else {
}else { // 更新失败(可能是管理员编号不存在或数据库操作异常)
resp.getWriter().write("<script>alert('修改密码失败!请重新输入密码!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmforgetpsw.jsp';" + "window.close();</script>");
}
}else {//不同则重新输入密码
}else {// 两次密码不同,提示用户重新输入
resp.getWriter().write("<script>alert('两次密码不一样!请重新输入密码!'); window.location='" + req.getContextPath() + "/view/frontweb/deptadmforgetpsw.jsp';" + "window.close();</script>");
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
this.doGet(req, resp); // 对于POST请求直接调用doGet方法处理
}
}
}
Loading…
Cancel
Save