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

为什么没有出现登录界面,代码没有报错

from tkinter import *
from tkinter import messagebox

class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)     #super()代表的是父类的定义,而不是父类的对象
        self.master=master
        self.pack()
        self.createWidget()
    def createWidget(self):
        '''创建登陆界面的组件'''
        self.label01=Label(self, text="用户名")
        self.label01.pack()

        #StringVar变量绑定到指点的组件.
        #StringVar变量的值发生变化,组件内容也变化;
        #组件内容发生变化,SringVar变量的值也发生变化
        v1=StringVar()
        self.entry01=Entry(self,textvariable=v1)
        self.entry01.pack()
        v1.set("admin")
        print(v1.get());print(self.entry01.get())



        #创建密码框
        self.label02 = Label(self, text="密码")
        self.label02.pack()


        v2 = StringVar()
        self.entry02 = Entry(self, textvariable=v2,show="*")
        self.entry02.pack()

        Button(self,text="登录",comman=self.login).pack()
    def login(self):
        username=self.entry01.get()
        pwd=self.entry02.get()
        print("去数据库比对用户名和密码")
        print("用户名:"+username)
        print("密码:" + pwd)
        if username=="gaoqi" and pwd=="123456":
             messagebox.showinfo("尚学堂学习系统","登陆成功!欢迎开始学习!")
        else:
              messagebox.showinfo("尚学堂学习系统","登陆失败!重新登录!")
if __name__=='main__':
    root=Tk()
    root.geometry("400x120+200+300")
    app=Application(master=root)
    root.mainloop()


Python全系列/第二阶段:Python 深入与提高/GUI编程(隐藏) 29252楼
JAVA 全系列/第二十一阶段:Spring Cloud微服务技术栈/Spring Cloud(旧) 29253楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 29254楼
Python全系列/第六阶段:数据库与AI协同技术实战/mysql介绍与环境安装 29255楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 29256楼
Python全系列/第二阶段:Python 深入与提高/游戏开发-坦克大战 29257楼
Python全系列/第十七阶段:数据分析-数学知识(旧)/补充数学知识 29260楼
JAVA 全系列/第八阶段:生产环境部署与协同开发/Git 29262楼

老师我这里出现了不能强制类型转换

package com.hao;


import cn.hao.Server;
import com.ha.servlet.Servlet;

import java.util.List;
import java.util.Map;

/**
 * @Author:@Author
 */
public class WebApp {   //App的意思就是应用程序
    private static ServletContext contxt;
    static {
        contxt=new ServletContext();
        //分别获取对应关系的Map集合
        Map<String,String> servlet=contxt.getServlet();
        Map<String,String> mapping=contxt.getMapping();
        //创建解析XML文件的对象
        WebDom4j we=new WebDom4j();
        we.parse(we.getDocument());//解析XML文件
        //获取解析后的XML文件之后的List集合
        List<Entity> entityList=we.getEntityList();
        List<Mapping> mappingList=we.getMappingList();
        //将List集合中的数据存储到Map集合当中
        for(Entity entity:entityList){
            servlet.put(entity.getName(),entity.getClazz());
        }
        //System.out.println(servlet);
        for(Mapping map:mappingList){
            //遍历url-pattern的集合
            List<String> urlPattern=map.getUrlPattern();
            for(String s:urlPattern){
                mapping.put(s,map.getName());
            }
        }
       // System.out.println(mapping);
    }
    public static Servlet getServlet(String url)  {
        if(url==null||url.trim().equals("")){
            return null;

        }

        try {
            //如果url正确
            //根据url的key获取servlet-name的值 /log=login
            String servletName=contxt.getMapping().get(url);
            //根据servletName得到对应的servlet-class
            String servletClass=contxt.getServlet().get(servletName);
            //使用反射创建Servlet对象


            Class clazz=Class.forName(servletClass);
            //调用无参构造方法创建Servlet对象
            Servlet servlet = (Servlet) clazz.newInstance();
            return  servlet;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }

        return  null;
    }

    public static void main(String[] args) {
        System.out.println(getServlet("/log"));

    }
}
image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 29265楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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