编写的java登录页面一运行就报这样的错误

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Servlet execution threw an exception

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

java.lang.NoClassDefFoundError: com/itheima/Utils/DruidUtils
com.itheima.Dao.loginDao.findUserByNameAndPwd(loginDao.java:13)
com.itheima.service.LoginService.login(LoginService.java:10)
com.itheima.web.servlet.LoginServlet.doPost(LoginServlet.java:39)
com.itheima.web.servlet.LoginServlet.doGet(LoginServlet.java:55)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause

java.lang.ClassNotFoundException: com.itheima.Utils.DruidUtils
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1291)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
com.itheima.Dao.loginDao.findUserByNameAndPwd(loginDao.java:13)
com.itheima.service.LoginService.login(LoginService.java:10)
com.itheima.web.servlet.LoginServlet.doPost(LoginServlet.java:39)
com.itheima.web.servlet.LoginServlet.doGet(LoginServlet.java:55)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.

运行报错找不到原因

qq_38270796
D狂风R 如果所有的类都有的话你肯定是哪个地方该有的注解少了
大约一年之前 回复

3个回答

java.lang.NoClassDefFoundError: com/itheima/Utils/DruidUtils
com.itheima.Dao.loginDao.findUserByNameAndPwd(loginDao.java:13)
com.itheima.service.LoginService.login(LoginService.java:10)
com.itheima.web.servlet.LoginServlet.doPost(LoginServlet.java:39)
com.itheima.web.servlet.LoginServlet.doGet(LoginServlet.java:55)

认真阅读这段文字,以及检查它对应代码的位置

com.itheima.Utils.DruidUtils这个jar包缺失了

看样子是因为找不到类引起的异常图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在编写jsp登录页面,将页面输入的用户名和密码进行与sql数据库验证,总是跳转到错误页面,怎么办?

在编写jsp登录页面,将页面输入的用户名和密码进行与sql数据库验证,正确跳转到success.jsp,否则跳转到error.jsp页面,但是写完后不管输入正确的用户名还是错误的,都是跳转到错误页面,下面是console页面的打印信息,求大神帮我看看哪一步出现了错误,谢谢啦 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.weiye.util.ConnectionFactory.makeConnection(ConnectionFactory.java:45) at com.weiye.service.CheckUserService.check(CheckUserService.java:19) at com.weiye.servlet.CheckServlet.doPost(CheckServlet.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.weiye.filter.FilterTwo.doFilter(FilterTwo.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.weiye.filter.FilterOne.doFilter(FilterOne.java:45) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1083) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:640) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) java.lang.NullPointerException at com.weiye.service.CheckUserService.check(CheckUserService.java:20) at com.weiye.servlet.CheckServlet.doPost(CheckServlet.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.weiye.filter.FilterTwo.doFilter(FilterTwo.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.weiye.filter.FilterOne.doFilter(FilterOne.java:45) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1083) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:640) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) java.lang.NullPointerException at com.weiye.service.CheckUserService.check(CheckUserService.java:32) at com.weiye.servlet.CheckServlet.doPost(CheckServlet.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.Chain.doFilter(ApplicationFilterChain.java:208)

jsp页面有错误,如何显示详细错误信息?

就一个页面,代码非常的简单。 ``` <%@ page language="java" pageEncoding="UTF-8" %> <%@page import="java.sql.DriverManager" %> <%@page import="java.sql.Connection" %> <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> <title> test</title></head> <body> <% try{ Class.forName("com.mysql.jdbc.Driver");//注册驱动 String url="jdbc:mysql://127.0.0.1:3306/javaweb"; String username="javaweb"; String password="javaweb"; Connection conn=DriverManager.getConnection(url,username,password); if(conn!=null){ out.println("数据库连接成功!!!"); }else{ System.out.println("数据库连接失败"); } }catch(ClassNotFoundException e){ e.printStackTrace(); } %> </body> </html> ``` 运行上面的代码是没问题的。但是当我把password 修改成为错误的,如修改为javaweb1 则页面提示如下 ![图片说明](https://img-ask.csdn.net/upload/201810/07/1538903423_315370.png) 如何调整为可以显示具体错误的页面?也就是能在页面上抛出异常?

在eclipse中运行HelloServlet.java,出现404

tomcat显示已经启动了,但为什么出现404,http://localhost:8080页面也打不开, 错误信息为 七月 22, 2013 9:32:57 上午 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;D:\app\Administrator\product\11.1.0\db_1\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;D:\Program Files\Java\jdk1.7.0_01\bin;;E:\eclipse;;. 七月 22, 2013 9:32:57 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Test123' did not find a matching property. 七月 22, 2013 9:32:57 上午 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] 七月 22, 2013 9:32:57 上午 org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 七月 22, 2013 9:32:57 上午 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 989 ms 七月 22, 2013 9:32:57 上午 org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina 七月 22, 2013 9:32:57 上午 org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 七月 22, 2013 9:32:58 上午 org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [109] milliseconds. 七月 22, 2013 9:32:58 上午 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] 七月 22, 2013 9:32:58 上午 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] 七月 22, 2013 9:32:58 上午 org.apache.catalina.startup.Catalina start INFO: Server startup in 724 ms 七月 22, 2013 9:33:36 上午 org.apache.catalina.core.StandardServer await INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance. 七月 22, 2013 9:33:36 上午 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["http-bio-8080"] 七月 22, 2013 9:33:36 上午 org.apache.coyote.AbstractProtocol pause INFO: Pausing ProtocolHandler ["ajp-bio-8009"] 七月 22, 2013 9:33:36 上午 org.apache.catalina.core.StandardService stopInternal INFO: Stopping service Catalina 七月 22, 2013 9:33:37 上午 org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-bio-8080"] 七月 22, 2013 9:33:37 上午 org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["ajp-bio-8009"] 七月 22, 2013 9:33:37 上午 org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["http-bio-8080"] 七月 22, 2013 9:33:37 上午 org.apache.coyote.AbstractProtocol destroy INFO: Destroying ProtocolHandler ["ajp-bio-8009"]

启动项目报404错误,到底是为什么啊?

为什么我的项目一在浏览器中启动就报404错误呢?我在web.xml里指定了欢迎页面,也在项目中编写好了,可一启动项目就报404错误,该配的包我也加进去了,到底是为什么啊?

jsp页面出错,eclipse提示最后一个大括号这里报红叉。

<% ArrayList<Idr_request_type> request_type_list = (ArrayList)request.getAttribute("request_type_list"); if(request_type_list.size() != 0){ for(int i = 0; i < request_type_list.size(); i++){ Idr_request_type requestType = request_type_list.get(i); if(rs(0) = req_REQTYPE) %> <option value= "<%=requestType.getRequest_Type()%>" selected><%=requestType.getRequest_Type_Desc() %> </option> <% else %> <option value= "<%=requestType.getRequest_Type()%>"><%=requestType.getRequest_Type_Desc() %> </option> <% } } %>

eclipse中自己写的jsp无法跳转到自己写错误页面

我自己写一个jsp练习,就是指定我的404和500 错误跳转到我写的404和500页面, XML中配置了,但是问题是在eclipse中运行时,并没有达到我预想,跳转到的还是默认的404和500错误页面。 但是我把在eclipse运行的路径复制到其他浏览器又能跳转到我写的404和500页面,是什么原因呢

Android studio点击登录注册时程序运行停止为什么 Activity已注册过

05-12 16:22:06.407 19855-19855/com.example.kira.mynewnote E/SQLiteLog: (1) no such column: password 05-12 16:22:06.407 19855-19855/com.example.kira.mynewnote D/AndroidRuntime: Shutting down VM 05-12 16:22:06.408 19855-19855/com.example.kira.mynewnote E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.kira.mynewnote, PID: 19855 android.database.sqlite.SQLiteException: no such column: password (code 1): , while compiling: select * from User where username=? and password=? at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:963) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:517) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1346) at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1285) at com.example.kira.mynewnote.LoginActivity$1.login(LoginActivity.java:65) at com.example.kira.mynewnote.LoginActivity$1.onClick(LoginActivity.java:53) at android.view.View.performClick(View.java:4848) at android.view.View$PerformClick.run(View.java:20262) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5714) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) logcat错误红色的部分节选 求大神帮忙解答

