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

com.bjsxtjava.io.BufferedReaderjava.io.IOExceptionjava.io.InputStreamReaderjava.io.PrintWriterjava.net.InetSocketAddressjava.net.ServerSocketjava.net.Socketjava.util.ScannerSend1 Thread{
    Socket Scanner (Socket socketScanner scanner){
        .= socket.= scanner}
    () {
        .sendMsg()}
    (){
PrintWriter pw = {
            pw = PrintWriter(..getOutputStream())() {
                String msg = .nextLine()pw.println(msg)pw.flush()}
        }(Exception e){
            e.printStackTrace()}{
            (!= ) {
                .close()}
            (pw != ) {
                pw.close()}
            (.!= ) {
                {
                    ..close()} (IOException e) {
                    e.printStackTrace()}
            }
        }
    }
}
Receive1 Thread{
    Socket (Socket socket){
        .= socket}
    () {
        .receiveMsg()}
    (){
        BufferedReader br = {
            br = BufferedReader(InputStreamReader(..getInputStream()))() {
                String msg = br.readLine()System..println(+msg)}
        }(Exception e){
            e.printStackTrace()}{
            (br != ) {
                {
                    br.close()} (IOException e) {
                    e.printStackTrace()}
            }
            (.!= ) {
                {
                    ..close()} (IOException e) {
                    e.printStackTrace()}
            }
        }
    }
}
GoodTCP {
    (String[] args) {
        Scanner scanner = ServerSocket serverSocket = Socket socket = {
            scanner = Scanner(System.)System..println()String str = scanner.nextLine()String[] arr = str.split()(.equals(arr[])) {
                System..println(+arr[]+)serverSocket = ServerSocket(Integer.(arr[]))socket = serverSocket.accept()System..println()}{
                socket = Socket(arr[]Integer.(arr[]))System..println()}
            Send1(socketscanner).start()Receive1(socket).start()} (Exception e) {
            e.printStackTrace()}{
            (serverSocket != ) {
                {
                    serverSocket.close()} (IOException e) {
                    e.printStackTrace()}
            }
        }
    }
}

报错异常:


请输入:server,<port>或者:<ip>,<port>

127.0.0.1,8888

java.net.ConnectException: Connection refused: connect

at java.net.DualStackPlainSocketImpl.connect0(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394)

at java.net.Socket.connect(Socket.java:606)

at java.net.Socket.connect(Socket.java:555)

at java.net.Socket.<init>(Socket.java:451)

at java.net.Socket.<init>(Socket.java:228)

at com.bjsxt.GoodTCP.main(GoodTCP.java:129)


Process finished with exit code 0


JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 24946楼
JAVA 全系列/(隐藏)第二十三阶段:数字货币交易所项目/服务中台_交易系统的开发 24948楼

"""
url和视图函数映射
url传递参数问题


两种方式传递参数
第一种:/路径/参数,(就是将参数嵌入到路径中),就是上面讲的。
第二种:/路径?参数名1=参数值1&参数名2=参数值2...,如:
"""
from flask import Flask, request, render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'



# 第二种方式传参
# @app.route('/article_id5/')  # 这种写法只支持get请求,不支持post请求
@app.route('/article_id5/', methods=['GET', 'POST'])  # 这种写法只支持get请求,又支持post请求
def article_id5():
    if request.method == 'GET':
        uname = request.args.get('uname')
        pwd = request.args.get('pwd')
        # return '接收到的参数为:%s,%s' % (name,pwd)
        return render_template('login.html')
    elif request.method == 'POST':
        uname = request.form.get('uname')
        pwd = request.form.get('pwd')
        return "POST方式接受到的参数为:%s,%s" % (uname, pwd)


if __name__ == '__main__':
    app.run(debug=True)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录界面</title>
</head>
<body>
    <h4>登录界面</h4>
    <form action="article_id5" method="post">
        用户名:<input type="text" name="uname" value=""><br>
        密&nbsp;码:<input type="password" name="pwd" value=""><br>
        <input type="submit" value="登录">

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

