会员可以在此提问,百战未来老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 135021个问题

<%--
  Created by IntelliJ IDEA.
  User: Je'f'f
  Date: 2021/9/2
  Time: 14:33
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
    <script>
        function but(){
            var xhr = new XMLHttpRequest();
            xhr.open("get","single.do");
            xhr.send();
            xhr.onreadystatechange = function(){

                if(xhr.readyState == 4 && xhr.status == 200){
                    alert(xhr.responseText);
                    //通过javaScript的内置对象JSON中的parse函数将JSON格式的字符串对转换成javascript对象
                    var obj = JSON.parse(xhr.responseText);
                    alert(obj.userid+" "+obj.username);
                    document.getElementById("span").innerHTML=obj.userid+"<br/>"+obj.username;
                }
            }
        }
    </script>
</head>
<body>
<h3>JSON格式的单个响应</h3>
<hr>
<sapn id="span"> </sapn>
<input type="button" value="ok" onclick="but()"/>
</body>
</html>

jsp代码

package pojo;

public class Users {
    private int userid;
    private String username;

    public int getUserid() {
        return userid;
    }

    public void setUserid(int userid) {
        this.userid = userid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}

Users类

package com.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;
import pojo.Users;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/single.do")
public class SingleObjectServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        Users users = new Users();
        users.setUserid(1);
        users.setUsername("tutu");
        //使用jackson的API转化为JSON对象
        ObjectMapper objectMapper = new ObjectMapper();
        //将Users对象转换为JSON格式的字符对象
        String string = objectMapper.writeValueAsString(users);
        System.out.println(string);
        //设置相应类型为application/json
        resp.setContentType("application/json");
        PrintWriter pw = resp.getWriter();
        pw.print(string);
        pw.flush();
        pw.close();
    }
}
SingleObjectServlet

image.png

运行结果,点击OK无反应。请问是什么问题,找半天找不出来。

image.png

F12看了是这个

JAVA 全系列/第六阶段:JavaWeb开发/Ajax技术详解(旧) 721楼
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解(旧) 726楼
JAVA 全系列/第六阶段:JavaWeb开发/Ajax技术详解(旧) 728楼
JAVA 全系列/第六阶段:JavaWeb开发/JSP技术详解(旧) 729楼
JAVA 全系列/第六阶段:JavaWeb开发/JSP技术详解(旧) 734楼

为什么我的tomcat重启以后,自动登录的界面没有   不登录不好使   这句话

package com.bjsxt.web.filter;

import com.bjsxt.commons.Constants;
import com.bjsxt.pojo.Users;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebFilter(urlPatterns = {"*.do","*.jsp"})
public class UserLoginFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request=(HttpServletRequest) servletRequest;
        String uri = request.getRequestURI();
        if(uri.indexOf("login.jsp")!=-1 || uri.indexOf("login.do")!=-1 ){
            filterChain.doFilter(servletRequest, servletResponse);
        }else {
            HttpSession session=request.getSession();
            Users users  = (Users) session.getAttribute(Constants.USER_SESSION_KEY);
            if(users!=null){
                filterChain.doFilter(servletRequest, servletResponse);
            }else {
                request.setAttribute(Constants.REQUEST_MSG,"不登录不好使");
                request.getRequestDispatcher("login.jsp").forward(servletRequest, servletResponse);
            }
        }
    }

    @Override
    public void destroy() {

    }
}


JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 735楼

课程分类

百战未来微信公众号

百战未来微信小程序

©2014-2026百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637