激活账号的servlet运行报错500,代码是对的,为什么会报错?

报错

图片说明

servlet代码

package servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import bean.Check;
import bean.DB;
import bean.Tools;
import java.sql.*;

public class RegAdminServlet extends HttpServlet {

    /**
     * Constructor of the object.
     */
    public RegAdminServlet() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
     * The doGet method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to get.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);

    }

    /**
     * The doPost method of the servlet. <br>
     *
     * This method is called when a form has its tag value method equals to post.
     * 
     * @param request the request send by the client to the server
     * @param response the response send by the server to the client
     * @throws ServletException if an error occurred
     * @throws IOException if an error occurred
     */
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {



        //用以建立数据库连接的必要信息
        String url="jdbc:mysql://localhost:3306/database";
        String user="root";
        String password="123456";



        String adminid = Tools.codeToChinese(request.getParameter("adminid"));
        String adminpass  = request.getParameter("adminpass");
        String adminname = Tools.codeToChinese(request.getParameter("adminname"));
        String admintele = request.getParameter("admintele");

        //省略号表示要输入具体的sql语句
        String sql="select * from administrator adminID='"+adminid+"'";



        //创建各个对象
        Connection conn=null; //建立数据库连接的对象
        Statement stmt=null; //创建用于执行SQL语句的Statement对象
        ResultSet rs=null; //创建结果集对象


        HttpSession session = request.getSession();


        try{
               //建立连接并执行语句
        conn=DriverManager.getConnection(url, user, password);
        stmt=conn.createStatement();
        rs=stmt.executeQuery(sql);



        //其它操作
        if(rs.next())
        {
            Check check = new Check();
            boolean ck=check.check(adminid, adminpass, adminname, admintele);
            if(ck)
            {
                DB db = new DB();
                StringBuffer newsql = new StringBuffer();
                newsql.append("UPDATE administrator SET adminActivated='1' WHERE adminID='"+adminid+"'");

                boolean a = db.executeUpdate(newsql.toString());
                if(a){
                    session.setAttribute("message","激活成功!");
                    response.sendRedirect("regCheckSuccess.jsp");
                }
                else{
                    session.setAttribute("message","激活失败,请重新激活!");
                    response.sendRedirect("regCheckFailure.jsp");
                }
            }
            else
            {
                session.setAttribute("message", "激活失败!用户信息输入错误,请重新输入!");
                response.sendRedirect("regCheckFailure.jsp");
            }
        }
        else
        {
            session.setAttribute("message", "账号不存在,请重新输入!");
            response.sendRedirect("regMsgAdmin.jsp");
        }

        }catch(SQLException se){
            throw new ServletException(se);
        }finally{
        try{rs.close();}catch(SQLException se){}
        try{stmt.close();}catch(SQLException se){}
        try{conn.close();}catch(SQLException se){}
        }



        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<form method=post action=PotalServlet>");
        out.println("<table><tr>");
        out.println("<td>请输入用户名</td>");
        out.println("<td><input type=text name=username /></td>");
        out.println("</tr><tr>");
        out.println("<td>请输入密码</td>");
        out.println("<td><input type=password name=userpass /></td>");
        out.println("</tr><tr>");
        out.println("<td><input type=reset value=重填 /></td>");
        out.println("<td><input type=submit value=登录 /></td>");
        out.println("</tr>");
        out.println("</table>");
        out.println("</form>");
        //out.close()不能调用,否则portal中后面的输出语句将不输出

        /*out
                .println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("    This is ");
        out.print(this.getClass());
        out.println(", using the POST method");
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();*/
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
        String classname="com.mysql.jdbc.Driver";
        try{
            Class.forName(classname);
        }catch(ClassNotFoundException ce){
            throw new ServletException("加载数据库驱动失败");
        }

    }

}

Check包代码

