用户名密码登陆后,还是跳转到登陆界面 5C

前段时间公司访问网站的协议升级到了https,但是却出现了这样一个问题:

当把公司网址加入到可信站点后,就会出现 用户名密码登陆后,还是跳转到登陆界面;

去掉可信站点后,就可以正常登陆。

有哪位能帮我看看这个问题?

4个回答

跳转到哪个页面不是后台控制的吗?

查看下后台控制登录的代码,然后改下登录成功那个地方。

这个没遇见过,不过你先确定登录成功 有没有执行你的正常跳转代码,先确定是没执行跳转,还是执行之后有被强制跳转到登录页面

是你的代码不兼容,改改,有毛病

肯定是被拦截器拦截了,看看HttpSession

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
不同类型用户跳转不同界面C#
将用户输入的用户名,密码,用户类型与数据库里的对比,对比成功后根据用户类型跳转到不同界面 如何用c#代码实现
PHP+用户名及密码登陆
我自己搭建了一个本地的博客网站,现在想实现即使知道文件路径的情况下,依然必须通过用户名登陆才能管理后台,如何实现? 我现在虽然已经有了用户的登陆页面,但是在知道后台页面路径的情况下,直接用路径就可以访问,绕过了用户名登陆,如何避免这种情况? 有收集相关资料,方向应该是后台管理界面依然需要用户名及密码验证,我现在的做法是在login.php页面就会验证用户名和密码,如果验证OK,会直接跳转到后台编辑页面,这样的做法无法避免直接用路径访问,如果在编辑页面加入二次验证就可以避免路径直接访问,问题是如何做?
输入用户名和密码IE9可以而ie10不能跳转
登陆界面,输入用户名和密码,用IE10不能登陆,换了个Google浏览器就可以,把IE10卸载换成ie9也能打开,不知道这是什么原因
表单提交后页面跳转问题
表单提交后html页面好像跳转了,对话框弹出新页面JavaScript写的内容,屏幕显示的还是原来的界面,地址栏也没变。但我手动输入新页面的URL地址,正确显示了新页面的内容和地址。 旧的页面是login.jsp,这是后端跳转的代码: @RequestMapping("/logUser") public String logUser(User user, Model model) { List<User> userlist1 = userService.searchUser1(); for (User user1 : userlist1) { if (user.getUsername().equals(user1.getUsername()) && user.getPassword().equals(user1.getPassword())) { model.addAttribute("loginsuccess", "登陆成功"); model.addAttribute("currentUser", user1); return "userindex"; } if (user.getUsername()==null||user.getUsername().trim()==""||user.getPassword()==null||user.getPassword().trim()=="") { model.addAttribute("loginnull", "请输入用户名或密码"); return "login"; } } model.addAttribute("loginfail", "用户名或密码错误"); return "login"; } 新界面userindex.jsp用EL表达式将model值取出,并用JavaScript获取元素弹框。登陆成功后提示登陆成功,但还在旧的页面 ![图片说明](https://img-ask.csdn.net/upload/201911/12/1573547142_531217.png) ![图片说明](https://img-ask.csdn.net/upload/201911/12/1573547374_618268.png)
Android的登录界面和注册界面之间的跳转问题
想做一个简易系统 1.软件名字为“CardsAssistant”,兼容Android4.0以上版本。 2. 当用户启动本软件,显示标题为“CardsAssistant”的登录页面,如图1所示,登录页面中有两个名为“账户名”、“密码”的TextView,这两个TextView分别对应一个EditText,当用户点击“取消”按钮时,当前CardsAssistant页面关闭,退回到手机桌面;当用户首次点击“登录”时,则弹出标题为“Regist”注册页面,如图所示,若已经注册后点击“登录”,则弹出标题为CardList的名片列表页面,如图所示。软件能够对账户密码具有记忆功能,注册之后下次启动时,账户名及密码自动显示在相应的EditText中。 具体的图是这样的: ![图片说明](https://img-ask.csdn.net/upload/201511/21/1448118843_275290.png) 登录界面和注册界面之间的跳转是可以做到了,但是第二次点击登录的时候怎么才能跳转到其他界面呢?求各位大神指教,新手来的
QT中用QWebEngineView从旧页面打开新页面
在QT中用QWebEngineView显示一个登陆网页,然后在网页中输入用户名和密码,点击登陆后会跳转页面,然后我再页面上点击一个新的链接后,正常来说会新打开一个新网站(新打开,不是跳转)。但是目前不能打开新的网站,并且QT报[8716:8352:0221/201308.884:ERROR:frame_sink_provider_impl.cc(51)] No RenderWidgetHost exists with id 6 in process 3。 大佬们这是什么原因啊?怎么实现新打开一个网站呢? ////// 根据大佬的指点,重写了createwindow函数,直接返回this。但是在打开二级界面时还是报错:ASSERT: "m_adapterClient" in file C:/Users/qt/work/qt/qtwebengine/src/core/web_contents_adapter.cpp, line 470 ![图片说明](https://img-ask.csdn.net/upload/202002/24/1582514099_379463.png)
用PHP做后台登陆界面时候所遇到的问题
我用表单做的,当我点击登陆时候会触发一个事件,事件是一个用js写的函数,该函数是用来检查用户是不是输入了用户名和密码,同时也会提交一个表单,它是通过action属性跳转到检验所输入的用户名和密码是不是和数据库中的用户名和密码一样的功能,问题就是当我输入空的用户明和密码的时候,有js 写的提示框提示我输入用户名和密码,但当我点击提示框的确定时候程序依然走action中的php文件,不是回到登陆框,求解
cas 登陆和用户认证相关问题;
1:小弟现在使用cas做项目, 遇到这样一个问题, 项目A和项目B通过cas 认证管理, 进行单点登陆, 在访问项目A的时候由于两个应用都没有登陆, 然后程序会自动跳转到 cas登陆界面进行登陆, 然后就登陆cas并进入到项目A中, 但是我现在访问项目B的使用, 程序还是又跳转到了 cas 登陆界面进行登陆, 这不符合单点登陆的逻辑, 按理来说应该登陆项目A后, 再进行项目B就不需要登陆cas了 , 请问各位大神有不有解决办法, (目前自己找到的方法是参考:http://denger.iteye.com/blog/809170 这里面的方法) 2:用户认证问题, 现在问题是这样的, 现在我有一个账号A 登陆到了cas, 并做了项目用户映射, 账号A映射到 项目A下的账号是A1, 映射到项目B的账号是A2, 问题就来了, A1 和 A2 的账号名和密码是不一样的, 我在进入项目A怎么能分清 到底是该用A1还是A2去登陆啦; (小弟现在的处理方法是 在做映射的时候标示了 A1和A2 分别是属于那个项目的用户名和密码, 各位大神有不有更好的解决方案啦)
Spring mvc 如何实现带参数跳转到外部网站页面
还是在校生,接触spring时间很多,硬着头皮在做一个项目。需求是使用当前网站现成的用户名密码,模拟登录外部网站。(就是登录当前网站的用户,点击链接可以直接跳转到外部网站的登陆后界面) 比如当前网站是www.test.com 目标网站是www.goal.com 我的想法是:先http post登录到目标网站,再想办法重定向到www.goal.com。不能直接writer.write(response),因为我发现response里的js,css,图片等等都是相对url,让本地服务器解析会套用www.test.com的根目录,就找不到对应的资源。 但是重定向也不行,需要想办法把cookie一起送到www.goal.com 所以就想问问有什么办法在重定向之前可以addheader吗 或者其实有其他真正合理的方法,求赐教!
Android studio访问mysql闪退,本地测试可以
使用为mysql-connector-java-8.0.16.jar以及mysql8.0.19 在本地测试通过 public class DBUtils { private static String driver = "com.mysql.cj.jdbc.Driver";//MySQL 驱动 private static String url = "jdbc:mysql://192.168.2.146:3306/helper?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";//MYSQL数据库连接Url private static String user = "wang";//用户名 private static String password = "Imissyou**";//密码 private static Connection getConnection() { Connection conn = null; try { Class.forName(driver); // conn = DriverManager.getConnection(url,user,password); } catch (SQLException ex) { ex.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } return conn; } public static Map<String, String> login(User user) { HashMap<String, String> map = new HashMap<>(); Connection conn = getConnection(); try { Statement st = conn.createStatement(); String sql= "select * from user where username ='" + user.getUsername() + "' and password ='" + user.getPassword() + "'"; ResultSet res = st.executeQuery(sql); if (res == null) { return null; } else { int cnt = res.getMetaData().getColumnCount(); res.next(); for (int i = 1; i <= cnt; ++i) { String field = res.getMetaData().getColumnName(i); map.put(field, res.getString(field)); } conn.close(); st.close(); res.close(); return map; } } catch (Exception e) { e.printStackTrace(); return null; } } public static void main(String []args){ User user = new User("aaa","123456"); Map<String,String> result= DBUtils.login(user); System.out.println(result); } } 但是在主界面绑定事件,访问数据库时直接闪退并报错 ![图片说明](https://img-ask.csdn.net/upload/202003/15/1584252548_20385.jpg) 主界面代码如下: package com.example.helper; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.StrictMode; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.util.Map; public class MainActivity extends AppCompatActivity { private Button register; private Button login_user; private TextView forget_password; private TextView login_visitor; private EditText et_username; private EditText et_password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 init(); //注册界面跳转 register.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Intent intent = new Intent(MainActivity.this, RegisterActivity.class); startActivity(intent); } }); //登录功能未加载,等待后台数据库完善 login_user.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String username = et_username.getText().toString(); //获取用户名 String password = et_password.getText().toString(); //获取密码 if(TextUtils.isEmpty(username)){ Toast.makeText(MainActivity.this,"请输入用户名",Toast.LENGTH_SHORT).show(); } else if(TextUtils.isEmpty(password)){ Toast.makeText(MainActivity.this,"请输入密码",Toast.LENGTH_SHORT).show(); } //本地管理员帐号 else if(username.equals("admin")&&password.equals("admin")){ Intent intent = new Intent(MainActivity.this,HomePageActivity.class); startActivity(intent); } //else Toast.makeText(MainActivity.this,"未连接后台数据库",Toast.LENGTH_SHORT).show(); else{ User user = new User(username,password); checkLogin(user); //Toast.makeText(MainActivity.this,"已获取"+username+" "+password,Toast.LENGTH_SHORT).show(); } } }); //首页跳转 login_visitor.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Intent intent = new Intent(MainActivity.this, HomePageActivity.class); startActivity(intent); } }); //找回密码界面跳转 forget_password.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this,ForgetPasswordActivity.class); startActivity(intent); } }); } private void init() { et_username = findViewById(R.id.et_username); et_password = findViewById(R.id.et_password); register = findViewById(R.id.btn_2); login_user = findViewById(R.id.btn_1); login_visitor = findViewById(R.id.login_visitor); forget_password = findViewById(R.id.forget_password); } class DBThread implements Runnable { private User user; private Context context; public void setUser(User user) { this.user = user; } public void setContext(Context context) { this.context = context; } @Override public void run() { Map<String,String> result= DBUtils.login(user); /* if (result != null && result.size() > 0) { Intent intent = new Intent(MainActivity.this,HomePageActivity.class); Toast.makeText(MainActivity.this,"有此帐号",Toast.LENGTH_SHORT).show(); startActivity(intent); } */ } } private void checkLogin(User u) { DBThread dt = new DBThread(); dt.setUser(u); dt.setContext(MainActivity.this); Thread thread = new Thread(dt); thread.start(); } }
Django2.0中form表单提交跳转到另一个界面目录重复导致404?
# 1.写了个简单的from表单登陆跳转,提交之后登陆页面的路径重复报错404, 1.1)urls: ``` from django.contrib import admin from django.urls import path ,re_path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), re_path('^login.html/$',views.login), re_path('^indexUser.html/$',views.index), ] ``` 1.2)views代码: ``` def login(req): message='' print('userName',req.method) print('url'+req.path) # if req.method == "POST": # userName = req.POST.get("userName") # pwd = req.POST.get("pwd") # if userName=='mufenglin' and pwd =='mufenglin': # res = redirect('/index.html') # res.set_cookie('userName',userName) # return res # else: # message='用户名或者密码错误' return render(req,"login.html",{'message':message}) def index(req): #如果用户已经登陆,获取用户名 #否则返回登陆页面 print(req.COOKIES.get("userName")) if req.COOKIES.get("csrf_token"): userName = 'gongsunyang' return render(req,"indexUser.html",{'userName':userName}) else: return redirect("/login.html") ``` 1.3form表单 ``` <!DOCTYPE HTML> <html> <head> <title>Home</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <form action="login.html" method="post"> {% csrf_token %} <div> <label for="user">用户名:</label> <input id ="user" type="text" name="userName"/> </div> <div> <label for="password">密码: </label> <input id="pwd" type="password" name="pwd"/> </div> <div> <input type="submit" value="登陆"/> <span style="color:#ffd155;">{{ message }}</span> </div> </form> </body> </html> ``` 2.操作步骤: ![图片说明](https://img-ask.csdn.net/upload/201907/10/1562771865_39668.png) 3.报错截图 ![图片说明](https://img-ask.csdn.net/upload/201907/14/1563079101_356461.png)
WeUI如何设计登陆界面
我用JS实现了登陆界面,如图所示(图片是GIF,若无法显示,点进去即可): ![图片说明](https://img-ask.csdn.net/upload/201806/05/1528142904_666808.gif) 但是移植到WeUI项目里去就不行了,烦请各位大神帮忙看一下,如何在WeUI里面实现相同的功能,账号密码不需要连数据库,使用字符串验证。 WeUI代码很简单,下载地址:https://pan.baidu.com/s/1ARGadPZS3o_LZeF_YPnVRw 不想下载的话我也把代码贴上来: ``` <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,viewport-fit=cover"> <title>智能大棚</title> <link rel="stylesheet" href="public/css/weui.css"/> <link rel="stylesheet" href="public/css/index.css"/> </head> <body ontouchstart> <div class="container" id="container"></div> <script type="text/html" id="tpl_home"> <div class="page"> <div class="page__hd"> <h1 class="page__title"> <img src="public/images/logo.png" alt="logo" width="100%" /> </h1> <p class="page__desc">用户登录</p> </div> <div class="page__bd page__bd_spacing"> <div class="weui-cells weui-cells_form"> <div class="weui-cell"> <div class="weui-cell__hd"> <label class="weui-label">账号</label> </div> <div class="weui-cell__bd"> <input class="weui-input name" name="NAME" type="text" placeholder="请输入账号"> </div> </div> <div class="weui-cell"> <div class="weui-cell__hd"> <label class="weui-label">密码</label> </div> <div class="weui-cell__bd"> <input class="weui-input pwd" name="PWD" type="password" placeholder="请输入密码"> </div> </div> </div> <div class="hb_mar_top_40"> <a href="javascript:;" class="weui-btn weui-btn_primary" id=submit_btn>登录</a> </div> </div> <!-- <div class="page__ft"> <a href="javascript:home()"><img src="public/images/icon_footer.png" /></a> </div> --> <!--BEGIN toast--> <div id="toast" style="display: none;"> <div class="weui-mask_transparent"></div> <div class="weui-toast"> <i class="weui-icon-success-no-circle weui-icon_toast"></i> <p class="weui-toast__content">登录成功</p> </div> </div> <!--end toast--> <!--BEGIN cancelToast--> <div id="cancelToast" style="display: none;" > <div class="weui-mask_transparent"></div> <div class="weui-toast"> <i class="weui-icon-cancel weui-icon_toast"></i> <p class="weui-toast__content">登录失败</p> </div> </div> <!--end cancelToast--> <!-- loading toast --> <div id="loadingToast" style="display:none;"> <div class="weui-mask_transparent"></div> <div class="weui-toast"> <i class="weui-loading weui-icon_toast"></i> <p class="weui-toast__content">Loading</p> </div> </div> </div> </script> <script src="public/js/zepto.min.js"></script> <script src="public/js/jweixin-1.0.0.js"></script> <script src="public/js/weui.min.js"></script> <script src="public/js/index.js"></script> <script type="text/javascript"> $(function(){ $("#submit_btn").click(function(){ var username = $('.name').val(); var pass = $('.pwd').val(); if(username.value=="") { alert("请输入用户名"); username.focus(); return false; } else if(pass.value=="") { alert("请输入密码"); password.focus(); return false; } else if((pass.value=="admin")&&(username.value=="admin")) { window.location.href="www.baidu.com"; } else { showToast({ title: '用户名和密码不能为空'}) return false; } return false; }); //登录成功 function toast(){ var $toast = $('#toast'); if ($toast.css('display') != 'none') return; $toast.fadeIn(100); setTimeout(function () { $toast.fadeOut(100); location.href="http://39.105.24.124/18034#/layout/watch"; //成功后跳转 }, 500); } //登录失败 function canceltoast(){ var $cancelToast = $('#cancelToast'); if ($cancelToast.css('display') != 'none') return; $cancelToast.fadeIn(100); setTimeout(function () { $cancelToast.fadeOut(100); }, 500); } //Loading加载 function loadingtoast(){ var $loadingToast = $('#loadingToast'); if ($loadingToast.css('display') != 'none') return; $loadingToast.fadeIn(100); setTimeout(function () { $loadingToast.fadeOut(100); }, 500); } }); </script> </body> </html> ```
关于js判断用户名和密码的问题
遇到一个问题,就是判断用户名和密码里面判断不为空的条件怎么写,我用了两种判断 方法,分别遇到两个不同的问题. 第一个是第三方登录时,调到登录界面,需要点击确认才能提交表单,不能直接进入 ``` $(function() { var username = $('#username').val(); var password = $('#password').val(); if( !username && typeof(username)!="undefined" && username!=0 && !password && typeof(password)!="undefined" && password!=0 ){ $("#loginForm").submit(); } ``` 另外一种第三方登录时可以直接跳转进去,但是如果账号或密码错误时会一直刷新界面 ``` var username = $('#username').val(); var password = $('#password').val(); if( username!=undefined && username!=0 && password!=undefined && password!=0 ){ $("#loginForm").submit(); } ``` 请问是哪里出了问题,怎么写判断条件才是正确的呢?
基于springmvc+mybatis的登录表单提交后404
前端填写正确的用户名和密码后,提交登录,浏览器显示404,前端提交的地址是/userlogin,后端对接的/user/userlogin也是对的,浏览器f12里显示请求的确成功传给了后端,但是不知道为什么404。用的是tomcat8.5,java版本1.8,phpstudy最新版,mysql5.7.26。 ## 这是所用到的包: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580567617_880785.jpg) ## 这是目录结构: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580567511_223692.jpg) ## 这是web.xml: ```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_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>springmvc_test</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- 配置spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 加载spring配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/context-config.xml</param-value> </context-param> <!-- 配置前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- DispatcherServlet在初始化方法里面会读取该初始化参数的值来获得 spring配置文件的位置 ,然后启动spring容器。 --> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/springmvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- 配置字符编码 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> ``` ## 这是context-config.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 扫描service包下的注解 --> <context:component-scan base-package="com.test.service"></context:component-scan> <!-- 配置数据库 --> <!-- 加载配置文件 --> <!-- <context:property-placeholder location="classpath:jdbc.properties"/> --> <bean id="dateSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/Eday_Test"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </bean> <!-- 配置Sqlsessionfactory并将数据源注入 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 引入数据源 --> <property name="dateSource" ref="dateSource"></property> <!-- 载入mybatis配置文件 --> <property name="configLocation" value="classpath:mybatis-config.xml"></property> <!-- 载入配置mapper映射的xml --> <property name="mapperLocations" value="classpath:com/test/mapper/*.xml"></property> </bean> <!-- 配置扫描mapper接口 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackge" value="com.test.mapper"></property> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dateSource" ref="dateSource"></property> </bean> <tx:annotation-driven transaction-manager="transactionManager"/> </beans> ``` ## 这是mybatis-config.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <!-- 配置别名 --> <typeAlias alias="User" type="com.test.pojo.User"/> </typeAliases> </configuration> ``` ## 这是springmvc-config.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 扫描controller包下的注解 --> <context:component-scan base-package="com.test.controller"></context:component-scan> <!-- 开启注解 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 静态资源访问 --> <mvc:default-servlet-handler/> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 配置试图解析的默认路径,即配置页面的根路径 --> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans> ``` ## 这是UserController.java: ```java package com.test.controller; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.test.pojo.User; import com.test.service.UserService; //声明控制器 @Controller //设置bean的scope属性为多例(prototype) @Scope("prototype") //设置请求映射,当客户端请求/user时,转到该控制器处理 @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value="/userlogin") public ModelAndView login(String user_Name,String user_pwd,ModelAndView mv,HttpSession session){ //调用userService中的login方法处理user实体类对象 User user = userService.login(user_Name,user_pwd); //登录的逻辑判断,判断条件是返回结果不为空 if(user!=null){ //登陆成功,将user对象设置到HttpSession作用范围域中,相当于服务端的cookie,有效时间默认30分钟 //在程序运行期间,在任意页面都可以提取它的值。 session.setAttribute("user",user); //转发到main请求 //登录成功,跳转页面 mv.setViewName("login/login-success"); }else{ //登录失败,向前端传递失败信息 mv.addObject("message","用户名或密码错误,请重新输入!"); //登录失败,跳转到登录页面 mv.setViewName("login"); } return mv; } //跳转到用户注册界面 @RequestMapping(value="/userregister"/*,method=RequestMethod.POST*/) public String register(User user){ String user_Name = user.getUser_Name(); //如果数据库中没有该用户,可以注册,否则跳转页面 if(userService.findByUserName(user_Name)==null){ //添加用户 userService.register(user); //注册成功,跳转到主页面 return "index"; }else{ //注册失败,跳转到错误页面 return "error"; } } } ``` ## 这是UserMapper.java: ```java package com.test.mapper; import org.apache.ibatis.annotations.Param; import com.test.pojo.User; public interface UserMapper { //根据用户名和密码查找,mybatis中有多个参数时,需要使用@Param注解 User findByUserNameAndPassword(@Param("user_Name")String user_Name,@Param("user_Pwd")String user_Pwd); //增加用户 void addUser(User user); //根据用户名查询 User findByUserName(String user_Name); } ``` ## 这是UserMapper.xml: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.tes.mapper.UserMapper"> <!-- 根据用户名和密码查询 --> <select id="findByUserNameAndPasssword" resultType="User"> select * from user where user_Name=#{user_Name} and user_Pwd=#{user_Pwd} </select> <!-- 增加用户 --> <insert id="addUser" parameterType="User"> insert into user (user_Name,user_Pwd,user_Email,user_NickName,user_Birth,user_Phone,user_InvitationCode) values(#{user_Name},#{user_Pwd},#{user_Email},#{user_NickName},#{user_Birth},#{user_Phone},#{user_InvitationCode}) </insert> <!-- 根据用户名查询 --> <select id="findByUserName" resultType="User"> select * from user where user_Name=#{user_Name} </select> </mapper> ``` ## 这是User.java: ```java package com.test.pojo; import java.sql.Timestamp; public class User { private int user_Id; private String user_Name; private int user_Pwd; private String user_Email; private String user_NickName; private Timestamp user_Time; private String user_Birth; private int user_Fans; private int user_Follow; private int user_Score; private String user_HeadImgAddr; private int user_Phone; private String user_InvitationCode; public int getUser_Id() { return user_Id; } public void setUser_Id(int user_Id) { this.user_Id = user_Id; } public String getUser_Name() { return user_Name; } public void setUser_Name(String user_Name) { this.user_Name = user_Name; } public int getUser_Pwd() { return user_Pwd; } public void setUser_Pwd(int user_Pwd) { this.user_Pwd = user_Pwd; } public String getUser_Email() { return user_Email; } public void setUser_Email(String user_Email) { this.user_Email = user_Email; } public String getUser_NickName() { return user_NickName; } public void setUser_NickName(String user_NickName) { this.user_NickName = user_NickName; } public Timestamp getUser_Time() { return user_Time; } public void setUser_Time(Timestamp user_Time) { this.user_Time = user_Time; } public String getUser_Birth() { return user_Birth; } public void setUser_Birth(String user_Birth) { this.user_Birth = user_Birth; } public int getUser_Fans() { return user_Fans; } public void setUser_Fans(int user_Fans) { this.user_Fans = user_Fans; } public int getUser_Follow() { return user_Follow; } public void setUser_Follow(int user_Follow) { this.user_Follow = user_Follow; } public int getUser_Score() { return user_Score; } public void setUser_Score(int user_Score) { this.user_Score = user_Score; } public String getUser_HeadImgAddr() { return user_HeadImgAddr; } public void setUser_HeadImgAddr(String user_HeadImgAddr) { this.user_HeadImgAddr = user_HeadImgAddr; } public int getUser_Phone() { return user_Phone; } public void setUser_Phone(int user_Phone) { this.user_Phone = user_Phone; } public String getUser_InvitationCode() { return user_InvitationCode; } public void setUser_InvitationCode(String user_InvitationCode) { this.user_InvitationCode = user_InvitationCode; } @Override public String toString() { return "User [user_Id=" + user_Id + ", user_Name=" + user_Name + ", user_Pwd=" + user_Pwd + ", user_Email=" + user_Email + ", user_NickName=" + user_NickName + ", user_Time=" + user_Time + ", user_Birth=" + user_Birth + ", user_Fans=" + user_Fans + ", user_Follow=" + user_Follow + ", user_Score=" + user_Score + ", user_HeadImgAddr=" + user_HeadImgAddr + ", user_Phone=" + user_Phone + ", user_InvitationCode=" + user_InvitationCode + "]"; } } ``` ## 这是UserService.java: ```java package com.test.service; import com.test.pojo.User; public interface UserService { //通过用户名及密码核查用户登录 User login(String user_Name,String user_Pwd); //增加用户 void register(User user); //根据用户名查询 User findByUserName(String user); } ``` ## 这是UserServiceImpl.java: ```java package com.test.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.test.mapper.UserMapper; import com.test.pojo.User; import com.test.service.UserService; @Service @Transactional public class UserServiceImpl implements UserService { //注入UserMapper接口 @Autowired private UserMapper userMapper; //登录,根据用户名和密码进行查询 @Override public User login(String user_Name,String user_Pwd){ return userMapper.findByUserNameAndPassword(user_Name,user_Pwd); } //注册,增加用户 @Override public void register(User user){ userMapper.addUser(user); } //根据用户名查询 @Override public User findByUserName(String user_Name){ return userMapper.findByUserName(user_Name); } } ``` ##这是login.jsp ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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"> <link rel="stylesheet" type="text/css" href="../css/login.css" /> <title>登录</title> </head> <body> <!--导航栏--> <nav class="nav"> <ul> <li class="logo"><a href="#">Eday</a></li> <li class="shouye"><a href="../index.jsp" class="neirong">首页</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">文章列表</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">留言板</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">更新日志</a></li> </ul> </nav> <!--登录板块--> <header class="header"> <p class="logintitle"> <b>登录</b> </p> <form action="${pageContext.request.contextPath }/user/userlogin" method="post" class=login-form> <p class= login-username-p> <label for="username" class="login-username-text">用户名:</label> <input type=text name="user_Name" class="login-username-input"> <br><a href="register.jsp" class=login-register>注册</a> </p> <p class="login-psw-p"> <label for="psw" class="login-psw-text">密码:</label> <input type=password name="user_Pwd" class="login-psw-input"> <br><a href="#" class=login-forget>忘记密码</a> </p> <div class=login-button-div> <label for=button></label> <button type=sublim class=login-button>登录</button> </div> </form> </header> </body> </html> ``` ## 这是login-success.jsp: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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>登录成功,请等待跳转...</title> <script type="text/javascript"> onload=function(){ setInterval(go, 1000); }; var x=3; //利用了全局变量来执行 function go(){ x--; if(x>0){ document.getElementById("sp").innerHTML=x; //每次设置的x的值都不一样了。 }else{ location.href='../index.jsp'; } } </script> </head> <body> <!--导航栏--> <nav class="nav"> <ul> <li class="logo"><a href="#">Eday</a></li> <li class="shouye"><a href="../index.jsp" class="neirong">首页</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">文章列表</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">留言板</a></li> <li class="fgx">|</li> <li><a href="#" class="neirong">更新日志</a></li> </ul> </nav> <header> <div> <p>登录成功!页面将在3秒后自动跳转,请稍等...</p> </div> </header> </body> </html> ``` ## 这是数据库: ![图片说明](https://img-ask.csdn.net/upload/202002/01/1580568589_694404.jpg)
各位大神我想做一个基于android的互联网统一身份认证系统
只要通过android验证就可以访问web服务器的网页,网页简单的就是登陆界面和登录成功失败界面,当用户吧手机号输入到web的登录框点击确定就可以发送到android手机,android端输入用户名和密码就可以完成验证,若点击准许跳转到成功界面,不准许就跳转到失败界面。求大神们帮我啊
用户名密码登录,数据存在数据库中的user表中,为何我的网页只能按其中的一条登录。
问题简单的来说就是他只认其中的某一条数据,其他的都会显示用户名密码错误 ``` protected void Button1_Click(object sender, EventArgs e) { DataSetTableAdapters.UserTableAdapter ada = new DataSetTableAdapters.UserTableAdapter(); DataSet.UserDataTable table1 = new DataSet.UserDataTable(); ada.Fill(table1); //查询表数据 for (int i = 0; i < table1.Rows.Count; i++) { if (TextBox1.Text == table1.Rows[i]["UserID"].ToString() && TextBox2.Text == table1.Rows[i]["passWord"].ToString()) { string a = TextBox1.Text; Server.Transfer("Menu.aspx?name=" + a); //跳转到Menu页面 } else { Label3.Text = "用户名或密码错误!"; Label3.ForeColor = System.Drawing.Color.Red; TextBox1.Text = " "; } } } ``` 这个是登录界面到数据库内寻找用户名密码是否匹配的代码,dataset里有User的表和adapter。 我现在的问题是我即使里面有两条数据,他好像也只能按照一条进行登录。我试验了一下分为三种情况: 1.如果我里面是123,123一条数据,是可以用123,123登陆的。 2.如果我里面是234,234一条数据,是可以用234,234登陆的。 3.但里面如果是123,123;234,234两条数据,我就只能用123,123登录,用234,234登录会显示用户名或密码错误。 我一共搞过3组数据,123,234,abc,发现123>234>abc,也就是如果前面存在的话,后面的就无法登录,但是单独的都可以。而且与存放在数据库的上下顺序无关 错误很诡异..我也是实在没有办法了 ![图片说明](https://img-ask.csdn.net/upload/201904/01/1554111735_459866.png)![图片说明](https://img-ask.csdn.net/upload/201904/01/1554111741_854148.png) 感谢各位!
Web开发-登录界面点击登录按钮没反应
**login.html** ``` <!DOCTYPE html> <html> <head> <title>登录</title> <link rel="stylesheet" type="text/css" href="css/login.css"> <script src="js/bootstrap.min.js"></script> <script src="js/jquery.min.js"></script> <script src="js/frame.js"></script> <meta charset="UTF-8"> </head> <body> <div class="contain"> <div class="logintop"> </div> <div class="loginbody"> <div class="logindiv"> <form id="loginform" name="loginform" class="loginform"> <ul> <li> <input name="username" type="text" class="loginuser" value="" placeholder="输入账号" maxlength="100" id="username" errormsg="密码长度在6-16位之间"/> </li> <li> <input name="password" type="password" class="loginpwd" value="" placeholder="输入密码" id="password" errormsg="密码长度在6-16位之间"/> </li> <li> <input name="btnRtSubmit" type="button" class="loginbtn" id="btnRtSubmit" value="登录"/> </li> </ul> </form> </div> </div> <div class="loginbottom"> 版权所有 2019 Star-Net </div> </div> </body> </html> ``` **frame.js** ``` (function($){ alert("1"); function login(event){ alert("2"); event.preventDefault(); var userName = $("#username").val();//获取用户名 var password = $("#password").val();//获取密码 //Ajax向后台提交用户名、密码 alert("userName:"+userName+" password:"+password); $.post("/UserManager/loginController.do",{ username:userName, password:password }, function(data){ if((typeof(data)!="undefined")&&(null!= data) &&(0==data)){ //登录成功后隐藏登录表单 $(".contain").hide(); //登录成功后跳转到用户列表页 $("#content").load("/UserManager/listUserController.do"); } }); } $("#btnRtSubmit").bind("click",login);//为btnRtSubmit绑定事件 })($); ``` **我觉得问题应该出在frame.js上,但找不出问题在哪,大佬救我**
DW作业求大神啊啊啊啊啊
工作场景任务1:在网页中制作一个前进按扭与一个后退按扭,并实现期前进与后退功能。 工作场景任务2:当一个网站的域名进行更改后,而原来的用户熟悉以前的域名,当打开网页后,提示”谢谢光临我公司网站。现公司域名更改域名为www.163.com,3秒钟后进入我公司主页”。 工作场景任务3:制作一个简易的登陆界面,当用户名:admin,密码:admin时跳转到index.html的页面。或则返回到原有页面。
学弟课堂作业,帮他解决下-工作太忙
/*模拟一个在线课程学习系统 有一个在线学习网站,打开程序,弹出“欢迎登陆学习网站”。 然后弹出选项“请选择功能:1.注册 2.登陆”。 如果选择不是1和2,提示重新选择。 如果选择1,进入注册界面—> 提示“请设置用户名,要求为6位整数”,如果输入错误,允许循环输入。然后继续提示“请输入密码,要求为6位整数”,如果输入错误,允许循环输入。输入正确后,提示“设置成功”,并存储信息。然后跳转到登陆界面。 如果选择2,进入登陆界面,提示用户输入登陆账号和密码,如果注册了,那么使用注册密码,如果没注册,默认登陆的账号为“123456”,默认密码为“111111”。验证登陆,有三次机会,三次输入失败,提示“验证失败,账户被锁!”,并退出程序。如果输入账号和密码正确,弹出“恭喜您,登陆成功!”。 登陆成功之后,展示主界面,如下所示 请选择操作: 1. 开始学习 2. 查询学习次数 3. 购买 4. 设置 5. 退出 如果选项不是1~5,提示“选择错误,请重新选择”。 如果选择1,开始学习,只要开始学习,购买的学习次数 -1 。因此,先判断是否有剩余学习次数。默认初始学习次数为3次。如果次数为0,提示“对不起,学习次数为0,请先购买!”。然后跳到购买模块。 如果有剩余学习次数,学习次数-1,提示“正在学习 ^o^ \n 学习结束!”,然后跳到主界面,继续选择。 如果选择2,展示“您已学习x次,剩余学习次数为x次”,然后跳到主界面,继续选择。 如果选择3,提示“请输入购买学习次数”,要求购买的次数大于0小于10,进行验证,如果输入错误,重新输入。输入符合规定次数后,提示“购买成功,您剩余学习次数为x次!”,然后跳到主界面,继续选择。 如果选择4,展示“账号设置,1.修改账号,2.修改密码”,输入不是1和2,提示重新输入。如果输入1,修改账号,要求6位数字,如果和旧的账号名称相同,提示“不能与旧的账号名称相同,请重新输入”,输入新的符合规则的账号后,提示“恭喜你,账号设置成功!”,然后跳到主界面,继续选择。如果输入2,修改密码,要求6位数字,如果和旧的密码相同,提示“不能与旧的密码相同,请重新输入”,输入新的符合规则的密码后,提示“恭喜你,密码设置成功!”。然后跳到主界面,继续选择。 如果选择5,提示“退出成功!”,然后跳转到登陆模块,提示重新登陆。*/ ``` ```
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
2019年还剩1天,我从外包公司离职了
这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
计算机网络的核心概念
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
程序员如何通过造轮子走向人生巅峰?
前言:你所做的事情,也许暂时看不到成果。但不要灰心,你不是没有成长,而是在扎根。 程序员圈经常流行的一句话:“不要重复造轮子”。在计算机领域,我们将封装好的组件、库,叫做轮子。因为它可以拿来直接用,直接塞进我们的项目中,就能实现对应的功能。 有些同学会问,人家都已经做好了,你再来重新弄一遍,有什么意义?这不是在浪费时间吗。 殊不知,造轮子是一种学习方式,能快速进步,造得好,是自己超强能力的表...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
立即提问