• 开发故障随记


    1.myeclipse开发时jsp页面乱码

    一开始jsp的默认文件中是这样子的

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

    这时不管是从bean取数据还是out.print("中文")都会乱码

     在jsp文件开始中输入

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

    2.在myeclipse里面找不到servlet,配置web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name></display-name>

    <servlet>
    <servlet-name>AdminServlet</servlet-name>
    <servlet-class>njust.parking.servlet.AdminServlet</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>AdminServlet</servlet-name>
    <url-pattern>/AdminServlet</url-pattern>
    </servlet-mapping>


    <welcome-file-list>
    <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    3.使用json传数据,前后台的格式必须一致

    前台ajax代码

    <script type="text/javascript">
    $(function(){
    document.onkeydown=function(event){
    var e = event || window.event || arguments.callee.caller.arguments[0]; 
    if(e && e.keyCode==13){ 
    login();
    }
    }; 
    });
    function login(){
    $.ajax({
    url: "AdminServlet",
    type: "post",
    data: {
    username: $("#account").val(),
    password: $("#password").val()
    },
    dataType: "json",
    success: function(data) {
    if (data["success"]) {
    document.location = "index.html";
    } else 
    alert(data["meg"]);
    }
    });
    }
    </script>
    

      

    后台java代码

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws IOException, ServletException { 
    
    String userid = request.getParameter("username");
    String pwd = request.getParameter("password");
    
    JSONObject json = new JSONObject(); 
    
    AdminDAO adminDAO = new AdminDAO();
    List<Admin> userList = adminDAO.findByProperty("usrid", userid);
    
    if(userList.get(0).getPassword().equals(pwd)){
    json.put("success", true);
    HttpSession session = request.getSession();
    session.setAttribute("usrid", userid);
    } else {
    json.put("success", false);
    json.put("meg", "sorry");
    }
    
    PrintWriter pw = response.getWriter(); 
    pw.print(json.toString()); 
    pw.close(); 
    }
    

     

    4.JSONObject和JSONArray的区别,以及嵌套模式下如何在前台解析数据

    jsonobject和jsonarray都需要引入包,并且new 一个对象后才能使用

    但是jsonobject是put(key,value)即key value对应的格式,jsonarray是使用add(member)的方式

    在前台解析的时候,采用的方式是

    success:function(data){
    $.each(data.jsonArray,function(index){
    $.each(data.jsonArray[index],function(key,value){
    alert(key+":"+value)
    });
    });

    }

     5.中文显示乱码

    首先要看数据库以及前后台的编码格式是否统一。以UTF8为例:

    (1).设置数据库的数据编码类型为UTF8(可以借用navicat等图形化界面进行操作)。

    (2).设置网页

    <head>
    <meta charset="utf-8">
    <title>后台管理界面</title>
    </head>

    (3).设置servlet返回值的编码格式

    response.setContentType("text/html;charset=utf-8");
    

      

  • 相关阅读:
    Leetcode 141. 环形链表
    Leetcode 53. 最大子数组和
    Golang的常用常量
    Leetcode 21. 合并两个有序链表
    Leetcode 206. 反转链表
    Leetcode 70. 爬楼梯
    Leetcode 20. 有效的括号
    Leetcode 13. 罗马数字转整数
    Leetcode 234. 回文链表
    Linux – Memory Management insights
  • 原文地址:https://www.cnblogs.com/wxwx/p/5461349.html
Copyright © 2020-2023  润新知