报500错误

报500错误

相关截图:

https://img1.sycdn.imooc.com//climg/62c6b81b099d11b700000000.jpg

相关代码:

问题描述:尝试解决没有成功,不知道那里的的问题,


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-07-08 10:51:04

同学你好,从同学的截图中可以看到,在使用GET请求时发生了500的错误。

这个错误在浏览器中并不能很好的展示具体的信息,建议同学使用IDEA的控制台进行查看。

如果同学无法从控制台的信息中确定问题原因,建议同学复制完整的报错信息,这样老师才能准确的定位问题所在。

祝学习愉快~

  • 提问者 boom老猫 #1

    代码如下:

    index.html:

    <!DOCTYPE >
    <>
    <>
        <>
        <>OA</>
        <>
        <></>
        <></>
        <></>
        <>
            .{
                : (,,);
                : ;
                : ;
            }
            ,,,.{
                : ;
                : ;
                : %;
                : %;
            }
        </>
    </>
    <>
            <>
                <: % ;:>
                    <>
                        <>
                            <>
                                <: ;: >OA</>
                            </>
                            <: >
                                <>
                                    <: ;: >
                                        <: >{{employee.name}}[{{employee.title}}]</>
                                    </>
                                    <>
                                        <>
                                            <></>
                                        </>
                                    </>
                                </>
                            </>
                        </>
                    </>
                    <>
                        <: %;: (,,)>
                            <>
                                <>
                                    <>
                                        <><></>{{n.node.nodeName}}</>
                                        <>
                                            <>{{func.nodeName}}</>
                                        </>
                                    </>
                                </>
                            </>
                        </>
                        <>
                            <: %;: %;: ></>
                        </>
                    </>
                </>
            </>
            <>
                ={
                    (){
                        {
                            :[],
                            :{}
                        }
                    }
                    ,:{
                        (url){
                            .().=url;
                        }
                        ,(){
                           .();
                           ..=;
                        }
                    }
                    ,(){
                        =;
                        =.eid;
                        =.uid;
                        .(+++)
                        .((response){
                            =response.;
                            ...((item){
                                ..(item);
                            })
                            .(.);
                            .= ..;
                        })
                    }
                };
                = .(());
                .(ElementPlus);
                .();
            </>
    </>
    </>
    
    package com.imooc.oa.controller;
    
    import com.imooc.oa.entity.Employee;
    import com.imooc.oa.entity.Node;
    import com.imooc.oa.service.EmployeeService;
    import com.imooc.oa.service.RbacService;
    import com.imooc.oa.utils.ResponseUtils;
    
    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.util.ArrayList;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    
    @WebServlet("/api/user_info")
    public class UserInfoServlet extends HttpServlet {
        private RbacService rbacService = new RbacService();
        private EmployeeService employeeService = new EmployeeService();
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String uid = request.getParameter("uid");
            String eid = request.getParameter("eid");
            List<Node> nodes = rbacService.selectNodeByUserId(Long.parseLong(uid));
            List<Map> treeList = new ArrayList<>();
            Map module = null;
            for(Node node : nodes){
                if(node.getNodeType() == 1){
                    module = new LinkedHashMap();
                    module.put("node", node);
                    module.put("children", new ArrayList());
                    treeList.add(module);
                }else if(node.getNodeType() == 2){
                    List children = (List)module.get("children");
                    children.add(node);
                }
            }
            Employee employee = employeeService.selectById(Long.parseLong(eid));
            String json = new ResponseUtils().put("nodeList", treeList).put("employee",employee).toJsonString();
            response.setContentType("application/json;charset=utf-8");
            response.getWriter().println(json);
        }
    
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        }
    }
    
    
    package com.imooc.oa.service;
    
    import com.imooc.oa.entity.Employee;
    import com.imooc.oa.mapper.EmployeeMapper;
    import com.imooc.oa.utils.MybatisUtils;
    
    public class EmployeeService {
        public Employee selectById(Long employeeId){
            Employee employee=(Employee) MybatisUtils.executeQuery(sqlSession -> {
                EmployeeMapper mapper=sqlSession.getMapper(EmployeeMapper.class);
                return mapper.selectById(employeeId);
            });
            return employee;
        }
    }



    2022-07-08 22:17:45
  • 提问者 boom老猫 #2
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>慕课网办公OA系统</title>
        <!--引入样式-->
        <link rel="stylesheet" type="text/css" href="assets/element-plus/index.css">
        <!--引入组件库-->
        <script src="/assets/vue/vue.global.js"></script>
        <script src="/assets/element-plus/index.full.js"></script>
        <script src="/assets/axios/axios.js"></script>
        <style>
            .el-header{
                background-color: rgb(238,241,246);
                color: #333;
                line-height: 60px;
            }
            html,body,#app,.el-container{
                padding: 0px;
                margin: 0px;
                height: 100%;
                max-height: 100%;
            }
        </style>
    </head>
    <body>
            <div id="app">
                <el-container style="height: 100% ;border:1px solid #eee">
                    <el-header>
                        <el-row>
                            <el-col :span="12">
                                <span style="font-size: 18px;color: darkcyan">慕课网办公OA系统</span>
                            </el-col>
                            <el-col :span="12" style="text-align: right">
                                <el-dropdown>
                                    <i class="el-icon-s-check" style="font-size: 18px;margin-right: 15px">
                                        <span style="margin-right: 15px">{{employee.name}}[{{employee.title}}]</span>
                                    </i>
                                    <template #dropdown>
                                        <el-dropdown-menu>
                                            <el-dropdown-item v-on:click="logout">注销</el-dropdown-item>
                                        </el-dropdown-menu>
                                    </template>
                                </el-dropdown>
                            </el-col>
                        </el-row>
                    </el-header>
                    <el-container>
                        <el-aside width="200px" style="max-height: 100%;background-color: rgb(238,241,246)">
                            <!--默认开展第一个模块功能-->
                            <el-menu :default-openeds="['0']">
                                <template v-for="(n,idx) in nodeList">
                                    <el-submenu :index="idx.toString()">
                                        <template #title><i class="el-icon-s-tools"></i>{{n.node.nodeName}}</template>
                                        <template v-for="func in n.children">
                                            <el-menu-item :index="func.nodeId.toString()" v-on:click="showPage(func.url)">{{func.nodeName}}</el-menu-item>
                                        </template>
                                    </el-submenu>
                                </template>
                            </el-menu>
                        </el-aside>
                        <el-main>
                            <iframe id="main" name="main" src="http://www.baidu.com" style="width: 100%;height: 95%;border: 0px"></iframe>
                        </el-main>
                    </el-container>
                </el-container>
            </div>
            <script>
                const Main={
                    data(){
                        return{
                            nodeList:[],
                            employee:{}
                        }
                    }
                    ,methods:{
                        showPage(url){
                            document.getElementById("main").src=url;
                        }
                        ,logout(){
                           sessionStorage.clear();
                           window.location.href="/login.html";
                        }
                    }
                    ,mounted(){
                        const objApp=this;
                        const eid=sessionStorage.eid;
                        const uid=sessionStorage.uid;
                        axios.get("/api/user_info?uid="+uid+"&eid="+eid)
                        .then(function (response){
                            const json=response.data;
                            json.data.nodeList.forEach(function (item){
                                objApp.nodeList.push(item);
                            })
                            console.info(objApp.nodeList);
                            objApp.employee = json.data.employee;
                        })
                    }
                };
                const app = Vue.createApp((Main));
                app.use(ElementPlus);
                app.mount("#app");
            </script>
    </body>
    </html>


    2022-07-08 22:21:24
  • 好帮手慕小蓝 回复 提问者 boom老猫 #3

    同学你好,经过测试,同学的代码本身是没有问题的。

    出现这个问题的原因是:百度的链接做过安全处理,不再允许通过iframe进行引用。

    代码中这里是为了演示iframe标签的使用,同学将src属性的值更换为"http://www.imooc.com"即可。

    祝学习愉快~

    2022-07-09 11:33:04
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师