jsp写的java代码报错,实在看不出原因,望各位大牛多多指教

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="com.bjsxt.login.User" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> <% String name = request.getParameter("uname").trim(); String pwd = request.getParameter("password").trim(); if("xiaogao".equals(name) && "123".equals(pwd)){ User user = new User(name,pwd); session.setAttribute("user12", user); pageContext.forward("login_ok.jsp"); return; }else{ request.setAttribute("loginError", "用户名或者密码错误"); pageContext.forward("login.jsp"); return; } %> </body> </html> 报错信息如下: An error occurred at line: 34 in the jsp file: /handleLogin.jsp Unreachable code 31: pageContext.forward("login.jsp"); 32: return; 33: } 34: %> 35: 36: </body> 37: </html> Stacktrace:] with root cause org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 34 in the jsp file: /handleLogin.jsp Unreachable code 31: pageContext.forward("login.jsp"); 32: return; 33: } 34: %> 35: 36: </body> 37: </html> Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

java中定义了一个静态内部类,在主函数中访问此内部类中静态函数时只能通过建立对象调用而不是类名调用

图片简略,图片的说明解释了图片大意 [定义的外部类](https://img-ask.csdn.net/upload/201511/23/1448274562_852105.png) [外部类中的内部类,包括的静态函数](https://img-ask.csdn.net/upload/201511/23/1448274616_151040.png) [用类名调用方式调用内部类中静态函数](https://img-ask.csdn.net/upload/201511/23/1448274575_485375.png) [报错提示如图](https://img-ask.csdn.net/upload/201511/23/1448274625_729595.png) [用调用非静态函数方法尝试](https://img-ask.csdn.net/upload/201511/23/1448274657_999874.png) [编译运行成功](https://img-ask.csdn.net/upload/201511/23/1448274790_26884.png) 如图,为什么定义了一个静态内部类,在主函数中访问此内部类中静态函数时只能通过建立对象调用而不是类名调用,谁能帮忙解答疑惑?

记事本程序的新建功能

给“新建”这个菜单项添加了如下监听器代码,可是运行时会出现错误。 newfile.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { try { boolean exitstext=textArea.getText().equals(""); if(!exitstext) { JOptionPane.showConfirmDialog(frame,"Do you want to save the contents?"); JOptionPane getuserchoose=new JOptionPane(); int userchoose=((Integer)getuserchoose.getValue()).intValue();//this sentence is wrong.But what's wrong? if(userchoose==JOptionPane.OK_OPTION) { save(); textArea.setText(""); } else if(userchoose==JOptionPane.NO_OPTION) { textArea.setText(""); } } } catch(HeadlessException headlessexception) { System.out.println(headlessexception.getMessage()); } } } ); 其中save方法的代码为: public void save() { try { FileDialog savefiledialog=new FileDialog(frame,"save file",FileDialog.SAVE); savefiledialog.setVisible(true); String savefiledictory=savefiledialog.getDirectory(); String savefilename=savefiledialog.getFile()+".txt"; File savefile=new File(savefiledictory,savefilename); FileWriter filewrite=new FileWriter(savefile); BufferedWriter filebufferwriter=new BufferedWriter(filewrite); filebufferwriter.write(textArea.getText(), 0,textArea.getText().length()); filebufferwriter.close(); filewrite.close(); } catch(IOException ioexception) { ioexception.printStackTrace(); } } 运行时一点击"是否保存内容"对话框里面的”是“就会出现下面的代码, Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer at NewNoteBook.NewNoteBook$2.actionPerformed(NewNoteBook.java:206) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6516) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6281) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4872) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2719) at java.awt.Component.dispatchEvent(Component.java:4698) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:740) at java.awt.EventQueue.access$300(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:699) at java.awt.EventQueue$3.run(EventQueue.java:697) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:713) at java.awt.EventQueue$4.run(EventQueue.java:711) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:710) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

JAVA编写俄罗斯方块问题,键盘监听事件不能响应,请大神指点!!!

本人开发环境,MyEclipse8.5,安装JDK版本为1.7:键盘监听器不能相应。 但如果使用MyEclipse自带的JDK的话,键盘监听事件会有响应,但是需要重新加载JDK,请求大神指点原因!!!程序入口在类Tetris中,键盘监听事件也在此类中 #类Cell ``` package com.MyTetris; import java.awt.image.BufferedImage; public class Cell { private int row; private int col; private BufferedImage image; // 贴图 /** * 构造器 * * @param row * @param col * @param image */ public Cell(int row, int col, BufferedImage image) { super(); // 调用Object构造器 this.row = row; this.col = col; this.image = image; } public int getRow() { return row; } public void setRow(int row) { this.row = row; } public int getCol() { return col; } public void setCol(int col) { this.col = col; } public BufferedImage getImage() { return image; } public void setImage(BufferedImage image) { this.image = image; } /** * 重写toString方法,方便调试 */ public String toString() { return row + "," + col; } public void moveRigth() { col++; } public void moveLeft() { col--; } public void softDrop() { row++; } } ``` #类Tetromino ``` package com.MyTetris; import java.util.Arrays; import java.util.Random; public abstract class Tetromino extends Object { protected Cell[] cells = new Cell[4]; protected Stage[] stages; // 不同的方块旋转所用的数据不一样 protected int index = 10000; // 取第几组数据旋转,index指下标 /** * 用于存储方块旋转时的数据 * * @author Administrator * */ protected class Stage { int row0, col0; int row1, col1; int row2, col2; int row3, col3; public Stage(int row0, int col0, int row1, int col1, int row2, int col2, int row3, int col3) { super(); this.row0 = row0; this.col0 = col0; this.row1 = row1; this.col1 = col1; this.row2 = row2; this.col2 = col2; this.row3 = row3; this.col3 = col3; } } /** * 随机生成7种方块之一,是公共方法 。 工厂方法:用于生产(创建)一个对象的方法,封装了复杂的创建过程,方便使用 用在创建对象过程复杂的情况 */ public static Tetromino randomOne() { Random random = new Random(); int type = random.nextInt(7); // 随机生成[0,7) switch (type) { case 0: return new T(); case 1: return new I(); case 2: return new S(); case 3: return new O(); case 4: return new J(); case 5: return new L(); case 6: return new Z(); } return null; // 必须写,不然编译时报错:编译时不看对象,只看引用类型 } /** * 测试方法,用来测试随机生成方法 */ public String toString() { return Arrays.toString(cells); } /** * 当前对象的4格方块整体向左移动 */ public void moveLeft() { cells[0].moveLeft(); cells[1].moveLeft(); cells[2].moveLeft(); cells[3].moveLeft(); } public void moveRigth() { for (int i = 0; i < cells.length; i++) { cells[i].moveRigth(); } } public void softDrop() { this.cells[0].softDrop(); this.cells[1].softDrop(); this.cells[2].softDrop(); this.cells[3].softDrop(); } /** * 向右旋转算法 */ public void rotateRigth() { // 1、计算index++ // 2、获取Sn(4组数据0,1,2,3) // 3、获取当前轴 // 4、格子0是轴,不变 // 5、格子1的行列变成:轴+Sn[1] // 6、格子2的行列变成:轴+Sn[2] // 7、格子3的行列变成:轴+Sn[3] index++; Stage s = stages[index % stages.length]; Cell o = cells[0]; int row = o.getRow(); int col = o.getCol(); cells[1].setRow(row + s.row1); cells[1].setCol(col + s.col1); cells[2].setRow(row + s.row2); cells[2].setCol(col + s.col2); cells[3].setRow(row + s.row3); cells[3].setCol(col + s.col3); } public void rotateLeft() { index--; Stage s = stages[index % stages.length]; Cell o = cells[0]; int row = o.getRow(); int col = o.getCol(); cells[1].setRow(row + s.row1); cells[1].setCol(col + s.col1); cells[2].setRow(row + s.row2); cells[2].setCol(col + s.col2); cells[3].setRow(row + s.row3); cells[3].setCol(col + s.col3); } } class T extends Tetromino { public T() { /** * 格子的出场位置 */ cells[0] = new Cell(0, 4, Tetris.T); cells[1] = new Cell(0, 3, Tetris.T); cells[2] = new Cell(0, 5, Tetris.T); cells[3] = new Cell(1, 4, Tetris.T); stages = new Stage[4]; stages[0] = new Stage(0, 0, 0, -1, 0, 1, 1, 0); // s0 stages[1] = new Stage(0, 0, -1, 0, 1, 0, 0, -1); // s1 stages[2] = new Stage(0, 0, 0, 1, 0, -1, -1, 0); // s2 stages[3] = new Stage(0, 0, 1, 0, -1, 0, 0, 1); // s3 } } class I extends Tetromino { public I() { cells[0] = new Cell(0, 4, Tetris.I); cells[1] = new Cell(0, 3, Tetris.I); cells[2] = new Cell(0, 5, Tetris.I); cells[3] = new Cell(0, 6, Tetris.I); stages = new Stage[2]; stages[0] = new Stage(0, 0, 0, -1, 0, 1, 0, 2); stages[1] = new Stage(0, 0, -1, 0, 1, 0, 2, 0); } } class S extends Tetromino { public S() { cells[0] = new Cell(0, 4, Tetris.S); cells[1] = new Cell(0, 5, Tetris.S); cells[2] = new Cell(1, 3, Tetris.S); cells[3] = new Cell(1, 4, Tetris.S); stages = new Stage[2]; stages[0] = new Stage(0, 0, 0, 1, 1, -1, 1, 0); stages[1] = new Stage(0, 0, 1, 0, -1, -1, 0, -1); } } class J extends Tetromino { public J() { cells[0] = new Cell(0, 4, Tetris.J); cells[1] = new Cell(0, 3, Tetris.J); cells[2] = new Cell(0, 5, Tetris.J); cells[3] = new Cell(1, 5, Tetris.J); stages = new Stage[4]; stages[0] = new Stage(0, 0, 0, -1, 0, 1, 1, 1); stages[1] = new Stage(0, 0, -1, 0, 1, 0, 1, -1); stages[2] = new Stage(0, 0, 0, 1, 0, -1, -1, -1); stages[3] = new Stage(00, 0, 1, 0, -1, 0, -1, 1); } } class L extends Tetromino { public L() { cells[0] = new Cell(0, 4, Tetris.L); cells[1] = new Cell(0, 3, Tetris.L); cells[2] = new Cell(0, 5, Tetris.L); cells[3] = new Cell(1, 3, Tetris.L); stages = new Stage[4]; stages[0] = new Stage(0, 0, 0, -1, 0, 1, -1, 1); stages[1] = new Stage(0, 0, -1, 0, 1, 0, 1, 1); stages[2] = new Stage(0, 0, 0, 1, 0, -1, 1, -1); stages[3] = new Stage(0, 0, 1, 0, -1, 0, -1, -1); } } class O extends Tetromino { public O() { cells[0] = new Cell(0, 4, Tetris.O); cells[1] = new Cell(0, 5, Tetris.O); cells[2] = new Cell(1, 4, Tetris.O); cells[3] = new Cell(1, 5, Tetris.O); stages = new Stage[2]; stages[0] = new Stage(0, 0, 0, 1, 1, 0, 1, 1); stages[1] = new Stage(0, 0, 0, 1, 1, 0, 1, 1); } } class Z extends Tetromino { public Z() { cells[0] = new Cell(1, 4, Tetris.Z); cells[1] = new Cell(0, 3, Tetris.Z); cells[2] = new Cell(0, 4, Tetris.Z); cells[3] = new Cell(1, 5, Tetris.Z); stages = new Stage[2]; stages[0] = new Stage(0, 0, -1, -1, -1, 0, 0, 1); stages[1] = new Stage(0, 0, -1, 1, 0, 1, 1, 0); } } ``` #类Tetris ``` package com.MyTetris; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.image.BufferedImage; import java.util.Arrays; import java.util.Timer; import java.util.TimerTask; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class Tetris extends JPanel { public static final int ROWS = 20; public static final int COLS = 10; /** 墙 */ private Cell[][] wall = new Cell[ROWS][COLS]; /** 正在下落的方块 */ private Tetromino tetromino; /** 下一个进场的方块 */ private Tetromino nextOne; /** 消失的行数 */ private int lines; /** 得分 */ private int score; /** 定时器 */ private Timer timer; /** 得分表,对应销毁行数得分 */ private int[] souseTable = new int[] { 0, 10, 100, 1000, 10000 }; /** * 在Tetris中添加背景图片引用 */ private static BufferedImage backGround; private static BufferedImage gameOver; public static BufferedImage T; public static BufferedImage I; public static BufferedImage S; public static BufferedImage J; public static BufferedImage L; public static BufferedImage Z; public static BufferedImage O; // 静态代码块 static { try { // 图片加载,注意:Tetris类必须与tetris.png(图片)在一个包中,图片名字不能错 backGround = ImageIO.read(Tetris.class.getResource("tetris.png")); gameOver = ImageIO.read(Tetris.class.getResource("game-over.png")); T = ImageIO.read(Tetris.class.getResource("T.png")); I = ImageIO.read(Tetris.class.getResource("I.png")); S = ImageIO.read(Tetris.class.getResource("S.png")); J = ImageIO.read(Tetris.class.getResource("J.png")); L = ImageIO.read(Tetris.class.getResource("L.png")); O = ImageIO.read(Tetris.class.getResource("O.png")); Z = ImageIO.read(Tetris.class.getResource("Z.png")); } catch (Exception e) { e.printStackTrace(); } } /** * 重写paint方法 */ @Override public void paint(Graphics g) { // background:图片对象;0, 0:图片位置,与画板顶角位置相同,图片有多大,展示多大 // 绘制图片背景 g.drawImage(backGround, 0, 0, null); g.translate(15, 15); // 整体向下漂移 paintWall(g); // 画墙 paintTetromino(g); // 画正在下落的格子 paintNextOne(g); // 画下一个出场的格子 paintScore(g); } /** * 画分数 * * @param g */ public void paintScore(Graphics g) { int x = 294; int y = 160; // 设置分数和销毁行数的字体颜色 g.setColor(new Color(0xD667799)); Font font = new Font(Font.MONOSPACED, Font.BOLD, 28); g.setFont(font); g.drawString("SCORE:" + score, x, y); y += 56; g.drawString("LINES:" + lines, x, y); } /** * 封装绘制正在下落的格子的算法 */ public void paintTetromino(Graphics g) { if (tetromino == null) { return; } Cell[] cells = tetromino.cells; for (int i = 0; i < cells.length; i++) { // cells指下落的所有格子 // 将正在下落的某一个格子的引用赋值给cell Cell cell = cells[i]; int x = cell.getCol() * CELL_SIZE; int y = cell.getRow() * CELL_SIZE; g.drawImage(cell.getImage(), x, y, null); } } /** * 绘制下一个要出场的格子的算法 */ public void paintNextOne(Graphics g) { if (nextOne == null) { return; } Cell[] cells = nextOne.cells; for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int x = (cell.getCol() + 10) * CELL_SIZE; int y = (cell.getRow() + 1) * CELL_SIZE; g.drawImage(cell.getImage(), x, y, null); } } /** * 封装了绘制墙的算法 */ private static final int CELL_SIZE = 26; private void paintWall(Graphics g) { for (int row = 0; row < wall.length; row++) { for (int col = 0; col < wall[row].length; col++) { Cell cell = wall[row][col]; int x = col * CELL_SIZE; int y = row * CELL_SIZE; if (cell == null) { g.drawRect(x, y, CELL_SIZE, CELL_SIZE); } else { g.drawImage(cell.getImage(), x, y, null); } } } } /** * @param args */ public static void main(String[] args) { System.out.println("1111"); JFrame frame = new JFrame("Tetris"); Tetris tetris = new Tetris(); // Tetris继承了JPanel,所以Tetris就是面板 frame.add(tetris); frame.setSize(541, 588); frame.setLocationRelativeTo(null); /** * 设置默认关闭操作 operation操作 */ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); // 尽快调用paint()方法 tetris.action(); } /** * 添加软件启动(action)方法 */ public void action() { // wall[1][8] = new Cell(0, 0, T); // wall[8][2] = new Cell(0, 0, J); // Tetromino引用了randomOne创建的对象 tetromino = Tetromino.randomOne(); nextOne = Tetromino.randomOne(); this.repaint(); // 重新绘制界面,尽快自动自动调用paint()方法 KeyListener l = new KeyAdapter() { public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); switch (key) { case KeyEvent.VK_RIGHT: // tetromino.moveRigth(); System.out.println("按下->键"); Tetris.this.moveRigthAction(); break; case KeyEvent.VK_LEFT: // tetromino.moveLeft(); moveLeftAction(); break; case KeyEvent.VK_DOWN: // tetromino.softDrop(); softDropAction(); break; case KeyEvent.VK_SPACE: hardDropAction(); break; case KeyEvent.VK_UP: // tetromino.rotateRigth(); rotateRigthAction(); } repaint(); } }; this.addKeyListener(l); this.setFocusable(true); // 添加定时任务,让方块定时下落 timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { softDropAction(); repaint(); } }; timer.schedule(task, 1000, 1000); } /** * 变形方法 */ public void rotateRigthAction() { tetromino.rotateRigth(); if (outOfBounds() || coincide()) { tetromino.rotateLeft(); } } /** * 正在下落的4格方块右移 */ public void moveRigthAction() { // 正在下落的方块右移 tetromino.moveRigth(); // 判断是否出界;coincide:重合;检查4格方块是否与墙上方块是否重合 if (outOfBounds() || coincide()) { // 如果出界,立刻左移 tetromino.moveLeft(); } } /** * 正在下落的4格方块左移 */ public void moveLeftAction() { tetromino.moveLeft(); if (outOfBounds() || coincide()) { tetromino.moveRigth(); } } /** * 检查正在下落的格子是否出界 * * @return */ public boolean outOfBounds() { // 正在下落的4个格子中任意一个格子出界,就是出界 Cell[] cells = tetromino.cells; for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int row = cell.getRow(); int col = cell.getCol(); if (row < 0 || row >= ROWS || col < 0 || col >= COLS) { return true; } } return false; } /** * 判断格子是否重合 * * @return */ public boolean coincide() { Cell[] cells = tetromino.cells; for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int row = cell.getRow(); int col = cell.getCol(); if (wall[row][col] != null) { return true; } } return false; } /** * 下落方法,直接下落到底部,并且进入到墙内 */ public void hardDropAction() { while (canDrop()) { tetromino.softDrop(); } landIntoWall(); int lines = destroyLines(); this.lines += lines; this.score += souseTable[lines]; if (!isGameOver()) { tetromino = nextOne; nextOne = tetromino.randomOne(); } } /** * 下落方法,一格一格的下落 */ public void softDropAction() { // 1、如果4格方块能下落,就下落 // 2、如果不能下落,就着陆到墙里面 // 3、检查行是否满,销毁已经慢的行 // 4、检查游戏是否结束,如果没有结束,就产生下一个方块 if (canDrop()) { tetromino.softDrop(); } else { this.landIntoWall(); int lines = destroyLines(); // 计算销毁的行数 this.lines = this.lines + lines; // 计算得分 this.score = this.score + souseTable[lines]; if (!isGameOver()) { tetromino = nextOne; nextOne = tetromino.randomOne(); } } } /** * 检查方块是否能够下落 */ private boolean canDrop() { // 1、4格方块的任意一个格子的行达到19,就不能下落 // 2、4格方块的任意一个格子,对应墙上的下方出现格子,则不能下落 // 3、先判断第一 种情况,不然会出现下标越界的错误 Cell[] cells = tetromino.cells; for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int row = cell.getRow(); if (row == ROWS - 1) { return false; } } // 判断格子下方的墙上是否有格子 for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int row = cell.getRow(); int col = cell.getCol(); if (wall[row + 1][col] != null) { return false; } } return true; } /** * 着陆到墙里面 */ private void landIntoWall() { // 获取每个格子的行、列,根据每个格子的位置,将格子订到墙上 Cell[] cells = tetromino.cells; for (Cell cell : cells) { int row = cell.getRow(); int col = cell.getCol(); wall[row][col] = cell; } } /** * 销毁已经满的行,返回销毁行数 */ private int destroyLines() { // 从0~19逐行查找,如果找到满行,就删除这行 int lines = 0; for (int row = 0; row < ROWS; row++) { if (isFullCells(row)) { deleteRow(row); lines++; } } return lines; } /** * 检查row行的格子是否是满的 * * @param row * @return */ private boolean isFullCells(int row) { Cell[] line = wall[row]; /** * for(int i=0;i<line.length;i++){ Cell cell = line[i]; } */ for (Cell cell : line) { if (cell == null) { return false; } } return true; } /** * 删除row行格子 * * @param row */ private void deleteRow(int row) { for (int i = row; i >= 1; i--) { // 复制:从wall[i-1] -> wall[i] System.arraycopy(wall[i - 1], 0, wall[i], 0, COLS); } Arrays.fill(wall[0], null); } /** * 检查游戏是否结束 */ private boolean isGameOver() { // 如果下一个方块没有出场位置了,则游戏结束:就是下一个出场的方块每个格子行列对应的墙上位置如果有方块,就游戏结束 Cell[] cells = nextOne.cells; for (int i = 0; i < cells.length; i++) { Cell cell = cells[i]; int row = cell.getRow(); int col = cell.getCol(); if (wall[row][col] != null) { return true; } } return false; } } ```

spark集群运行错误:15

这是一个仿照网上例子,自己学习测试的。用scala编写写了一个wordCount的例子,在myEclipse上是可以运行的,并可以得出结果。现在将例子导出jar包,然后放到hadoop集群上运行,出现如下错误:Stack trace: ExitCodeException exitCode=15跪求各路大神帮忙, 这个问题已经困扰我一个星期了,网上也找了很久,没找到解决办法。没有多少分了 。。。非常感谢!!!环境: hadoop2.6.2 spark2.2 jdk1.8 scala2.2hadoop集群应该是没有问题的,浏览器可以打开50070的页面下面是spark on yarn的环境:export JAVA_HOME=/usr/local/src/jdk1.8.0_144export SPARK_MASTER_IP=node1export SPARK_MASTER_PORT=7077export SPARK_WORKER_CORES=1export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_MEMORY=1gexport SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181,node3:2181"export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport YARN_CONF_DIR=$HADOOP_HOME/etc/hadoopexport SPARK_HOME=/usr/local/src/spark-2.2.0-bin-hadoop2.6export SPARK_JAR=/usr/local/src/spark-2.2.0-bin-hadoop2.6/jars/*.jarexport PATH=$SPARK_HOME/bin:$PATHWordCount例子:object wc { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("wc") val sc = new SparkContext(conf) val text = sc.textFile("test.txt") val words = text.flatMap(line => line.split(" ")) val pairs = words.map(word => (word, 1)) val results = pairs.reduceByKey(_+_).map(tuple => (tuple._2 , tuple._1 )) val sorted = results.sortByKey(false).map(tuple => (tuple._2 , tuple._1 )) sorted.foreach(x => println(x)) sc.stop() }}错误信息:Application Attempt State: FAILEDAM Container: container_1507729080248_0001_01_000001Node: N/ATracking URL: HistoryDiagnostics Info: AM Container for appattempt_1507729080248_0001_000001 exited with exitCode: 15For more detailed output, check application tracking page:http://node1:8088/proxy/application_1507729080248_0001/Then, click on links to logs of each attempt.Diagnostics: Exception from container-launch.Container id: container_1507729080248_0001_01_000001Exit code: 15Stack trace: ExitCodeException exitCode=15:at org.apache.hadoop.util.Shell.runCommand(Shell.java:538)at org.apache.hadoop.util.Shell.run(Shell.java:455)at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715)at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Container exited with a non-zero exit code 15Failing this attempt![图片](https://img-ask.csdn.net/upload/201710/12/1507764756_681945.jpg)![图片](https://img-ask.csdn.net/upload/201710/12/1507764760_746436.jpg)![图片](https://img-ask.csdn.net/upload/201710/12/1507764811_639764.jpg)

帮忙看一下代码,问几个关于Java组合框的问题

import java.awt.*; import javax.swing.*; public class JComboBoxExample extends JFrame { JComboBox comboBox1,comboBox2;//定义两个组合框 String cityNames[]={"北京","上海","重庆","南京","武汉","杭州"};//设置一个字符数组 public JComboBoxExample()//构造方法 { super("组合框");//引用父类的构造方法 Container container=getContentPane();//内容面板容器 container.setLayout(new FlowLayout());//设置窗口布局为流布局 comboBox1=new JComboBox(cityNames);//创建一个具有数组定义列表内容的组合框 comboBox1.setSelectedIndex(3);//设置下拉框的默认选择项为下拉框模型中的第三个变量 comboBox1.setEditable(false);//设置选项不可用 comboBox2=new JComboBox(cityNames); comboBox2.setSelectedItem(cityNames[1]);//选中的项目,是object型,与14行的区别 comboBox2.addItem(new String("长沙")); comboBox2.setEditable(true);//设置选项可用 container.add(comboBox1);//添加组合框 container.add(comboBox2); pack();//调整此窗口的大小,以适合其子组件的首选大小和布局。 setVisible(true); } public static void main(String[] args) { JComboBoxExample jcbe=new JComboBoxExample();//实例化 jcbe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//可关闭 } } 问题1:comboBox1.setEditable(false);这条语句已经设置组合框是不可编辑的,为什么程序运行后可以更改选项,就是可以选择北京、上海等其他的选项。 问题2:comboBox2.addItem(new String("长沙"));网上说addItem方法已经过时,可以用add方法替代,为什么改成comboBox2.add(new String("长沙"));后编译出错,如果要在指定位置加上“长沙”,比如加载第二个位置应该怎么改

点击按钮时,程序自动关闭,显示错误

在Android中设置一个按钮,点击按钮跳转至另一个页面。编写完成后,运行不了,点击该按钮,程序自动关闭。求求各位大神帮我看看哪里有问题。 ``` 1.这是main.java.里的相关代码 @Override public void onClick(View arg0) { Intent intent=new Intent(MainActivity.this,TwoActivity.class); startActivity(intent); } ``` ``` 2.这是two.Java里的代码 package com.jikexueyuan.testqrcode; import android.app.Activity; import android.os.Bundle; public class TwoActivity extends Activity { @Override protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.two); } } ``` ``` 3.这是main.xml的代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.jikexueyuan.testqrcode.MainActivity" tools:ignore="MergeRootFrame" > <Button android:id="@+id/gen" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="36dp" android:text="生成二维码" /> </LinearLayout> ``` ``` 4.这是two.xml里的代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="名片" /> <Button android:id="@+id/button2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="短信" /> <Button android:id="@+id/button3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="文本" /> <Button android:id="@+id/button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="电邮" /> </LinearLayout> ```

jsp+servlet写了一个简单的注册,但是出现找不到页面

小菜鸟刚写了一个简单的注册页面,但是配置好servlet以后出现找不到页面,找了好长时 间没有发现问题在哪里,希望有明白的给解释解释![图片说明](https://img-ask.csdn.net/upload/201512/02/1449023649_889979.png)![图片说明](https://img-ask.csdn.net/upload/201512/02/1449023729_88713.png)![图片说明](https://img-ask.csdn.net/upload/201512/02/1449023690_170615.png)![图片说明](https://img-ask.csdn.net/upload/201512/02/1449023704_375503.png)

SSM框架编写项目出现页面路径跟我项目代码的路径不一样

页面路径![图片说明](https://img-ask.csdn.net/upload/201910/21/1571645883_364846.png) 项目代码路径:![图片说明](https://img-ask.csdn.net/upload/201910/21/1571645911_646613.png) Controller层类上面并没有添加@RequestMapping注解![图片说明](https://img-ask.csdn.net/upload/201910/21/1571645992_718517.png)

怎样实现用户输入密码错误三次就退出程序!

大家好,我在期末作业有这样的一个功能,大家来帮我看看怎样实现,我在网络上找不到太多的资料。谢谢大家了!

第一次数据库查询成功,第二次查询去失败了?

我编写一个Android应用,A页面拥有一个选项菜单,点击菜单中的选项,跳转到B页面,B页面接收从A页面传递的数据后,进行数据库查询,在本页面中显示相关内容。 B页面中通过动态添加View的方法,添加了按钮,点击按钮,可进行数据库查询,获取相关值在页面显示。 不过我不想每次返回A页面,选择选项菜单的另一项再进入B页面,于是我在B页面同样放置了选项菜单,让我点击B页面上的选项菜单时,直接在B页面上显示,不过却出现“java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor android.database.sqlite.SQLiteDatabase.rawQuery(java.lang.String, java.lang.String[])' on a null object reference”的错误。 请问,要怎样做呢? 相关数据库查询的函数 public ArrayList<JapInfo> query_stylecolumn(String style_column, String alp_style) { String sql = String.format("SELECT hiragana,katakana,sound_path FROM Jap_Info AS j " + "LEFT JOIN Alp_style AS a " + "ON j.alpha_style_id = a.id " + "WHERE j.style_column = '%s' and a.style_name = '%s';",style_column,alp_style); ArrayList<JapInfo> japIf = new ArrayList<JapInfo>(); Cursor cursor = mDB.rawQuery(sql,null); while (cursor.moveToNext()){ JapInfo japIfo = new JapInfo(); japIfo.hiragana = cursor.getString(0); japIfo.katakana = cursor.getString(1); japIfo.sound_path = cursor.getString(2); japIf.add(japIfo); } cursor.close(); return japIf; }

【Android studio】程序不报错但是停止运行

按照网上的视频例子在敲,但是不知道问题出在哪里,基本没有基础可言,麻烦大神们给看看,万分感谢 ``` package com.example.pet; import android.os.Bundle; import android.widget.FrameLayout; import android.widget.RadioGroup; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentTransaction; import com.example.pet.base.BaseFragment; import com.example.pet.collect.fragment.CollectFragment; import com.example.pet.community.fragment.CommunityFragment; import com.example.pet.home.fragment.HomeFragment; import com.example.pet.type.fragment.TypeFragment; import com.example.pet.user.fragment.UserFragment; import java.util.ArrayList; import butterknife.BindView; import butterknife.ButterKnife; public class MainActivity extends FragmentActivity { @BindView(R.id.frameLayout) FrameLayout frameLayout; @BindView(R.id.rg_main) RadioGroup rgMain; //装多个Fragment的实例集合 private ArrayList<BaseFragment> fragments; //选中的Fragment的对应的位置 private int position; //缓存的上次显示的Fragment private Fragment tempFragemnt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //ButterKnife和当前Activity绑定,绑定后自动实例化 ButterKnife.bind(this); //初始化Fragment initFragment(); //设置RadioGroup的监听 initListener(); } private void initListener() { rgMain.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_home://主页 position = 0; break; case R.id.rb_type://分类 position = 1; break; case R.id.rb_community://发现 position = 2; break; case R.id.rb_collect://收藏 position = 3; break; case R.id.rb_user://个人中心 position = 4; break; default: position = 0; break; } //根据位置去取不同的Fragment BaseFragment baseFragment = getFragment(position); //第一个参数:上次显示的Fragment,第二个参数:当前正要显示的Fragment switchFragment(tempFragemnt, baseFragment); } }); //默认选中主页面 rgMain.check(R.id.rb_home); } //切换Fragment,隐藏上一个,显示当前 private void switchFragment(Fragment fromFragment, BaseFragment nextFragment) { if (tempFragemnt != nextFragment) { tempFragemnt = nextFragment; if (nextFragment != null) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // 判断 nextFragment 是否添加 if (!nextFragment.isAdded()) { // 隐藏当前 Fragment if (fromFragment != null) { transaction.hide(fromFragment); } //添加Fragment transaction.add(R.id.frameLayout, nextFragment).commit(); } else { // 隐藏当前 Fragment if (fromFragment != null) { transaction.hide(fromFragment); } transaction.show(nextFragment).commit(); } } } } private BaseFragment getFragment(int position) { if (fragments != null && fragments.size() > 0) { BaseFragment baseFragment = fragments.get(position); return baseFragment; } return null; } //添加的时候要按照顺序 private void initFragment() { fragments = new ArrayList<>(); fragments.add(new HomeFragment()); fragments.add(new TypeFragment()); fragments.add(new CommunityFragment()); fragments.add(new CollectFragment()); fragments.add(new UserFragment()); } } ``` 附上logcat ![图片说明](https://img-ask.csdn.net/upload/202004/19/1587281909_919389.png)![图片说明](https://img-ask.csdn.net/upload/202004/19/1587281920_250438.png)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

你以为这样写Java代码很6,但我看不懂

为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧。 IntStream.range(1, 5).boxed().map(i -&gt; { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问
相关内容推荐