image.png




一点登录就是这个页面

04_url_viewfunc_demo.zip


Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 24950楼
JAVA 全系列/第八阶段:Linux入门到实战/Linux(旧) 24951楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 24952楼
Python 全系列/第五阶段:数据库编程/mysql的使用 24953楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于FastDFS+Nginx+Kinkeditor实现商品新增 24954楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 24957楼
JAVA 全系列/第六阶段:项目管理与SSM框架/Mybatis 24958楼

"C:\Program Files\Java\jdk1.8.0_261\bin\java.exe" "-javaagent:E:\IDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=63167:E:\IDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_261\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_261\jre\lib\rt.jar;E:\IDEA\第六阶段\mybatis\mapperdemo\out\production\mapperdemo;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\asm-7.1.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\cglib-3.3.0.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\ognl-3.2.14.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\log4j-1.2.17.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\mybatis-3.5.5.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\jsqlparser-3.1.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\log4j-api-2.13.3.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\slf4j-api-1.7.30.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\log4j-core-2.13.3.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\pagehelper-5.1.11.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\commons-logging-1.2.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\javassist-3.27.0-GA.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\slf4j-log4j12-1.7.30.jar;E:\北京尚学堂java 20200921\第六阶段\src1\软件\lib\mysql-connector-java-5.1.48.jar" com.bjsxt.test.InsertUsersGetKeyTest
<2021-02-09 19:21:51,385> DEBUG (LogFactory.java:105) [main] (org.apache.ibatis.logging.LogFactory) - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
<2021-02-09 19:21:51,394> DEBUG (VFS.java:116) [main] (org.apache.ibatis.io.VFS) - Class not found: org.jboss.vfs.VFS
<2021-02-09 19:21:51,395> DEBUG (JBoss6VFS.java:149) [main] (org.apache.ibatis.io.JBoss6VFS) - JBoss 6 VFS API is not available in this environment.
<2021-02-09 19:21:51,397> DEBUG (VFS.java:116) [main] (org.apache.ibatis.io.VFS) - Class not found: org.jboss.vfs.VirtualFile
<2021-02-09 19:21:51,397> DEBUG (VFS.java:64) [main] (org.apache.ibatis.io.VFS) - VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
<2021-02-09 19:21:51,397> DEBUG (VFS.java:74) [main] (org.apache.ibatis.io.VFS) - Using VFS adapter org.apache.ibatis.io.DefaultVFS
<2021-02-09 19:21:51,397> DEBUG (DefaultVFS.java:220) [main] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/pojo
<2021-02-09 19:21:51,398> DEBUG (DefaultVFS.java:247) [main] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/pojo
<2021-02-09 19:21:51,426> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: Users.class
<2021-02-09 19:21:51,426> DEBUG (DefaultVFS.java:111) [main] (org.apache.ibatis.io.DefaultVFS) - Listing file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/pojo
<2021-02-09 19:21:51,426> DEBUG (DefaultVFS.java:220) [main] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/pojo/Users.class
<2021-02-09 19:21:51,427> DEBUG (DefaultVFS.java:247) [main] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/pojo/Users.class
<2021-02-09 19:21:51,427> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: ����   4 =
<2021-02-09 19:21:51,428> DEBUG (ResolverUtil.java:288) [main] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.pojo.Users matches criteria [is assignable to Object]
<2021-02-09 19:21:51,449> DEBUG (PooledDataSource.java:363) [main] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2021-02-09 19:21:51,449> DEBUG (PooledDataSource.java:363) [main] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2021-02-09 19:21:51,450> DEBUG (PooledDataSource.java:363) [main] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2021-02-09 19:21:51,450> DEBUG (PooledDataSource.java:363) [main] (org.apache.ibatis.datasource.pooled.PooledDataSource) - PooledDataSource forcefully closed/removed all connections.
<2021-02-09 19:21:51,452> DEBUG (DefaultVFS.java:220) [main] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper
<2021-02-09 19:21:51,452> DEBUG (DefaultVFS.java:247) [main] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper
<2021-02-09 19:21:51,452> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersMapper.class
<2021-02-09 19:21:51,454> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: UsersMapper.xml
<2021-02-09 19:21:51,454> DEBUG (DefaultVFS.java:111) [main] (org.apache.ibatis.io.DefaultVFS) - Listing file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper
<2021-02-09 19:21:51,454> DEBUG (DefaultVFS.java:220) [main] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper/UsersMapper.class
<2021-02-09 19:21:51,454> DEBUG (DefaultVFS.java:247) [main] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper/UsersMapper.class
<2021-02-09 19:21:51,454> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: ����   4 @ > ? selectUsersAll ()Ljava/util/List; 	Signature *()Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersById (I)Lcom/bjsxt/pojo/Users; selectUsersOrderParam 6(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; N(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersAnnParam "RuntimeVisibleParameterAnnotations %Lorg/apache/ibatis/annotations/Param; value name sex selectUsersPOJOParam ((Lcom/bjsxt/pojo/Users;)Ljava/util/List; @(Lcom/bjsxt/pojo/Users;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersMapParam !(Ljava/util/Map;)Ljava/util/List; _(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsers (I)Ljava/util/List; +(I)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersRowBounds 7(Lorg/apache/ibatis/session/RowBounds;)Ljava/util/List; O(Lorg/apache/ibatis/session/RowBounds;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersLimit (II)Ljava/util/List; ,(II)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; offset limit insertUsers (Lcom/bjsxt/pojo/Users;)I insertUsersGetKey (Lcom/bjsxt/pojo/Users;)V insertUsersGetKey2 selectUsersByProperty selectUsersByChoose selectUsersByPropertyWhere selectUsersByLikeName $(Ljava/lang/String;)Ljava/util/List; <(Ljava/lang/String;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; usersUpdate selectUsersByIdUseCollection ((Ljava/util/Collection;)Ljava/util/List; @(Ljava/util/Collection;)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersByIdUseArray ([I)Ljava/util/List; ,([I)Ljava/util/List<Lcom/bjsxt/pojo/Users;>; selectUsersCount (Ljava/util/Map;)I 8(Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)I suibian insertUsersBatch (Ljava/util/List;)I +(Ljava/util/List<Lcom/bjsxt/pojo/Users;>;)I 
<2021-02-09 19:21:51,455> DEBUG (DefaultVFS.java:220) [main] (org.apache.ibatis.io.DefaultVFS) - Find JAR URL: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper/UsersMapper.xml
<2021-02-09 19:21:51,455> DEBUG (DefaultVFS.java:247) [main] (org.apache.ibatis.io.DefaultVFS) - Not a JAR: file:/E:/IDEA/%e7%ac%ac%e5%85%ad%e9%98%b6%e6%ae%b5/mybatis/mapperdemo/out/production/mapperdemo/com/bjsxt/mapper/UsersMapper.xml
<2021-02-09 19:21:51,457> DEBUG (DefaultVFS.java:100) [main] (org.apache.ibatis.io.DefaultVFS) - Reader entry: <?xml version="1.0" encoding="UTF-8"?>
<2021-02-09 19:21:51,458> DEBUG (ResolverUtil.java:288) [main] (org.apache.ibatis.io.ResolverUtil) - Checking to see if class com.bjsxt.mapper.UsersMapper matches criteria [is assignable to Object]
<2021-02-09 19:21:51,583> DEBUG (JdbcTransaction.java:137) [main] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Opening JDBC Connection
Tue Feb 09 19:21:51 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
<2021-02-09 19:21:51,818> DEBUG (PooledDataSource.java:434) [main] (org.apache.ibatis.datasource.pooled.PooledDataSource) - Created connection 1607305514.
<2021-02-09 19:21:51,819> DEBUG (JdbcTransaction.java:101) [main] (org.apache.ibatis.transaction.jdbc.JdbcTransaction) - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@5fcd892a]
<2021-02-09 19:21:51,822> DEBUG (BaseJdbcLogger.java:137) [main] (com.bjsxt.mapper.UsersMapper.insertUsersGetKey) - ==>  Preparing: insert into users values(default ,?,?)
<2021-02-09 19:21:51,849> DEBUG (BaseJdbcLogger.java:137) [main] (com.bjsxt.mapper.UsersMapper.insertUsersGetKey) - ==> Parameters: itbz-sxt3(String), male(String)
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: java.sql.SQLException: Field 'userid' doesn't have a default value
### The error may exist in com/bjsxt/mapper/UsersMapper.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: insert into users values(default ,?,?)
### Cause: java.sql.SQLException: Field 'userid' doesn't have a default value
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:199)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:62)
	at org.apache.ibatis.binding.MapperProxy$PlainMethodInvoker.invoke(MapperProxy.java:152)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:85)
	at com.sun.proxy.$Proxy4.insertUsersGetKey(Unknown Source)
	at com.bjsxt.test.InsertUsersGetKeyTest.main(InsertUsersGetKeyTest.java:15)
