• Java前后端交互的一些细节


     在后端进行POST请求后端接收前端数据时,关于PrintWriter:参考地址

    注意传进来的对象为空说明未在数据库查到拥有该账号的用户,所以需要告诉前端“账号密码不正确”,如果不为空说明有该用户,所以可以登录。 

    1. @Override
    2. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    3. String account=req.getParameter("account");
    4. String password=req.getParameter("password");
    5. System.out.println(account);
    6. System.out.println(password);
    7. PrintWriter printWriter=resp.getWriter();
    8. User user= null;
    9. try {
    10. user = dao.logindao(account,password);
    11. if(user==null) {
    12. printWriter.print("账号或密码不正确!");
    13. }
    14. else {
    15. ObjectMapper objectMapper=new ObjectMapper();
    16. String json=objectMapper.writeValueAsString(user);
    17. printWriter.print(json);
    18. }
    19. } catch (SQLException throwables) {
    20. throwables.printStackTrace();
    21. printWriter.print("服务器忙...请稍后重试!");
    22. }
    23. }

    最开始置对象为空,如果没有查到该用户直接返回空。 

    1. import com.mysql.cj.jdbc.Driver;
    2. import java.sql.*;
    3. public class LoginDao {
    4. public User logindao(String account, String password) throws SQLException {
    5. String sql="select * from user where account=? and password=?";
    6. Connection connection=DButils.getConnection();
    7. PreparedStatement preparedStatement= connection.prepareStatement(sql);
    8. preparedStatement.setObject(1,account);
    9. preparedStatement.setObject(2,password);
    10. ResultSet resultSet=preparedStatement.executeQuery();
    11. User user=null;
    12. if(resultSet.next())
    13. {
    14. user=new User();
    15. String psw=resultSet.getString("password");
    16. user.setAccount(account);
    17. user.setPassword(psw);
    18. }
    19. DButils.close(resultSet,preparedStatement,connection);
    20. return user;
    21. }
    22. }

    前端代码需要注意,我们使用的是原生的servlet,前端传给后端的数据是JSON形式,后端无法识别,需要进一步对该数据进行处理才可以传给后端。 

     

     

  • 相关阅读:
    spingboot之devtools热部署IntelliJ IDEA 2022.2.3不生效问题,解决
    LINQ to SQL语句(12)之Delete和使用Attach
    SpringMVC访问路径设置
    java-php-python-基于ASP.NETMVC的苗木购销系统计算机毕业设计
    关于物联网你需要知道的一切
    java版微信小程序商城 免 费 搭 建 java版直播商城平台规划及常见的营销模式有哪些?电商源码/小程序/三级分销
    linux redis list 列表
    文生图大型实践:揭秘百度搜索AIGC绘画工具的背后故事!
    Spring Security 自定义用户信息端点与多种登录方式共存
    “参与 Debian 项目 20 年后,被降级的我选择退出”
  • 原文地址:https://blog.csdn.net/m0_71385141/article/details/133796283