servlet返回数据给ajax的时候为什么用的是out.println(数据)?
             public void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  

        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  
        String userName = request.getParameter("userName");  
        String responseText = "UserName"+userName;  
        out.println(responseText);  
        out.close();  
    }  

上面是一个servlet的dopost方法,ajax send来一个名为username的参数。
而我想问的是,为什么servlet返回给ajax参数的时候使用的是
PrintWriter out = response.getWriter();

out.println(数据) ;

out不是用来输出网页的吗,为什么ajax能捕捉到呢?如果可以通过out向ajax传输参数,那么out还可以用来传输其他东西吗?还有没有其他的方法可以向ajax传递参数呢?

6个回答

题主这个问题需要看看http协议了,,,out.println(数据),,输出的数据会放到http协议的body里面

图片说明

图片说明

m0_37676512
龙猫12138 屌屌屌!还能这样看!牛逼,我懂了
2 年多之前 回复
Small_Mouse0
小鼠标丶 【补充】ajax能捕捉到的只是网页的内容,,也就是响应体,,,(上面图片输入法错了“相应”应该是”响应“)
2 年多之前 回复
 PrintWriter out = response.getWriter();

这个out只是一个起的名字,和网页中的out不是一个概念

我认为:ajax 本身就是用来抓取网页的源代码。

 PrintWriter out = response.getWriter();
out.println(数据) ;

刚好把 数据打包成了我们所需要的内容 (默认在body内),
再通过ajax获取 页面源码的方式获取

m0_37676512
龙猫12138 谢谢你的热心解答!
2 年多之前 回复

你可以以json的形式返回,取决于你返回的参数
out输出网页,ajax是什么呢,不是网页的工具吗,或者说脚本

PrintWriter out = response.getWriter();

String userName = request.getParameter("userName");

String responseText = "UserName"+userName;

out.println(responseText);

out是你自己起的名字,天啦噜,这块的out是PrintWriter类型的对象!!!