Caused by: java.sql.SQLException: Field 'userid' doesn't have a default value
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1912)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1251)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
	at com.sun.proxy.$Proxy6.execute(Unknown Source)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)
	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)
	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197)
	... 6 more

Process finished with exit code 1
package com.bjsxt.test;

import com.bjsxt.mapper.UsersMapper;
import com.bjsxt.pojo.Users;
import com.bjsxt.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;

public class InsertUsersGetKeyTest {
    public static void main(String[] args) {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UsersMapper usersMapper = sqlSession.getMapper(UsersMapper.class);
        Users users = new Users();
        users.setUsername("itbz-sxt3");
        users.setUsersex("male");
        usersMapper.insertUsersGetKey(users);
        sqlSession.commit();
        System.out.println(users.getUserid());
        MybatisUtils.closeSqlSession();
    }
}

不知道为什么出错。。


JAVA 全系列/第六阶段:项目管理与SSM框架/Mybatis 24959楼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>cookie案例</title>
    <style>
        .loginRegistDiv{
            text-align: center;
            padding: 15px;
            border: 1px solid black;
            width: 300px;
            min-height: 30px;
        }
        .welcomeDiv{
            text-align: center;
            padding: 15px;
            border: 1px solid black;
            width: 300px;
            min-height: 30px;
            display: none;
        }
        .nickNameSpan{
            color: green;
            font-size: 22px;
            font-weight: bold;
        }
    </style>