package bean;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Check {
    public static boolean check(String adminid,String adminpass,String adminname,String admintele) {
        DB db = new DB();
        Connection conn=db.createConn();

        String sql = "select * from administrator where adminID='"+adminid+"'";
        /*Statement stmt = null;
        ResultSet rs = null;*/
        try{
            Statement stmt=conn.createStatement();
            ResultSet rs=stmt.executeQuery(sql);

            while(rs.next())
            {
                String adminID = rs.getString("adminID");
                String adminPass = rs.getString("adminPass");
                String adminName = rs.getString("adminName");
                String adminTele = rs.getString("adminTele");

                if(adminID.equals(adminid)&&adminPass.equals(adminpass)&&adminName.equals(adminname)&&adminTele.equals(admintele))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }catch(SQLException se){
            return false;
        }finally{
        //try{rs.close();}catch(SQLException se){}
        //try{stmt.close();}catch(SQLException se){}
        //try{conn.close();}catch(SQLException se){}
        }

        return false;

    }

}

DB包代码

package bean;

//导入创建应用数据要用到的类
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
    private String classname="com.mysql.jdbc.Driver";   //数据库驱动类路径
    private String url="jdbc:mysql://localhost:3306/database"; //数据库URL
    private String user="root"; //登录数据库的用户名
    private String pwd="123456";    //登录数据库的密码

    private Connection conn=null;   //申明一个Connection对象
    private Statement stmt=null; //声明一个Statement对象
    private ResultSet rs=null;

    /*通过构造方法加载数据库驱动*/
    public DB(){    //DB类的构造方法
        try{    //必须使用try catch语句捕获加载数据库驱动时可能发生的异常
            Class.forName(classname).newInstance(); //加载数据库驱动
        }catch (Exception e){
            e.printStackTrace();    //输出异常信息
            System.out.println("加载数据库驱动失败!!");
        }       
    }
    /*创建数据库连接*/
    public Connection createConn(){
        try{
            conn=DriverManager.getConnection(url, user, pwd);
        }catch(SQLException e){
            e.printStackTrace();
            System.out.println("获取数据库连接失败!!");
        }
        return conn;
    }

    /*获取Statement对象*/
    public void getStmt(){
        createConn();
        try{
            //调用Connection类实例的createStatement()方法创建一个Statement类对象
            stmt=conn.createStatement();
        }catch(SQLException e){
            e.printStackTrace();
            System.out.println("创建Statement对象失败!!");            
        }
    }

    /*创建对数据库进行操作的增加、删除和修改的executeUpdate()方法*/
    public boolean executeUpdate(String sql){
        boolean mark=false;
        try{
            getStmt();  //创建一个Statement对象
            int iCount=stmt.executeUpdate(sql); //执行操作,并获取所影响的记录数
            if(iCount>0)    //更新数据库成功
                mark=true;
            else            //更新失败
                mark=false;         
        }catch(SQLException e){
            e.printStackTrace();
        }
        return mark;
    }

    /*查询数据库*/
    public ResultSet executeQuery(String sql){

        try{
            getStmt();
            try{
                rs=stmt.executeQuery(sql);
            }catch(Exception e){
                e.printStackTrace();
                System.out.println("查询数据库失败!!");
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return rs;
    }
    public void close(){
        try{if(rs!=null)rs.close();}catch(Exception e){}
        try {stmt.close();}catch(Exception e){}
        try {conn.close();}catch(Exception e){}
    }
}

jsp代码

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'regAdmin.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    <script language="javascript">
      function isNull(str)
      {
        if (str.length==0)
           return true;
        else
           return false;
      }
      function isValidate(form)
      {
         adminid=form.adminid.value;
         adminpass=form.adminpass.value;
         adminname=form.adminname.value;
         admintele=form.admintele.value;

         if(isNull(adminid))
         {
           alert("请输入账号!");
           return false;
         }
         if(isNull(adminpass))
         {
           alert("请输入密码!");
           return false;
         }
         if(isNull(adminname))
         {
           alert("请输入姓名!");
           return false;
         }
         if(isNull(admintele))
         {
           alert("请输入联系方式!");
           return false;
         }
         return true;
      }


    </script>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  </head>

  <body>
    <form name="form" action="RegAdminServlet" method="post" onSubmit="return isValidate(form)"><br>
    <h1 align="center"> 管理员账号激活</h1><hr><p><br>
    <table width="300" border="0" align="center">
      <tr><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td></tr><tr>
         <td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td>账 号 :</td>
         <td><input type="text" name="adminid" /></td>
      </tr>
      <tr>
         <td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td>密 码 :</td>
         <td><input type="password" name="adminpass"/></td>
      </tr>
      <tr>
         <td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td>姓 名 :</td>
         <td><input type="text" name="adminname"/></td>
      </tr>

      <tr>
         <td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td valign="top"><br></td><td>联 系<br>方 式 :</td>
         <td><input type="text" name="admintele"/></td>
      </tr>

    </table><br>
    <div align="center">
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="激活"/>
         &nbsp;&nbsp;&nbsp;<input type="reset" name="reset" value="清空"/><br><br><br>
         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="loginAdmin.jsp">【返回】</a>
    </div>
    <p>

    </form>
  </body>
</html>

数据库

图片说明

2个回答

都报空指针异常了。。。。。

Emiry
半夏莲城 回复可以简单点: OK了,Thanks♪(・ω・)ノ
9 个月之前 回复
weixin_38860401
可以简单点 回复半夏莲城: 把你的sql语句select * from administrator adminID='"+adminid+"'"去数据库查一下,看有没有数据,没有的话rs这个对象就是空的
9 个月之前 回复
Emiry
半夏莲城 回复可以简单点: 我试过用debug,然而不知道为什么跳出来一个class.class的文件
9 个月之前 回复
Emiry
半夏莲城 回复可以简单点: 136行的代码是try{rs.close();}catch(SQLException se){}
9 个月之前 回复
weixin_38860401
可以简单点 回复半夏莲城: 看你的异常信息,是RegAdminServlet这个类的136行代码报的错误,你可以在这里打断点看跟踪一下
9 个月之前 回复
Emiry
半夏莲城 请问要怎么解决啊?我找不出来哪里错了_(:з」∠)_
9 个月之前 回复

servlet类在配置文件中配置了吗? 之后断点能够进入代码吗

Emiry
半夏莲城 配置??你指的是什么??打断点之后不知道为什么跳出来一个class.class的文件
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
请求时Eclipse报错找不到自定义Servlet类
``` 1.前端代码 <form action="login" method="post"> <div><input type="text" id="username"></div> <div><input type="password" id="password"></div> <input type="submit" value="Login"/> </form> ``` ``` 2.配置文件 <servlet> <servlet-name>login</servlet-name> <servlet-class>aa.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> ``` ``` 3.请求时报错 严重: Allocate exception for servlet [login] java.lang.ClassNotFoundException: aa.LoginServlet at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1185) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546) 前端报错代码:HTTP Status 500 – Internal Server Error ``` ``` 4.其他信息 已确保LoginServlet类继承HttpSAervlet 没有使用注解配置Servlet JAVA版本1.8 Tomcat版本8.5 ```
学习Servlet时运行报错,如何解决?
**JSP页面错误**: type Exception report message Error instantiating servlet class com.rl.servlet.ServeltDemo1 description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: Error instantiating servlet class com.rl.servlet.ServeltDemo1 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source) root cause java.lang.IllegalAccessException: Class org.apache.catalina.core.DefaultInstanceManager can not access a member of class com.rl.servlet.ServeltDemo1 with modifiers "" sun.reflect.Reflection.ensureMemberAccess(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Unknown Source) note The full stack trace of the root cause is available in the Apache Tomcat/8.0.32 logs. **控制台报错**: 严重: Allocate exception for servlet helloServlet java.lang.IllegalAccessException: Class org.apache.catalina.core.DefaultInstanceManager can not access a member of class com.rl.servlet.ServeltDemo1 with modifiers "" at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1102) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:828) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:135) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) **实现类代码**: class ServeltDemo1 implements Servlet { @Override public void init(ServletConfig arg0) throws ServletException { System.out.println("相应请求"); System.out.println("Servlet组件被创建了"); } @Override public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { response.getOutputStream().write("<font color = 'red'>Hello Servlet</font>".getBytes()); } @Override public void destroy() { System.out.println("Servlet销毁了"); } } **web.xml代码**: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <servlet> <!-- 设置Servlet名称 --> <servlet-name>helloServlet</servlet-name> <!-- 具体的Servlet类 --> <servlet-class>com.rl.servlet.ServeltDemo1</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
idea部署Tomcat时servlet运行多次问题
在使用在部署Tomcat的时候,Servlet会运行三次(原来是两次,瞎鼓捣之后又变成3次了),具体代码如下: ``` package com.shop.C; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class Servlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { System.out.println("post"); response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); } } ``` 然后这是控制台输出结果: ![图片说明](https://img-ask.csdn.net/upload/201912/10/1575949110_572415.png) 可以看到明显是运行了三次doPost。 因为需要使用servlet读取数据库数据并传递给jsp页面并刷新,第一次读取之后关闭了和数据库的连接,导致后面两次读取不到数据,在jsp页面便没有数据显示。 ps:这里想要解决的问题是Servlet为什么运行了三次,怎么解决,不是数据传递问题。
servlet运行之后报返回500
package servletDemo; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; // 扩展 HttpServlet 类 public class demo extends HttpServlet { private String message; public void init() throws ServletException { // 执行必需的初始化 message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy() { } } web.xml是 <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>servletDemo.demo</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> 报错信息 javax.servlet.ServletException: Error instantiating servlet class servletDemo.demo org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745) root cause java.lang.ClassNotFoundException: servletDemo.demo org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1308) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1142) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)
ssm中的web.xml的servlet配置报错有什么原因
![图片说明](https://img-ask.csdn.net/upload/201612/27/1482804431_711610.png) maven上的项目,web.xml中的配置都是按照网上教程配置配的,应该没错,但是 <servlet-name>这里老是报错,不知道为什么,本地仓库里的javax包也删了重新下过,仍然报错
请问JavaWeb开发中,Servlet中具体该写些什么功能?
比如要做一个登陆的功能,service应该返回一个user对象给servlet,然后在servlet中判断用户的账号密码是否正确并将数据封装响应给前台展示,还是在service中判断用户名密码是否正确并将数据封装成json并返回给servlet,然后servlet再将数据响应给前台进行展示呢?
my eclipse中用servlet doGet提问,post方法传,收集到答案后传到第三个servlet跳转到jsp报错此URL不支持Http方法GET?
第一个Servlet中doGet中代码 response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("UTF-8"); HttpSession session=request.getSession(); PrintWriter out = response.getWriter(); out.println("<HTML>"); out.println(" <HEAD><TITLE>问卷</TITLE></HEAD>"); out.println(" <BODY>"); out.println("<form name=tourside method=post action=Tour3Servlet"); out.println(" <table>"); out.println(" <tr>"); out.println(" <td>你想要去的地方:</td>"); out.println("<td><input type=text name=side></td><br>"); out.println(" </tr><br>"); out.println(" <tr>"); out.println(" <td>你想要看到什么:</td>"); out.println("<td><input type=text name=thing></td><br>"); out.println(" </tr><br>"); out.println(" <tr>"); out.println(" <td><input type=reset value=重新输入></td>"); out.println(" <td><input type=submit value=确定></td>"); out.println(" </tr>"); out.println(" </table>"); out.println(" </BODY>"); out.println("</HTML>"); out.close(); 第二个Servlet中doPost方法代码 response.setContentType("text/html;charset=utf-8"); request.setCharacterEncoding("UTF-8"); HttpSession session=request.getSession(false); PrintWriter out = response.getWriter(); String side=request.getParameter("side"); session.setAttribute("side", side); String thing=request.getParameter("thing"); session.setAttribute("thing", thing); out.println("<HTML>"); out.println(" <HEAD><TITLE>调查信息:</TITLE></HEAD>"); out.println(" <BODY>"); out.print("<h1>汇集:<h1> "); String thing2=thing; out.println("地点:"+side+"<br>"); out.println("景象:"+thing2+"<br><br>"); out.println("<form action=Tour4Servlet"); out.println(" <tr>"); out.println(" <td><input type=submit value=确定></td>"); out.println(" </tr>"); out.println(" </BODY>"); out.println("</HTML>"); out.close(); 第三个Servlet中doPost方法想要传入到同一工程下的jsp界面 response.setContentType("text/html;charset=utf-8"); response.sendRedirect("http://localhost:8080/SJ/Third.jsp"); 在第二个界面点击确定后就报错此URL不支持HTTP的get方法??????
我写的一个servlet的激活账号的程序,现在出现了500错误,请问代码哪里错了?
这个是错误 ![图片说明](https://img-ask.csdn.net/upload/201904/09/1554802669_782153.png) 这个是代码 ![图片说明](https://img-ask.csdn.net/upload/201904/09/1554802712_33757.png) 这个是数据库 ![图片说明](https://img-ask.csdn.net/upload/201904/09/1554802728_793426.png) 我之前是能跳转登录失败的,现在却不行了,求解
servlet的dopost中写了控制台输出,测试到不执行数据库工具类后的代码,也不报错,会输出数据访问成功,连接到这个servlet成功的。
``` request.setCharacterEncoding("UTF-8"); System.out.println("数据访问成功"); String sql="select * from employee"; DBUtil dbUtil = new DBUtil(); List<Employee> employeeList=new ArrayList<Employee>(); System.out.println("开始执行查询"); ```
阿里云ecs中javaweb项目无法访问servlet
在阿里云上购买学生版的ecs, 自己装了tomcat7+java8+mysql5.7 然后部署javaweb项目。 这个javaweb项目本地正常运行,发布到ecs上之后可访问jsp文件,但无法访问servlet,一访问就报http404,第一此访问会报http500 Error instantiating servlet class。 我尝试作了一个jsp直接调用java文件,代码如下 ``` <%@ page import="dao.*"%> <%@ page import="dao.impl.StudentDaoImpl"%> ......... .............. <% StudentDao ad =new StudentDaoImpl(); %> <%=ad.queryAllStudent().get(0).getName()%> ``` 提示http500:Unsupported major.minor version 52.0(编译版本高于运行)但我的java与tomcat版本与本机是一样的, 本机 tomcat7.0.86,java 1.8.0.13 ; ecs tomcat7.0.99 java 8u40b25 而且curl的内容与外面浏览器结果都一致 web.xml ``` <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>studentAD</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>findStuByPageServlet</servlet-name> <servlet-class>servlet.FindStuByPageServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>findStuByPageServlet</servlet-name> <url-pattern>/findStuByPageServlet</url-pattern> </servlet-mapping> </web-app> ``` ecs的tomcat下webapp文件夹 ![图片说明](https://img-ask.csdn.net/upload/201912/24/1577186909_54909.png) lib文件 ![图片说明](https://img-ask.csdn.net/upload/201912/24/1577186946_738.png)
Servlet访问数据库报错500
这是网页提示的错误 HTTP Status 500 - 查询失败 -------------------------------------------------------------------------------- type Exception report message 查询失败 description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.RuntimeException: 查询失败 Dao.EmpDao.finAll(EmpDao.java:32) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver' org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) util.DBUtil.getConnection(DBUtil.java:36) Dao.EmpDao.finAll(EmpDao.java:16) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) util.DBUtil.getConnection(DBUtil.java:36) Dao.EmpDao.finAll(EmpDao.java:16) web.SqlServlet.service(SqlServlet.java:23) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.67 logs. 这是我的代码,我用测试代码访问数据库的时候,都没有问题,一旦用Servlet访问就出现500问题 package web; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Dao.EmpDao; import entity.Emp; public class SqlServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); res.setContentType("text/html;charset=utf-8"); EmpDao dao = new EmpDao(); List<Emp> list = dao.finAll(); PrintWriter out = res.getWriter(); out.println("<table border='1px' cellspacing='0' width='40%'>"); out.println(" <tr>"); out.println(" <th>编号</th>"); out.println(" <th>姓名</th>"); out.println(" <th>职位</th>"); out.println(" <th>月薪</th>"); out.println(" </tr>"); for(Emp emp:list){ out.println("<tr>"); out.println(" <td>"+emp.getEmpno()+"</td>"); out.println(" <td>"+emp.getEname()+"</td>"); out.println(" <td>"+emp.getJob()+"</td>"); out.println(" <td>"+emp.getSal()+"</td>"); out.println("</tr>"); } out.println("</table>"); out.close(); } } 下面是dao包的代码package Dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import entity.Emp; import util.DBUtil; public class EmpDao { public List<Emp> finAll(){ Connection con = null; try { con=DBUtil.getConnection(); String sql = "select * from student"; PreparedStatement ps = con.prepareStatement(sql); List<Emp> list = new ArrayList<Emp>(); ResultSet rs = ps.executeQuery(); while(rs.next()){ Emp emp = new Emp(); emp.setEmpno(rs.getInt("empno")); emp.setEname(rs.getString("ename")); emp.setJob(rs.getString("job")); emp.setSal(rs.getDouble("sal")); list.add(emp); } return list; } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("查询失败",e); }finally{ DBUtil.close(con); } } } 请各位大神帮帮忙 谢谢
vue ajax上传文件时Java后端报错
我正在做一个上传头像功能,前端使用vue.js,后端是springboot构建的项目,但是每次vue请求传到后端时,都会报格式错误。代码如下: 后端接口: @PostMapping("/userinfo/uploadHeadImg") public AjaxResult<?> uploadHeadImg(@RequestParam MultipartFile file, @RequestParam Integer userInfoId) throws Exception{ return tbUserinfoService.uploadHeadImg(file,userInfoId); } html部分: <div class="setting-head"> <!--个人头像--> <div class="user-head-img" > <div class="use-click" @click="uploadHeadImg"> <el-avatar :size="60" :src="userHeadImg" > </el-avatar> <input type="file" accept="image/*" class="hiddenInput" @change="handleFile"/> </div> </div> </div> js部分: handleFile: function (e) { let $target = e.target || e.srcElement; let file = $target.files[0]; var reader = new FileReader(); reader.onload = (data) => { let res = data.target || data.srcElement; this.$store.dispatch("uploadHeadImg",file); }; reader.readAsDataURL(file) }, store.js 文件部分: ``` actions:{ uploadHeadImg({commit,state},file){ Vue.http.post('/userinfo/uploadHeadImg',{file:file,userInfoId:state.userInfoId}, {headers: { 'Content-Type': 'multipart/form-data' }}, ).then(function(res){ var result = res.data; if(result.code=="200"){ this.userHeadImg = res.result; commit("setUserHeadImgFile",file); } }) } ``` 报错现象分两种情况: 当store.js部分添加了 {headers: { 'Content-Type': 'multipart/form-data' }}, 后,后端报错如下: Resolved [org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found] 我在网上找了大部分的解决方式是说去掉 header请求中的 Content-Type就行了。 <br> 但是当我去掉这部分后报错又变成了: Resolved [org.springframework.web.multipart.MultipartException: Current request is not a multipart request] 网上搜索解决方式:说请求头添加 <br> 'Content-Type': 'multipart/form-data' 陷入死循环中.... 希望有熟悉这部分的老哥可以帮忙请求看看,谢谢!!! 通过postman测试,后端接口成功,但就是通过vue访问就会报错
springboot +shiro+maven 打包运行项目报错
运行登录的时候报下边错误,大神能给看看嘛? ===2019-12-10 13:31:07.250 WARN org.apache.shiro.authc.AbstractAuthenticator Line:216 - Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - root, rememberMe=false (0:0:0:0:0:0:0:1)]. Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException). java.lang.ClassCastException: class org.apache.shiro.authc.UsernamePasswordToken cannot be cast to class com.qiyuansoft.unicorn.common.realm.QYToken (org.apache.shiro.authc.UsernamePasswordToken and com.qiyuansoft.unicorn.common.realm.QYToken are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @651745d7) at com.qiyuansoft.unicorn.common.realm.QYLoginRealm.doGetAuthenticationInfo(QYLoginRealm.java:149) at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:571) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267) at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:274) at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:260) at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:53) at org.apache.shiro.web.filter.authc.FormAuthenticationFilter.onAccessDenied(FormAuthenticationFilter.java:154) at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) ===2019-12-10 13:31:07.253 DEBUG org.apache.shiro.web.servlet.SimpleCookie Line:226 - Added HttpServletResponse Cookie [QYrememberMe=deleteMe; Path=/; Max-Age=0; Expires=Mon, 09-Dec-2019 05:31:07 GMT] ===2019-12-10 13:31:07.254 DEBUG org.apache.shiro.web.filter.authc.FormAuthenticationFilter Line:206 - Authentication exception org.apache.shiro.authc.AuthenticationException: Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - root, rememberMe=false (0:0:0:0:0:0:0:1)]. Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException). at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:214) at org.apache.shiro.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:106) at org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:274) at org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:260) at org.apache.shiro.web.filter.authc.AuthenticatingFilter.executeLogin(AuthenticatingFilter.java:53) at org.apache.shiro.web.filter.authc.FormAuthenticationFilter.onAccessDenied(FormAuthenticationFilter.java:154) at org.apache.shiro.web.filter.AccessControlFilter.onAccessDenied(AccessControlFilter.java:133) at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130) at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.ClassCastException: class org.apache.shiro.authc.UsernamePasswordToken cannot be cast to class com.qiyuansoft.unicorn.common.realm.QYToken (org.apache.shiro.authc.UsernamePasswordToken and com.qiyuansoft.unicorn.common.realm.QYToken are in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @651745d7) at com.qiyuansoft.unicorn.common.realm.QYLoginRealm.doGetAuthenticationInfo(QYLoginRealm.java:149) at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:571) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180) at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267) at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198) ... 67 common frames omitted ===2019-12-10 13:31:07.281 DEBUG org.apache.shiro.session.mgt.DefaultSessionManager Line:218 - Unable to resolve session ID from SessionKey [org.apache.shiro.web.session.mgt.WebSessionKey@47af0345]. Returning null to indicate a session could not be found.
我想添加一个激活账号的程序,在servlet文件里加了一些代码,却出现了500错误是怎么回事?
这个是错误 ![图片说明](https://img-ask.csdn.net/upload/201904/06/1554521452_229670.png) 红色框中的是添加的代码 ![图片说明](https://img-ask.csdn.net/upload/201904/06/1554521519_743192.png) 然后是数据库 ![图片说明](https://img-ask.csdn.net/upload/201904/06/1554521555_508267.png)
为什么这个servlet一直在报错
一个很简单的验证登录的web ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621179_550097.png) 一直报错 错误的行数显示如下: ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621206_114864.png) ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621218_338441.png) ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621226_98963.png) 可是我在测试类控制台中 运行是没问题的 如下: ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621313_820382.png) 而在servlet的doPost中 就出现了问题: ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621356_153604.png) servlet配置和表单如下: ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621381_192849.png) ![图片说明](https://img-ask.csdn.net/upload/201610/16/1476621388_74954.png) 是我的Servlet哪里写错了吗 求解决
servlet运行没有报错 但是数据库插入数据失败
![图片说明](https://img-ask.csdn.net/upload/201712/04/1512376088_216878.png) try{ // 注册 JDBC 驱动器 Class.forName(driver); // 打开一个连接 conn = DriverManager.getConnection(url,username,password); // 执行 SQL 查询 stmt = conn.createStatement(); String sql="SELECT USERNAME FROM USER"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()){ if(NAME.equals(rs.getString(1))){ response.sendRedirect("rename.jsp"); return; } } rs.close(); stmt.close(); //conn.commit(); String IP=request.getRemoteAddr(); //out.println(IP); sql = "INSERT INTO USER(USERNAME,PASSWORD,RTIME,IP) VALUES(?,password(?),?,?)"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,NAME); ps.setString(2,PASS); ps.setTimestamp(3, new Timestamp(new java.util.Date().getTime())); ps.setString(4,IP); // session.setAttribute("name",NAME); out.print("<a href="+"\"http://172.31.75.246/S2015150020/Prj08/ex8.jsp\">register successed !click into homepage</a>"); out.println("</body></html>"); // 完成后关闭 ps.close(); conn.close(); } //end of try catch(SQLException se) { // 处理 JDBC 错误 se.printStackTrace(); } catch(Exception e) { // 处理 Class.forName 错误 e.printStackTrace(); }finally{ // 最后是用于关闭资源的块 try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ } try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } 这是一个注册功能的servlet 查询操作正常 但是插入数据失败 这是为什么呢
关于servlet的重定向的问题 (用的是idea)?
我在demo1的servlet用this.getServletContext().getRequestDispatcher("demo2")实现向demo2 的跳转,然后用浏览器(谷歌)访问demo1的时候出现错误,说找不到路径" //demo2",我都不知道前面多出的一个/哪里来的,然后我把demo2里面的urlpatterns写成"//demo2"就行了,但是就像知道为什么会多出一个/,用myeclipse好象就不会,不知道是我的idea哪里配置错了吗?![图片说明](https://img-ask.csdn.net/upload/201911/25/1574692409_853686.jpg)
servlet中分数累加计算
在servlet获取sjp的值后判断其是否正确后进行一个分数的累加,最后输出score,这样出来的结果一直为0;请问大佬为什么,该怎么写servlet中分数累加计算?![图片说明](https://img-ask.csdn.net/upload/201912/19/1576763708_726846.png)
jsp跳转到相应的servlet了,但是servlet不运行,也不报错就停在servlet中了
我还故意写上了测试代码 int sign=0; sign=acd.insert(c);//数据库执行插入,成功则返回1 if(sign==0){ response.sendRedirect(request.getContextPath()+"/false.jsp"); }else{ response.sendRedirect(request.getContextPath()+"/success.jsp"); } 但是运行就直接停在这个servlet上了,也不跳转
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
英特尔不为人知的 B 面
从 PC 时代至今,众人只知在 CPU、GPU、XPU、制程、工艺等战场中,英特尔在与同行硬件芯片制造商们的竞争中杀出重围,且在不断的成长进化中,成为全球知名的半导体公司。殊不知,在「刚硬」的背后,英特尔「柔性」的软件早已经做到了全方位的支持与支撑,并持续发挥独特的生态价值,推动产业合作共赢。 而对于这一不知人知的 B 面,很多人将其称之为英特尔隐形的翅膀,虽低调,但是影响力却不容小觑。 那么,在...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
白话阿里巴巴Java开发手册高级篇
不久前,阿里巴巴发布了《阿里巴巴Java开发手册》,总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范,这些流程规范在一定程度上能够保证最终的项目交付质量,通过在时间中总结模式,并推广给广大开发人员,来避免研发人员在实践中容易犯的错误,确保最终在大规模协作的项目中达成既定目标。 无独有偶,笔者去年在公司里负责升级和制定研发流程、设计模板、设计标准、代码标准等规范,并在实际工作中进行...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
如何防止抄袭PCB电路板
目录 1、抄板是什么 2、抄板是否属于侵权 3、如何防止抄板 1、抄板是什么 抄板也叫克隆或仿制,是对设计出来的PCB板进行反向技术研究;目前全新的定义:从狭义上来说,抄板仅指对电子产品电路板PCB文件的提取还原和利用文件进行电路板克隆的过程;从广义上来说,抄板不仅包括对电路板文件提取、电路板克隆、电路板仿制等技术过程,而且包括对电路板文件进行修改(即改板)、对电子产品外形模具进行三维...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
相关热词 c#交错数组 c# task停止 c#使用mongodb c#入门经典第七版 c#设置超时程序 c#一个日期格式加上时分 c# 按行读取excel c#画图固定 c# 读取dataset 如何c#按钮透明
立即提问