今日遇到问题
问题1:src目录中无法创建软件包
解决方法:
将src重新标记为源代码根目录
问题2:在软件包中构建软件包时,软件包直接被重新命名了而不是在下面生成了一个,无法在软件包中重新构建软件包
解决方法:
将“压缩空的中间软件包”取消勾选就可以了
问题3:http请求返回结果出现中文乱码(如下
解决方法:
此问题出现原因是post请求格式出现问题,得到了与网页编码不一致的参数值,因此方法就是在获取参数值之前声明它的编码形式为utf-8
在获取参数值之前添加:request.setCharacterEncoding("utf-8");
今日成果:将Login_back.jsp写完,总算是完成了login的提交后页面。完成了一个简易的菜单页面
密码错误提示:
密码正确跳转:
代码:
Login_back.jsp
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="com.Util.util" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.sql.SQLException" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
request.setCharacterEncoding("utf-8");
// 获取表单数据
String username = request.getParameter("Username");
String password = request.getParameter("Password");
if (username == null || username.trim().isEmpty() || password == null || password.trim().isEmpty()) {
// 用户名或密码为空,重定向回 login.jsp 并显示错误信息
response.sendRedirect("login.jsp?error=emptyFields");
} else {
int i = 0;
Connection connection = util.getConnection();
PreparedStatement preparedStatement = null;
ResultSet rs = null;
try {
String sql = "SELECT * FROM 人员基本信息表 WHERE 用户名 = ? AND 密码 = ?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
rs = preparedStatement.executeQuery();
if (rs.next()) {
i++;
}
if (i == 0) {
// 用户名或密码不正确,重定向回 login.jsp 并显示错误信息
String encodedUsername = java.net.URLEncoder.encode(username, "UTF-8");
response.sendRedirect("login.jsp?error=invalidCredentials&Username=" + encodedUsername);
} else {
// 登录成功,保存用户名到 session,并重定向到 Menu.jsp
session.setAttribute("Username", username);
response.sendRedirect("/Menu.jsp");
}
} catch (SQLException e) {
e.printStackTrace();
String encodedUsername = java.net.URLEncoder.encode(username, "UTF-8");
response.sendRedirect("login.jsp?error=databaseError&Username=" + encodedUsername);
} finally {
util.close(rs);
util.close(preparedStatement);
util.close(connection);
}
}
%>
来源链接:https://www.cnblogs.com/1222carnivore/p/18717715
没有回复内容