</head>
<body>
 <div class="loginRegistDiv">
     <lable for="userName">
         <span>用户名:</span><input type="text" id="userName" placeholder="请输入用户名">
     </lable><br><br>
     <lable for="password">
         <span>密&nbsp;&nbsp;&nbsp;码:</span><input type="text" id="password" placeholder="请输入密码">
     </lable><br><br>
     <button class="loginBtn">登录</button>
     <button class="registBtn">注册</button>
 </div>
<div class="welcomeDiv">
    欢迎回来,尊敬的:
    <span class="nickNameSpan">哈哈哈</span>
    <br><br>
    <button class="exitBtn">注销登录</button>
</div>
 <script>
     //页面逻辑
     ;(function () {
         var loginBtn=document.querySelector('.loginBtn');
         var userNameInput=document.querySelector('#userName');
         var passwordInput=document.querySelector('#password');
         var welcomeDiv=document.querySelector('.welcomeDiv');
         var loginRegistDiv=document.querySelector('.loginRegistDiv');
         var nickNameSpan=document.querySelector('.nickNameSpan');
         var exitBtn=document.querySelector('.exitBtn');
         //表示一个自动登录的功能
         function getCookie() {
             var cookie=document.cookie;
             var cookieArr=cookie.split(';');
             // console.log(cookieArr);//得到的是数组 (2) ["uname=beixi", " userId=120123"]
             var finalObj={};
             for (var i=0;i<cookieArr.length;i++){
                 //trim()是去除空格
                 var tempArr=cookieArr[i].trim().split('=');
                 //console.log(tempArr);//(2) ["uname", "beixi"]  (2) ["userId", "120123"]
                 finalObj[tempArr[0]]=tempArr[1];
             }
             return finalObj;
         }
         console.log(getCookie());
         var cookieObj=getCookie();
         //判断cookie存储的nickName是否存在
         if (cookieObj.nickName!=undefined){
             if (cookieObj.nickName.length!=0){
                 loginRegistDiv.style.display='none';
                 welcomeDiv.style.display='block';
                 nickNameSpan.innerHTML=cookieObj.nickName;
             }
         }
         loginBtn.onclick=function () {
            //发送Ajax请求
             var xhr=new XMLHttpRequest();
             xhr.onreadystatechange=function () {
                 if (xhr.readyState==4){
                     if (xhr.status==200){
                         var data=xhr.responseText;
                         if (data.infoCode==0){
                             loginRegistDiv.style.display='none';
                             welcomeDiv.style.display='block';
                             nickNameSpan.innerHTML=data.nickName;
                         }
                     }
                 }
             };
             var formData=new FormData();
             formData.append('uname',userNameInput.value);
             formData.append('upass',passwordInput.value);
             xhr.open('post','7-cookie案例后台.php',true);
             xhr.send(formData);
         };
         //退出登录按钮
         exitBtn.onclick=function () {
             userNameInput.value='';
             passwordInput.value='';
             loginRegistDiv.style.display='block';
             welcomeDiv.style.display='none';
             //清除cookie
             var expires=new Date(new Date().getTime()+1).toGMTString();
             document.cookie='nickName=beixi,expires='+expires;
         }
     })();
 </script>