response.setContentType(type + ";charset=UTF-8");
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
PrintWriter writer = response.getWriter();
writer.write(content);
writer.flush();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
servlet该如何返回值给AJAX呢?
js代码 //声明XMLHttpRequest对象 var xmlrequest; //初始化XMLHttpRequest function createXMLHttpRequest(){ if(window.XMLHttpRequest){ xmlrequest = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlrequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlrequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } } //定义回调函数 function processResponse(){ //响应完成 if(xmlrequest.readyState == 4){ //响应正常 if(xmlrequest.status == 200){ var head = xmlrequest.responseText; alert(head); } } } //事件处理函数 function change(){ //初始化XMLHttpRequest对象 createXMLHttpRequest(); //设置请求的URI var uri = "servlet/LoginServlet"; //打开与服务器响应地址的连接 xmlrequest.open("POST", uri, true); //设置请求头 xmlrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //设置处理响应的回调函数 xmlrequest.onreadystatechange = processResponse; var account = document.form.account.value; var password = document.form.password.value; //发送请求 xmlrequest.send("account=" + account + "&password=" + password); } servlet代码 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post被触发了"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String account = request.getParameter("account"); String password = request.getParameter("password"); System.out.println(account); System.out.println(password); PrintWriter out = response.getWriter(); out.print("124578"); } 配置文件 <?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 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>shangGou</display-name> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> <url-pattern>/servlet/LoginServlet</url-pattern> </servlet-mapping> </web-app> 请求页面:![图片说明](https://img-ask.csdn.net/upload/201505/28/1432751963_284806.gif) 响应后的页面:![图片说明](https://img-ask.csdn.net/upload/201505/28/1432751982_544755.gif) 请大神帮我解答解答,AJAX向服务器发送请求后,servlet要如何响应页面才不会刷新呢?
ajax传值,servlet得到为空
js代码: var xhr = getXhr(); function getXhr(){ var xhr = null; try { xhr = new XMLHttpRequest(); } catch (trymicrosoft) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xhr = false; } } } if (!xhr) { alert("err Happend!"); } return xhr; } function check() { var user = document.getElementById("user").value; var url = "RegisterServlet"; if (xhr.readyState == 4 && xhr.status == 200) { var str = xhr.responseText; document.getElementById("checkname").innerHTML=str; } xhr.open('post',url,true); alert(user); xhr.send("id"+user); } servlet代码: package com.Servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.Dao.LoginDao; import com.Model.Login; public class RegisterServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String username=request.getParameter("id"); System.out.println(username); LoginDao dao=new LoginDao(); boolean mark=dao.RegisterCheck(username); System.out.println(mark); if(mark==true){ out.println("用户名重复"); System.out.println("用户名重复"); }else if(mark==false){ out.println("用户名可用"); System.out.println("用户名可用"); } } } 只截取了ajax传值部分,还有登陆的验证也写在doPost里先删了, 之前用get方法能行,改成post就出问题了; 大神帮看看,js里能得到user的值,servlet得到ajax传来的user值为null,
JQ的Ajax向Servlet发送josn数据和回传的数据问题
问题: 1、sevlet中获取不到正确的参数值 2、sevlet回传的json值也获取不到 html中: ``` <input type="submit" id="login" value="登录" onclick="checkLogin();return false;"> ``` js中: ``` $.ajax({ type : "post", dataType : 'application/json', url : "./servlet/login.action", data : JSON.stringify(GetJsonData()), success : function(data) { var dataObj = data.person, con = ""; $.each(dataObj, function(index, item) { console.log(item.name); //1、这里没有结果 }); } }); } function GetJsonData() { var perjson = { "name" : $("#name").val(), "psw" : $("#psw").val() }; return perjson; } ``` 另外我在network中查看数据:{"name":"sa","psw":"sa"}: 这里后面有一个冒号,不知道是不是原因,也不知道从哪里来的 User类: package com.junzhang.myblog.entity; public class User { private int id; private String name; private String psw; public User(){ } public User(int id, String name, String psw) { this.id = id; this.name = name; this.psw = psw; } public User(String name, String psw) { this.name = name; this.psw = psw; } public int getId() { return id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPsw() { return psw; } public void setPsw(String psw) { this.psw = psw; } @Override public String toString() { // TODO Auto-generated method stub return super.toString(); } } servlet中: ``` public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json"); PrintWriter out = response.getWriter(); System.out.println("enter"); String name = request.getParameter("name"); String psw = request.getParameter("psw"); System.out.println("name:" + name); //2、null,这里获取不到 System.out.println("psw:" + psw); //null,这里获取不到 // JSON对象 response.setContentType("application/json"); response.setContentType("text/xml;character=utf-8"); response.setHeader("Cache-Control", "no-cache"); try { User p = new User("小张", "123456"); User p1 = new User("小王", "123"); List<User> list = new ArrayList<User>(); list.add(p); list.add(p1); JSONArray json = JSONArray.fromObject(list); JSONObject jb = new JSONObject(); jb.put("person", json); out.write(jb.toString()); //这里利用的第三方net.sf.json.JSONObject,但是回去的json数据,ff浏览器说是不良好的格式 } catch (Exception e) { e.printStackTrace(); } out.flush(); out.close(); } ```
为什么我的我用AJAX提交数据到Servlet最后数据始终是乱码??
这是jsp的页面,数据提交到doPost,然后响应到div里面显示,但是 AJAX中的中文数据提交到Servlet 始终是乱码;怎么改啊,大神们。。。 ``` <%@ 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"> <!-- 引入写了AJAX的js文件 --> <script type="text/javascript" src="${pageContext.request.contextPath }/AJAXDemo02POST/ajax_posttext.js"></script> <title>Insert title here</title> </head> <body> <h1>AJAX POST获取数据的练习</h1> <div style="width:300px;height:200px;border:1px solid red;" id="divajax"></div> <input type="button" value="点我获取数据" onclick="ajaxPostText()"/> </body> </html> ``` 这是 写了AJAX的js的文件 function ajaxPostText(){ // 创建异步对象: var xhr = createXMLHttp(); // 设置监听: xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ if(xhr.status == 200){ document.getElementById("divajax").innerHTML = xhr.responseText; } } } // 打开路径: xhr.open("POST","/AJAXDemo01/AJAXDemo01Servlet",true); //这一句没能将提交到post的中文数据编码改掉 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // 发送请求: xhr.send("name=张三&pass=密码"); } function createXMLHttp() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { try {// Internet Explorer xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } return xmlHttp; } 这是Servlet代码 public class AJAXDemo01Servlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//未完成 request.setCharacterEncoding("UTF-8"); String pass =request.getParameter("pass"); String name = request.getParameter("name"); response.setContentType("text/html;charset=UTF-8"); response.getWriter().println( "名称是:" + name + "密码是:" + pass); System.out.println("名称是:" + name + "密码是:" + pass); } } ![图片说明](https://img-ask.csdn.net/upload/201709/17/1505634495_151318.png)
servlet out.println太麻烦了啊……
我要输出一个带有许多样式的大ul li列表,但是好像要插入\而且弄到一行去啊 谁有办法把整个代码块块一块输回jsp啊…… ![图片说明](https://img-ask.csdn.net/upload/201708/17/1502947804_200033.png)
怎么用servlet获取oracle数据库信息后传递到jquery的ajax上进行验证
``` package com.ibm.ajax.app1.entity; public class WebUser { private String uname; public WebUser(String uname){ this.uname=uname; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } } ``` ``` package com.ibm.ajax.app1.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.List; import java.util.Vector; import com.ibm.ajax.app1.entity.WebUser; public class WebUserDao { public List<WebUser> queryList() throws Exception{ String username="gdx"; String password="wazzh"; String url="jdbc:oracle:thin:@//localhost:1521/orcl"; String driver="oracle.jdbc.driver.OracleDriver"; List<WebUser> lists=new Vector<WebUser>(); Class.forName(driver); Connection conn=DriverManager.getConnection(url, username, password); Statement stmt =conn.createStatement(); ResultSet rs=stmt.executeQuery("select UNAME from webUser"); while(rs.next()){ WebUser webuser=new WebUser(rs.getString("UNAME")); lists.add(webuser); } return lists; } } ``` ``` package com.ibm.ajax.app1.service.impl; import java.util.List; import com.ibm.ajax.app1.dao.WebUserDao; import com.ibm.ajax.app1.entity.WebUser; import com.ibm.ajax.app1.service.IWebUserService; public class WebUserServiceImpl implements IWebUserService { private WebUserDao webuserdao= new WebUserDao(); @Override public List<WebUser> getWebUserList() throws Exception { List<WebUser> lists= webuserdao.queryList(); return lists; } } ``` ``` package com.ibm.ajax.app1.service; import java.util.List; import com.ibm.ajax.app1.entity.WebUser; public interface IWebUserService { //获取我建立的实体对象WebUser的list表 public List<WebUser> getWebUserList() throws Exception; } ``` ``` package com.ibm.ajax.app1.servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ibm.ajax.app1.entity.WebUser; import com.ibm.ajax.app1.service.IWebUserService; import com.ibm.ajax.app1.service.impl.WebUserServiceImpl; /** * Servlet implementation class ValiateUserNameServlet */ public class ValiateUserNameServlet extends HttpServlet { private static final long serialVersionUID = 1L; private IWebUserService webuserservice; @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { webuserservice = new WebUserServiceImpl(); try{ List<WebUser> userNames=webuserservice.getWebUserList(); System.out.println(userNames); //这之上的是写的从数据库调取的语句 String userName=request.getParameter("userName"); String result=null; if(userNames.contains(userName) ){ result="<font color='red'>该用户已存在</font>"; } else{ result="<font color='green'>该用户不存在</font>"; } System.out.println("sdf"); response.setContentType("text/html ; charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.getWriter().print(result); } catch(Exception ex){ System.out.println(ex); } } } ``` ``` <%@ 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>Insert title here</title> <script type="text/javascript" src="${pageContext.request.contextPath }/scripts/jquery-1.7.2.js "></script> <script type="text/javascript"> $(function(){ $(":input[name='username']").change(function(){ var val=$(this).val(); val=$.trim(val); if(val!=" "){ var url="${pageContext.request.contextPath }/valiateUserName"; var args={"userName":val,"time":new Date()}; $.post(url,args,function(data){ $("#message").html(data); }); } }); }) </script> </head> <body> <form action="" method="post"> UserName:<input type="text" name="username" /> <div id="message"></div> <input type="submit" value="Submit" /> </form> </body> </html> ```
本地html页面ajax与服务端进行数据交互的问题?
# 这个是本地ajax代码 $.ajax({ type:"post", url:"http://10.242.106.92:8080/Android_server/servlet", data:{name:username,password:userpassword}, cache:false, dataType:"json", success:function(data){ alert("登陆成功!"); }, error:function(){ alert("登录失败!"); } }); ## 这个是服务端的代码 String name = request.getParameter("name"); String password = request.getParameter("password"); PrintWriter out = response.getWriter(); System.out.println(name+":"+password); if(name==null||name.length()==0){ out.println("用户名不能为空!"); }else{ if(name.equals("123")&&password.equals("1111")){ out.println("1"); }else{ out.println("0"); } } 现在请求总是总error,不走success,请问各位大神是什么原因?很急啊,谢谢!
jquery.ajax struts2 不能返回数据
``` jquery.ajax struts2 采用上下文方式获取response, 提交两次才能提交到struts里,而且不能返回,偶尔能返回,这是在IE上的,在firefox不能访问,代码如下: 前端代码: <script src="jquery-3.0.0.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ var username= document.getElementById("name").value; var password = document.getElementById("password").value; alert(username+" "+password); //var json = {"name":username,"password":password}; $.ajax({ type:"get", url:"http://127.0.0.1:8080/AjaxJsonStruts1/login.action", async:true, //data:"json="+JSON.stringify(json), data:"name="+username+"&password="+password, success:function(datas){ alert(datas); }, error:function(){ alert("登录出错"); //window.open("error.html"); } }); }); }); </script> </head> <body> <form> 用户名:<input type="text" id="name" /><br /> 密码: <input type="password" id="password"/><br /> <button>登录</button><br /> <!--<button id="register">注册</button>--> </form> 后台: <struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true"/> <constant name="struts.i18n.encoding" value="UTF-8" /> <package name="default" extends="struts-default" > <action name="login" class="com.action.LoginAction" method="login"/> <action name="register" class="com.action.RegisterAction"/> </package> </struts> package com.action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.ws.Response; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import com.bean.User; import com.opensymphony.xwork2.ActionSupport; import com.sun.xml.xsom.impl.WildcardImpl.Other; public class LoginAction extends ActionSupport{ private HttpServletRequest request; private HttpServletResponse response; public LoginAction(){ request = ServletActionContext.getRequest(); response = ServletActionContext.getResponse(); } public void login() throws IOException{ //System.out.println("begin"); //response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Cache-Control", "no-cache"); response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); /*String jsonstring = request.getParameter("json"); JSONObject json = JSONObject.fromObject(jsonstring);*/ User user = new User(); String name = request.getParameter("name"); String password = request.getParameter("password"); user.setName(name); user.setPassword(password); //user = (User) JSONObject.toBean(json, User.class); System.out.println("user : "+user.getName()+" : "+user.getPassword()); String answer=""; if("admin".equals(user.getName())&&"123456".equals(user.getPassword())){ System.out.println("success"); answer="success"; }else{ System.out.println("erorrr"); answer="error"; } out.print(answer); out.flush(); out.close(); } public HttpServletRequest getRequest() { return request; } public void setRequest(HttpServletRequest request) { this.request = request; } public HttpServletResponse getResponse() { return response; } public void setResponse(HttpServletResponse response) { this.response = response; } } ```
ajax如何实现页面跳转
当我用AJAX像服务器发送一个登录请求后,服务器验证数据是否正确,是则跳到另一个 页面,否则返回一个数据错误的信息给AJAX,页面不刷新。 当验证正确时我用的是servlet的 request.getRequestDispatcher("../index.jsp").forward(request, response);跳转方式 错误就直接out.print();可是不管怎样都是跳到了那个请求页面 请问要怎样才能跳到另一个页面,还能带着数据过去 ajax代码 //声明XMLHttpRequest对象 var xmlrequest; //初始化XMLHttpRequest function createXMLHttpRequest(){ if(window.XMLHttpRequest){ xmlrequest = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlrequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlrequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } } //定义回调函数 function processResponse(){ //响应完成 if(xmlrequest.readyState == 4){ //响应正常 if(xmlrequest.status == 200){ var head = xmlrequest.responseText; alert(head); } } } servlet代码 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post被触发了"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String account = request.getParameter("account"); String password = request.getParameter("password"); if (account == "admin" & password == "admin"){ request.getRequestDispatcher("../index.jsp").forward(request, response); }else{ PrintWriter out = response.getWriter(); out.print("错误"); }
为什么AJAX调用不了Servlet控制器
1、这是登录页面login.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> <script type="text/javascript" language="javascript"> var XMLHttpReq = false; function creatXMLHttpRequest(){ if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } } } //发送请求的函数 function sendRequest(url){ alert(url); creatXMLHttpRequest(); XMLHttpReq.open("GET",url,true); XMLHttpReq.onreadystatechange = processResponse();//指定响应函数 alert("66"); XMLHttpReq.send(null);//发送请求 } //处理返回信息函数 function processResponse(){ alert("3333"); if(XMLHttpReq.readyState==4)//判断对象状态 { alert("444"); if(XMLHttpReq.status==200){//信息已经成功返回,开始处理信息 alert("55555"); var res = XMLHttpReq.responseXML.getElementsByTagName("res")[0].firstChild.data; window.alert(res); }else{ window.alert("你所请求的页面有问题"); } } } function checkUser(){ var Uname = document.myform.myname.value; alert(Uname); var psw = document.myform.mypsw.value; alert(psw); if(Uname==null){ window.alert("名字不能为空"); document.myform.myname.focus(); return false; }else{ var url = "LoginAction?myname="+Uname+"&mypsw="+psw;//应该是这里,为什么没起作用 sendRequest(url); System.out.println("2222222222222"); } } </script> </head> <body> <form action="" method="post" name = "myform"> name:&nbsp&nbsp&nbsp&nbsp<input type="text" name="myname" size="12"><p> password:<input type="password" name="mypsw" size="12"><p> <input type="button" value="确定" onclick="checkUser()"> </form> </body> </html> 2、这是Servlet页面 package com.servlet; 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; public class LoginAction extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("进入servlet"); request.setCharacterEncoding("UTF-8"); String uname = request.getParameter("myname"); String psw = request.getParameter("mypsw"); response.setContentType("text/xml;charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.println("<response>"); if(uname.equals("amin")&&psw.equals("a")){ out.println("<res>"+"热烈欢迎AMIN"+"</res>"); }else{ out.println("<res>"+"对不起你登录失败"+"</res>"); } out.println("</response>"); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } public void init() throws ServletException { // Put your code here } } 3、这是Web.xml页面 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>LoginAction</servlet-name> <servlet-class>com.servlet.LoginAction</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginAction</servlet-name> <url-pattern>/LoginAction</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app> 可以说说为什么调用不了?
ajax 和 servlet参数问题
jquery代码: var username = $('#username').val(); var pwd = $('#pwd').val(); var param ='{"username":"'+username+'","pwd":"'+pwd+'"}'; $('#login').click(function(){ alert(param); $.ajax({ type:'post', url:'MyServlet', data:param, success:function(){} }) }) servlet代码: protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException { String aa = request.getParameter("param"); System.out.println(aa); } 这里获取不到ajax传过来的param的值 调试为空的 为什么 求大神帮忙
ssm 框架已经实现,但是ajax返回验证有毛病
``` <%@ 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>js+ajax</title> <script type="text/javascript" src="static/bootstrap/js/jquery-2.0.3.js"></script> <script type="text/javascript"> function validate(){ var name= $("#name").val(); if(name==null||name==""){ //为空隐藏提交按钮 var ui =document.getElementById("tijiao"); ui.style.display="none"; //这里是简单的显示 不设计后台,前台做的判断 $("#namediv").html("用户名不可以为空"); }else{ //ajax实现 //11111111获取XMLhtmlRequestxml对象 var req=createXmlHttpRequest(); //222222222准备url 数据 回调函数 //这个name是function下面var的参数. var url="/maven/reg1.do?name="+name; //还有一个参数表示的是异步还是同步,一般不写直接就是true,异步的 req.open("GET",url,true); //3333333333这个就是回调函数 req.onreadystatechange=callback; //这个send是在从servlet判断你的账号是不是存在, 如果是true就说名字存在,给页面返回了以后才有的.为啥写空不知道 //4发送请求 req.send(null); //回调函数 function callback(){ //第一个是我们的服务器成功接受了响应,并且解释了出来,状态4 第二个是服务器内部没有发生错误, url什么的也没有错, if(req.readyState=4&&req.status==200){ var date=req.responseText; if(date=="false"){ //下面的是意思是,如果账号存在了,提交按钮自动消失 //超级叼 var ui =document.getElementById("tijiao"); ui.style.display="none"; $("#namediv").html("用户名已经存在"); }else{ //不为空了,按钮一直显示 var ui =document.getElementById("tijiao"); ui.style.display=""; $("#namediv").html("用户名可以使用"); } } } } } function createXmlHttpRequest(){ //如果是ie6以上版本的浏览器 if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ //如果浏览器是ie以下的 return new ActiveXObject("Microsoft.XMLHTTP"); } } </script> </head> <body> <form action="/maven/reg1.do" id="form1"> <table id="aa"> <tr> <td>用户名</td> <td><input type="text" name="username" id="name" onblur="validate();" />&nbsp;<font color="red">*</font></td> <td> <div id="namediv" style="display: inline"></div> </td> <td>密码</td> <td><input type="password" name="password"></td> <td>电话</td> <td><input type="text" name="phone"></td> <td><input type="submit" value="点击注册" id="tijiao"></td> </tr> </table> </form> </body> </html> ``` ``` ``` ``` package com.gray.user.controller; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.gray.user.entity.RegUser; import com.gray.user.service.impl.RegServiceImpl; import com.gray.user.service.impl.UserServiceImpl; @Controller public class RegController { @Autowired private RegServiceImpl userService; //自动装载他到spring @RequestMapping("/reg1.do") //url public String dologin(Model model,HttpServletResponse res,@RequestParam String username,RegUser rg,HttpServletResponse response) throws IOException{ boolean used=false; System.out.println("测试参数获取到bean没有"+rg.getUsername()+rg.getPassword()+rg.getPhone()); rg.setUsername(username); if(userService.doUserLogin(rg)){ used=true; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是ture,就是说账号不重复"); }else{ used=false; System.out.println("通过control到--->service---到dao---到usermapp.在返回回来,service里面是false,重复了账号 "); } return "regsuccess"; } } ``` ``` package com.gray.user.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.gray.user.dao.UserDao; import com.gray.user.entity.RegUser; import com.gray.user.entity.User; import com.gray.user.service.RegService; import com.gray.user.service.UserService; @Service public class RegServiceImpl implements RegService { @Autowired private UserDao<RegUser> dao; @Override public boolean doUserLogin(RegUser ruser) { //第一次执行查询数据库,查询 userdao selectUserName方法。 他这个方法和user.xml里面的id为selectUserName串联了. //也就是直接调用查询语句,并且吧值返回给reguser 类 System.out.println("testRegServiceImpl------->查询数据库,查询语句为id是selectusername"); List<RegUser> list = dao.selectUserName(ruser.getUsername()); System.out.println("查到了集合大小是"+list.size()+"查到了和你账号相同是的是几个"); if(list.size() == 0){ System.out.println("RegServiceImpl---你没有查询到你账号和数据库相同的信息.所以你return,"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i).getUsername()); } return true; }else{ if(list.size()!=0){ System.out.println("regServiceImpl---查询到和你相同的账号不是0个,返回false"); return false; }else{ System.out.println("regserviceImpl----其他情况我也不知道啥情况,也返回false"); return false; } } } } ``` ``` 页面上的ajax 他就一直出毛病,数据库有个账号名是aa 只有我在表单填写aa 他才在网页提示账号重复, 别的任何都不提示,只会提示不能为空, 而且还失灵时不灵。 但是用system. 输出 我写的任何判断都是对了, 这是为啥? 请求大神给我说下,最好说下哪里错了。谢谢了
ajax怎样获取返回的特定值
ajax代码 //声明XMLHttpRequest对象 var xmlrequest; //初始化XMLHttpRequest function createXMLHttpRequest(){ if(window.XMLHttpRequest){ xmlrequest = new XMLHttpRequest(); }else if(window.ActiveXObject){ try{ xmlrequest = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlrequest = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ } } } } //定义回调函数 function processResponse(){ //响应完成 if(xmlrequest.readyState == 4){ //响应正常 if(xmlrequest.status == 200){ var head = xmlrequest.responseText; alert(head); // location.href = head; } } } //事件处理函数 function change(){ //初始化XMLHttpRequest对象 createXMLHttpRequest(); //设置请求的URI var uri = "servlet/LoginServlet"; //打开与服务器响应地址的连接 xmlrequest.open("POST", uri, true); //设置请求头 xmlrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //设置处理响应的回调函数 xmlrequest.onreadystatechange = processResponse; var account = document.form.account.value; var password = document.form.password.value; //发送请求 xmlrequest.send("account=" + account + "&password=" + password); } servlet代码: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("post被触发了"); request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String account = request.getParameter("account"); String password = request.getParameter("password"); // if (account == "admin" & password == "admin"){ HttpSession session=request.getSession(); session.setAttribute("client","返回的用户名"); PrintWriter out = response.getWriter(); out.print("index.jsp"); out.print("返回了吗"); 我要怎样做才能获取上面那两个our.print的值呢,是分别获取,不是组成一个字符串
ajax访问servlet打印xmlhttp.status状态总是错误
//alert(xmlhttp.status) 一直报这个错误,请朋友们帮忙解决一下。 SCRIPT16389: Unspecified error. ajax, line 28 character 4 SCRIPT16389: Unspecified error. ajax, line 28 character 4 SCRIPT16389: Unspecified error. ajax, line 28 character 4 SCRIPT16389: Unspecified error. ajax, line 28 character 4 //这个是jsp文件 <script type="text/javascript"> function myRequest1(){ var xmlhttp; if(window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); }else{ // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } alert(xmlhttp.status); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myInfo").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","ajax.do?method=getMyInfo&t="+Math.random(),true); xmlhttp.send(); } </script> </head> <body> <h2 class="demoHeaders">ajax样例</h2> <div id="myInfo"></div> <input type="button" value="显示我的信息" onclick="myRequest1();"/> </body> </html> //servlet代码如下 public class AjaxServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); String method = req.getParameter("method"); if("getMyInfo".equals(method)){ System.out.println("获取我的信息!"); resp.getWriter().write("ABC"); resp.getWriter().flush(); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doPost(req, resp); } }
ajax校验数据库数据是否存在
``` <!-- 查询student_id是否存在 --> <select id="getStudent_id" resultMap="studentMap" parameterType="int"> SELECT * from student where student_id = #{student_id} </select> ``` ``` @RequestMapping("/studentID") public Student getStudent_id(Integer student_id) { Student student = userService.getStudent_id(student_id); if (student==null){ System.out.println("没有"); }else{ System.out.println("有"); } return student; } ``` ``` function check() {//js表单验证方法 var text = document.getElementById("xh").value;//通过id获取需要验证的表单元素的值 if (text == "") { alert("请输入学号!");//弹出提示 return false;//返回false(不提交表单) } if (!(/(^[1-9]\d*$)/.test(text))) { alert("请输入学号!");//弹出提示 return false;//返回false(不提交表单) } var student_id=$("#student_id").val(); $.ajax({ url:"<%=basePath%>user/studentID", type:"post", data:{"student_id":student_id}, dataType:"json", success:function(data){ if (data!=null ) { alert("有"); }else if(data==null && username !=''){ alert("没有"); } xmlhttp.open("GET","getcustomer.asp?q="+str,true); xmlhttp.send(); //alert("啊啊啊"); } }); return true;//提交表单 } </script> <body> <div class="listDIV"> <table border="1" width="50%" height="50%" style="text-align: center;"> <form action="<%=basePath%>user/one" method="post"> <input type="text" id="xh" name="student_id" placeholder="根据学号查询"> <button class="glyphicon glyphicon-select" onclick="return check();">查询</button> </form> ``` ``` 严重: Servlet.service() for servlet [springMVC] in context with path [/StudentManagementSSM] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException at com.zmk.controller.UserTestController.getStudent_id(UserTestController.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1139) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) 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) ``` 我用ssm做的增删改查,搜索我想先校验一下数据库数据是否存在,存在就直接跳转查询,不存在就弹窗提示,中止提交表单,JS代码是我粘过来的,不会JS,有错误希望能告诉我如何改正,谢谢
使用ajax异步提交表单,为什么jsp可以传递数据,但是html就不行?
# jsp和html有什么区别? 刚刚学习java不久,只能简单描述步骤,希望大神可以帮忙解释一下: 1. 这个是ajax代码,html和jsp均为一样: ``` $(function () { $("#registerForm").submit(function () { if (checkUsername() && checkPassword() && checkEmail()){ $.post("registUserServlet",$(this).serialize(),function () { }) } return false; }); $("#username").blur(checkUsername); $("#password").blur(checkPassword); $("#email").blur(checkEmail); }); ``` _主要就是下面这行代码有问题:_ ``` $.post("registUserServlet",$(this).serialize(),function () { }) ``` 在html页面里,无论如何,就是无法将表单数据传递到 “registUserServlet”服务器里,并且tomcat和页面抓取都不报错,servlet也没有接收到数据(因为连servlet中的**System.out.println("servlet页面跳转");**也没有输出到控制台)。 有没有哪位大神可以解释一下啊,困扰了好几天了,突然脑子抽筋试了一下jsp居然成功了,但还是想知道一下原因,多谢~~
使用ajax提交表单,回调函数执行error方法
RT, js: ``` <script> $(function() { $('#login_button').unbind("click").bind("click",function() { $.ajax({ type : 'POST', url : '${pageContext.request.contextPath}/userBiz?action=login', data : $('#login_form').serialize(), success : function(data) { if(data==1){ alert("登陆成功"); location.reload(); } if (data== 2) { alert("用户名或密码错误,请重新登录"); } }, error :function(XMLHttpRequest, textStatus, errorThrown,dataType){ alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); alert(errorThrown); alert(dataType); } }) }) }) </script> ``` servlet: ``` private void userLogin(HttpServletRequest request, HttpServletResponse response){ PrintWriter out = null; User user = new User(); System.out.println("login执行中。。。。。。。。。。。。。。。。。。。。。。。。。"); user.setUser_account(request.getParameter("user_account")); user.setUser_password(MD5Util.MD5(request.getParameter("user_password"))); UserService service = new UserServiceImpl(); user=service.userLogin(user); System.out.println("执行登录"); if(user != null){ try { out =response.getWriter(); out.print(1); System.out.println("执行"); request.getSession().setAttribute("user",user); } catch (Exception e) { System.out.println(e); } }else{ try { out =response.getWriter(); out.print(2); } catch (IOException e) { e.printStackTrace(); } } } ```
jquery与servlet交互的json问题
框架用烦了,目前只用servlet和jquery,servlet返回json数据,jquery在前面无刷新的解析,原来用struts2自带的jsonplugin,现在用google-gson包生成json字符串,但是为什么不行呢? 前台页面jquery请求后台servlet: $(document).ready(function(){ $("#b_submit").click(function(){ $.ajax({ type:"POST", url:"buttonSubmit", data:{ id:1, name:"zhang" }, success:function(data){ alert(data.list); }, dateType:"json" }) }); }) 后台servlet代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //response.setContentType("application/x-json"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); String id = request.getParameter("id"); System.out.println(name); System.out.println(id); List<TestBean> tbList = new ArrayList<TestBean>(); TestBean tb = new TestBean(); tb.setId(id); tb.setName(name); tbList.add(tb); TestBean tb2 = new TestBean(); tb2.setId("2"); tb2.setName("gu"); tbList.add(tb2); Gson gson = new Gson(); HashMap<String,List<TestBean>> map = new HashMap<String,List<TestBean>>(); map.put("list", tbList); out.print(gson.toJson(map)); out.close(); } 但是为什么不行呢?有朋友说要换成response.setContentType("application/x-json");但是我也试了,也不行,页面用data.list时总是undefined,用data.length,它会按string的长度返回来,后来用JSON.parse来转换是可以的,但我觉得这样麻烦,如果能返回json数据,又何必再转换一下呢?效率就降低了,请大家帮助! [b]问题补充:[/b] 我返回来的是一个类似的json格式的字符串,但是我用js去判断的时候,会有问题: 例如:{"list":[{"id":1,"name":"gu"},{"id",2,"name":"zhang"}]} 我用data.list取不到值啊,这是为什么呢?以前集成struts2框架时都是可以的
请大神解决:ajax利用json向后台传递一个值,去查询数据库中的信息,然后将信息返回到前台报错
前台: **$.ajax({ url:"findByLike.do", type:"post", data:{"keyword":keyword}, dataType:"json", success:function(result){ alert(result); // for(var i=0;i<result.length;i++){ // var name=result[0].departName; // alert(name); // } } }); }** 后台: ** @RequestMapping("findAllDepart.do") @ResponseBody public List<DepartmentEmp> findAllInfo(){ List<DepartmentEmp> list=departmentService.findAllDpartmentInfo(); for(DepartmentEmp emp:list){ System.out.println(emp); } return list; }** 后台能够接受到前台传递的值,控制台能够打印查询的信息, 当利用ResponseBody向前台反馈数据的时候报错。 注销responseBody没有错。 控制台错误信息: **十一月 02, 2017 6:05:23 下午 org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver logException 警告: Handler execution resulted in exception: Could not find acceptable representation**
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问