</body>
</html>

php:
 <?php
$success=array('msg'=>'ok');
$userName=$_POST['uname'];
$password=$_POST['upass'];
//连接数据库
try{
$con=new PDO('mysql:host=localhost;dbname=beixidb','root','');
   if($con){
      //添加辅助设置
      mysqli_query($con,'set names utf8');
      mysqli_query($con,'set character_set_client utf8');
      mysqli_query($con,'set character_set_results utf8');
      $sql="select * from userinfo where 1";
      $result=$con->query($sql);
      //解析查询的结果
      if($result->num_rows>0){
        $info=[];
        for($i=0;$row=$result->fetch_assoc();$i++){
          $info[$i]=$row;
        }
        //$success['infoCode']=$info;//拿到数据了
        //得到解析数组后,判断用户发来的内容是否存在于数据库中
        $flag=0;//只要执行break,就变为1,否则一直为0
        for($j=0;$j<count($info);$j++){
         //判断是否与当前条目的用户名相同
         if($info[$j]['username']==$username){
            //如果相同,继续判断是否是当前条目的密码
            if($info[$j]['password']==$password){
                $success['infoCode']=0;
                $flag=1;
                break;
            }
         }
        }
        if($flag==0){
        $success['infoCode']=1;
        }
      }else{
        $success['infoCode']=1;
      }
      }else{
      //向前台返回信息
      //0代表登录成功,1代表登录失败,2代表数据库连接失败
      $success['infoCode']=2;
      }
}catch(PDOException  $err){
echo '出现错误信息:'.$err->getMessage();
}
setcookie('nickName','beixi',time()+3600*24);
//回馈前端表示登录成功,使用状态码infoCode  0表示成功  1表示失败
$success['infoCode']=0;
$success['nickName']='beixi';
echo json_encode($success);
?>

老师,我总觉得我的优点问题,但是又找不到代码出错的地方,老师帮忙看看呗,谢谢老师

WEB前端全系列/第九阶段:HTML5新特性模块/(旧)H5新特性 24960楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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