如何将一个html格式的java字符串在页面上作为html代码append到指定元素中
        我通过FCKeditor定制了一个表单输入的,其中有一个地方是

[code="html"]

[/code]
是需要用户输入用户名而预留的位置。
定制了表单输入后我将所有的定制内容([color=red]实际上定制出来的都是html代码[/color])保存到数据库中,比如我定制的内容在保存时的html代码是
[code="html"]
员工申请离职
[/code]
我在保存到数据库中时,是将上面的内容直接作为一个字符串String按照上面的格式原样保存的。
那么我如何在展示的时候(展示的时候由于是通过手机端来处理,不希望使用FCKeditor),而希望直接在页面上通过div的形式,将前面的html代码在div中展示,并且是将input展示为一个输入框,即
[code="html"]
员工[这里是输入框,输入希望离职的员工的姓名]申请离职]
[/code],而不是说在div里面显示
[code="html"]
员工申请离职
[/code]”

2个回答

还要跨浏览器,内容比较简单的话就用js获取值组装个string了。之前也遇到了,没有想到好的办法

浏览器获取到你要显示的这个string,用div的innerHTML属性就可以把

weixin_43885801
FC. 不可以,赋值之后会自动将代码注释
29 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java后台将base64字符串转换为PDF后生成的PDF打不开怎么回事呀
![图片说明](https://img-ask.csdn.net/upload/201910/12/1570868633_161609.jpg) 后台代码: public static void base64StringToPdf(String base64Content,String filePath){ File file = new File(filePath);// 将原来参数修改为字符串 BASE64Decoder decoder = new BASE64Decoder(); BufferedInputStream bin = null; FileOutputStream fout = null; BufferedOutputStream bout = null; try { //将base64编码的字符串解码成字节数组 byte[] bytes = decoder.decodeBuffer(base64Content); //创建一个将bytes作为其缓冲区的ByteArrayInputStream对象 ByteArrayInputStream bais = new ByteArrayInputStream(bytes); //创建从底层输入流中读取数据的缓冲输入流对象 bin = new BufferedInputStream(bais); //创建到指定文件的输出流 fout = new FileOutputStream(file); //为文件输出流对接缓冲输出流对象 bout = new BufferedOutputStream(fout); byte[] buffers = new byte[1024]; int len = bin.read(buffers); while(len != -1){ bout.write(buffers, 0, len); len = bin.read(buffers); } //刷新此输出流并强制写出所有缓冲的输出字节,必须这行代码,否则有可能有问题 bout.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { bout.close(); fout.close(); bin.close(); } catch (IOException e) { e.printStackTrace(); } } } 前台是将页面展示的数据图标什么的生成PDF 前台代码: function downloadofpdf(){ var varname = $("#taskid").text(); if(confirm("您确认下载该PDF文件吗?")){ var target = document.getElementById("bodyid"); target.style.background = "#FFFFFF"; // if(pdfName==''||pdfName==undefined) pdfName= getNowFormatDate(); html2canvas(target, { onrendered:function(canvas) { var contentWidth = canvas.width; var contentHeight = canvas.height; //一页pdf显示html页面生成的canvas高度; var pageHeight = contentWidth /1592.28 * 841.89; //未生成pdf的html页面高度 var leftHeight = contentHeight; //页面偏移 var position = 0; //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 var imgWidth = 595.28; var imgHeight = 592.28/contentWidth * contentHeight; var pageData = canvas.toDataURL('image/jpeg', 1.0); var pdf = new jsPDF('', 'pt', 'a4'); //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) //当内容未超过pdf一页显示的范围,无需分页 if (leftHeight < pageHeight) { pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight ); } else { while(leftHeight > 0) { pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight); leftHeight -= pageHeight; position -= 841.89; //避免添加空白页 if(leftHeight > 0) { pdf.addPage(); } } } pdf.save(varname+".pdf"); // 将pdf输入为base格式的字符串 var buffer = pdf.output("datauristring"); // // 将base64格式的字符串转换为file文件 // var myfile = dataURLtoFile(buffer, varname); // var formdata = new FormData(); // formdata.append(name, myfile); $.post("/riskManage/uploadpdf",{data:JSON.stringify({formdata:buffer})},function(result){ //alert("hao"); }) //sc(); }, background: "#fff" }) } }
htmlunit+jsoup爬取知乎视频,获取的html字符串中缺少视频信息,如何解决?
大神帮忙看一下 今天使用htmlunit+jsoup爬取知乎网站的视频,发现爬取到的html中缺少视频的信息,无法进行下一步了 知乎视频网址:https://video.zhihu.com/video/1157743087110549504?autoplay=false&useMSE= 浏览器检查中查看到的视频信息 ![图片说明](https://img-ask.csdn.net/upload/201910/12/1570872018_377176.png) java代码 ``` @Test public void testttt() { final WebClient webClient = new WebClient(BrowserVersion.CHROME);//新建一个模拟谷歌Chrome浏览器的浏览器客户端对象 webClient.getOptions().setThrowExceptionOnScriptError(false);//当JS执行出错的时候是否抛出异常, 这里选择不需要 webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);//当HTTP的状态非200时是否抛出异常, 这里选择不需要 webClient.getOptions().setActiveXNative(false); webClient.getOptions().setCssEnabled(false);//是否启用CSS, 因为不需要展现页面, 所以不需要启用 webClient.getOptions().setJavaScriptEnabled(true); //很重要,启用JS webClient.setAjaxController(new NicelyResynchronizingAjaxController());//很重要,设置支持AJAX HtmlPage page = null; try { page = webClient.getPage("https://video.zhihu.com/video/1157743087110549504?autoplay=false&useMSE=");//尝试加载上面图片例子给出的网页 // page = webClient.getPage("http://ent.sina.com.cn/film/");//尝试加载上面图片例子给出的网页 } catch (Exception e) { e.printStackTrace(); }finally { webClient.close(); } webClient.waitForBackgroundJavaScript(30000000);//异步JS执行需要耗时,所以这里线程要阻塞30秒,等待异步JS执行结束 String pageXml = page.asXml();//直接将加载完成的页面转换成xml格式的字符串 System.out.println(pageXml); //TODO 下面的代码就是对字符串的操作了,常规的爬虫操作,用到了比较好用的Jsoup库 // Document document = Jsoup.parse(pageXml);//获取html文档 // List<Element> infoListEle = document.getElementById("feedCardContent").getElementsByAttributeValue("class", "feed-card-item");//获取元素节点等 // infoListEle.forEach(element -> { // System.out.println(element.getElementsByTag("h2").first().getElementsByTag("a").text()); // System.out.println(element.getElementsByTag("h2").first().getElementsByTag("a").attr("href")); // }); } ``` 运行程序打印的html如下: ![图片说明](https://img-ask.csdn.net/upload/201910/12/1570872108_470794.png) 有大神遇到过这个问题吗?帮忙看一下
java下html导出pdf文件,换jar包的后如何解决出现的问题???
项目有个问题,页面动态导出pdf,用了itext2.0.8jar core-renderer.jar iTextAsian.jar 包,正确生成pdf文件。 由于项目原来使用了iText-2.1.4.jar包,经理不许jar降级,先在是修改iText-2.1.4.jar包中package com.lowagie.text.pdf; BaseFont.java文件中的getCharBBox方法 2.08传的字符,其他的传的int , public int[] getCharBBox(char paramChar) { byte[] arrayOfByte = convertToBytes(paramInt); if (arrayOfByte.length == 0) return null; return this.charBBoxes[(arrayOfByte[0] & 0xFF)]; } 修改后重新打包 ,之后汉字支持出现问题。 代码如下 ITextRenderer renderer = new ITextRenderer(); ITextFontResolver fontResolver = renderer.getFontResolver(); try { OutputStream os = new FileOutputStream(pdfPath); //解决中文问题 fontResolver.addFont("C:\\Windows\\Fonts\\simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); renderer.setDocumentFromString(htmlCode);//引入html字符串 renderer.layout(); renderer.createPDF(os); os.close(); } catch (Exception e) { e.printStackTrace(); } 报错如下 ExceptionConverter: java.io.UnsupportedEncodingException: Identity-H at java.lang.StringCoding.encode(StringCoding.java:269) at java.lang.String.getBytes(String.java:947) at com.lowagie.text.pdf.PdfEncodings.convertToBytes(Unknown Source) at com.lowagie.text.pdf.BaseFont.convertToBytes(Unknown Source) at com.lowagie.text.pdf.BaseFont.getCharBBox(Unknown Source) at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.setMetricDefaults(ITextFontResolver.java:679) at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.<init>(ITextFontResolver.java:610) at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.<init>(ITextFontResolver.java:603) at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:169) at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:157) at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:180) at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:157) at cn.com.pdf.demo.Demo.htmlCodeComeString(Demo.java:77) at cn.com.pdf.demo.Demo.test(Demo.java:115) at cn.com.pdf.demo.Demo.main(Demo.java:124) 不知道怎么办了,求教诸位大神
新手请问servlet不能在前端显示全部字符串的问题
servlet查询代码如下 ``` public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); ServletOutputStream out=response.getOutputStream(); String stnm=request.getParameter("stnm"); try { Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery("select * from qstation where stnm ='"+stnm+"'"); while (rs.next()) { ResultSetMetaData rsmd1 = rs.getMetaData(); int count = rsmd1.getColumnCount(); String all=""; for (int i =1; i < count+1; i++) { all=all+rs.getString(i)+","; } System.out.println(all); out.println(all); } } catch (Exception e) { // TODO: handle exception } } ``` system.out.println打印的消息是: 58238,320101,null,060602,南京,11880.0,3200.0,1,125.0,null,苏,南京市,南京市辖区,长江流域,中下游区,长江下游,101190101,华东电网,江苏,1,01,01,2,2,1,220101, 但是前台页面只显示:58238,320101,null,060602, 请问这是什么问题?
如何使SpringMVC返回400错误的时候能够带上自定义错误信息?
正常情况的返回:正常情况下响应里是我的自定义json字符串 ![图片说明](https://img-ask.csdn.net/upload/201505/08/1431060092_243976.png) 我的情况:我的响应中是一个表示400错误的HTML页面 ![图片说明](https://img-ask.csdn.net/upload/201505/08/1431060109_278712.png) 我的代码:继承了SpringMVC的DefaultHandlerExceptionResolver进行的全局错误处理。 在这个地方返回的json数据,返回后浏览器没有收到我的自定义夹送字符串,且ContentType也没有起作用。 ![图片说明](https://img-ask.csdn.net/upload/201505/08/1431060151_842437.png)
kaptcha生成验证码插件在html页面中使用为什么会报错求大牛指点迷津,不胜感激。
如下是代码 第一部分是web.xml的配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>s2sh</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- 生成验证码配置 servlet--> <servlet> <servlet-name>Kaptcha</servlet-name> <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Kaptcha</servlet-name> <url-pattern>/kaptcha.jpg</url-pattern> </servlet-mapping> </web-app> ``` 接下来是页面的代码,我用的是html,这块声明一下这个配置用jsp是没有问题的,只是挪到了html页面中不知怎地就报错了,不影响页面生成验证码图片,但是后台是取不到session中的字符串的,因为session并没有创建,报的错也是session不能在response相应后创建。 <!-- 验证码开始 --> <div> <img src="../kaptcha.jpg" id="kaptchaImage" width="300px" height="50px" style="padding-top: 25px; "/> <input type="text" class="form-control col-xs-4" id="passWord" placeholder="请输入验证码" > </div> <!-- 验证码结束 --> ``` 接下来是页面点击图片生成验证码的js代码 <script type="text/javascript"> $(function(){ $('#kaptchaImage').click(function () { $(this).attr('src', '../kaptcha.jpg?' + Math.floor(Math.random()*100) ); }); }); </script> 然后以下是报错信息 三月 24, 2017 9:28:41 上午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [Kaptcha] in context with path [/webapp] threw exception java.lang.IllegalStateException: Cannot create a session after the response has been committed at org.apache.catalina.connector.Request.doGetSession(Request.java:3016) at org.apache.catalina.connector.Request.getSession(Request.java:2385) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:897) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:909) at com.google.code.kaptcha.servlet.KaptchaServlet.doGet(KaptchaServlet.java:91) at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) 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.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 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:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) *
java 工具提示类报空指针?????
应用在工具类中,底层的业务代码没问题,在数据库可以删除,将点击删除按钮弹出JS提示框,写为工具类, 就是传入对应的删除提示字符串文字即可。但现在出现问题 ``` package Utile; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.interceptor.ServletResponseAware; import com.opensymphony.xwork2.ActionSupport; public class MessageUtf8 extends ActionSupport implements ServletResponseAware { // 获取响应对象 HttpServletResponse response = null; @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } public void setResponse(HttpServletResponse response) { this.response = response; } public HttpServletResponse getResponse() { return response; } // 提示框单领出成方法(设置页面和显示的编码格式) public void Message(String messTitle) throws IOException { response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println("<script>" + "alert('" + messTitle + "')" + "</script>"); out.flush(); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201708/28/1503905711_833558.png) 页面上报空指针 ![图片说明](https://img-ask.csdn.net/upload/201708/28/1503905036_198766.png) 短点调试response.setContentType....response为空,可是我明明初始化了。 困扰了好久,想将出提示框方法写好成工具类就能整个项目使用了,不然每个action里都定义就出现好多重 复代码了。望解答~
用Echarts制作饼图没有显示。
用Echarts制作饼图没有显示,pie页面代码如下: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="js/jquery-1.11.3.js"></script> <script type="text/javascript" src="js/echarts.min.js"></script> <title>饼图例子</title> </head> <body> <div id="mainChart" style="width: 600px;height:400px;"> </div> <script type="text/javascript"> //使用ajax加载数据 $.ajax({ method : 'post', url : 'pie', dataType : 'json', success : function(data) {//data格式:[{name:nameValue,value:valueVal},...] initChat(data); } }); function initChat(data) { var myChart = echarts.init(document.getElementById('mainChart')); option = { backgroundColor: '#cccccc', color:["#D53A35","#296294"], title : { text : '用户性别聚合分析', x : 'center' }, tooltip : { trigger : 'item', formatter : "{a} <br/>{b} : {c} ({d}%)" }, legend : { orient : 'vertical', left : 'left', data : formatData(data).xAxData }, series : [ { name : '男女数量', type : 'pie', radius : '55%', center : [ '50%', '60%' ], color:['#297ca3','#c35b3b'], data : formatData(data).serData, itemStyle : { emphasis : { shadowBlur : 10, shadowOffsetX : 0, shadowColor : 'rgba(0, 0, 0, 0.5)' } } } ] }; myChart.setOption(option, true); }; function formatData(data) { var xAxData = []; var serData = []; for (var i = 0; i < data.length; i++) { xAxData.push(data[i].name || ""); serData.push({ name : data[i].name, value : data[i].value || 0 }); } return { xAxData : xAxData, serData : serData }; }; </script> </body> </html> ``` 我把这篇代码删掉,只输出个字符串,是可以显示的,把这个代码放上就不行了,我感觉应该是这篇代码的问题,我把Controller的代码放在下面: ``` package com.ssh.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class EchartsController { @RequestMapping("/topie") public String toPie(){ return "pie"; } @RequestMapping(value="pie",method= RequestMethod.POST) @ResponseBody //处理的是异步请求,并且响应的结果是json格式 public List<Map<String, Object>> getPieData() { List<Map<String, Object>> data = new ArrayList<>(); Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "男"); map.put("value", "20"); data.add(map); map = new HashMap<String, Object>(); map.put("name", "女"); map.put("value", "30"); data.add(map); return data; } } ``` 找了很久,也没找到问题,求大神帮助!!!! 我的项目目录如下: ![图片说明](https://img-ask.csdn.net/upload/201912/28/1577517453_218697.png) 问题已解决: 应该是js文件没有引入,我开始调了很长时间都没有用,js那删了改 改了删 但最后还是和现在代码一样,但是可以显示了,昨天弄了很久都没弄出来,哎,具体原因,为什么会这样,我也不是很清楚,有懂得大神吗,求解答 结果现在是这样这样的 ![图片说明](https://img-ask.csdn.net/upload/201912/29/1577592792_561495.png)
jsp页面调用JavaBean(DOS界面编译类)
首先说明:我的配置的根目录文件在D:\jsp文件文件夹。 我使用的工作环境及工具:Dreamweaver8+tomcat6.0+jdk6.0 我做得项目,就是简单测试:JSP页面调用JavaBean,手动编译的文件是:DBConnAccess.java (备注:其存放路径是:D:\jsp\WEB-INF\classes\mybean文件夹下) DBConnAccess.java里的代码如下: package conn; //导入包 import java.sql.*; //导入数据库操作的类 public class DBConnAccess //构造方法,初始化 { private Connection conn; //连接对象 private Statement stmt; //语句对象 private ResultSet rs; //结果集对象 private String accessdriver; //保存Access驱动程序字符串 private String accessURL; //保存Access连接字符串 public DBConnAccess() { accessdriver="sun.jdbc.odbc.JdbcOdbcDriver"; //Access驱动程序 accessURL="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="; conn=null; //连接字符串 } //该方法从参数得到数据库路径,并加到连接字符串后面,然后再建立连接 public Connection getConnToAccess(String dbpath) { try{ accessURL=accessURL+dbpath; Class.forName(accessdriver); conn=DriverManager.getConnection(accessURL); }catch(Exception e){ System.out.println("操作数据库出错,请仔细检查"); System.err.println(e.getMessage()); } return conn; } //关闭数据库连接 public void close() { try{ //rs.close(); //stmt.close(); conn.close(); } catch(SQLException sqlexception) { sqlexception.printStackTrace(); } } } 运行JSP页面代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <jsp:usebean id="DBConn" scope="page" class="conn.DBConnAccess"/> </head> <body> <% //连接Access 数据库 String path="\\test.mdb"; //数据库的路径,请自行修改 String dbpath=application.getRealPath(path); Connection conn=DBConn.getConnToAccess(dbpath); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); String sql="select * from dt"; //String sql1="insert into username (uid,pwd) values('wsp','wsp')"; //stmt.executeUpdate(sql1); ResultSet rs=stmt.executeQuery(sql); while(rs.next()){ out.print("用户名:"); out.print(rs.getString("uid")+" 密码:"); out.println(rs.getString("pwd")+"<br>"); } DBConn.close(); %> </body> </html> 运行后得到的结果“HTTP Status 500 - org.apache.jasper.JasperException: Unable to load class for JSP”
Springmvc上传文件限制大小,异常处理返回报错信息后,eclipse控制台还报错
**1、web.xml配置:** ``` <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- 注册主控制器DispatcherServlet --> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定spring配置文件位置 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>*.from</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> ``` **spring的applicationContext.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:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> <!-- 定义自动扫描组件 --> <context:component-scan base-package="controller"></context:component-scan> <!-- 定义@RequestMapping映射的注解驱动 --> <mvc:annotation-driven></mvc:annotation-driven> <!-- 定义视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> <!-- 注册spring web mvc中处理上传事件的组件CommonsMultipartResolver, 而具体怎样处理上传文件,则是由导入的包common-upload.jar和common-io.jar去处理--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="10240"></property> <property name="resolveLazily" value="true"></property> </bean> </beans> ``` **java代码Controller处理:** ``` package controller; import java.io.File; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MaxUploadSizeExceededException; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; @Controller public class UploadController { // 访问upload.jsp页面 @RequestMapping("/toUpload") public String toUpload() { return "upload"; } @RequestMapping("/upload") public String upload(@RequestParam("file") MultipartFile file, HttpServletRequest request, ModelMap model) throws Exception { // 判断提交来的文件是否为空 if (file.isEmpty()) { // model.addAttribute("error", "上传文件不能为空"); // return "upload"; throw new RuntimeException("file is null"); } // 获取文件所要保存目录在服务器上所对应的实际路径 String path = request.getSession().getServletContext().getRealPath( "upload"); System.out.println(path); // 组成拥有真实路径的一个完整的地址字符串 String fileUrl = path + "\\" + file.getOriginalFilename(); // 封装上传文件名称到model对象中 model.addAttribute("fileName", file.getOriginalFilename()); // 根据这个完整地址字符串,生成提交文件所要保存到的目标文件或目录的对象 File targetFile = new File(fileUrl); // 判断目标文件或目录的对象是否已经存在 if (!targetFile.exists()) { targetFile.mkdirs(); } // 传送文件到目标对象 file.transferTo(targetFile); System.out.println("已上传文件:" + file); return "ok"; } @ExceptionHandler public ModelAndView doException(Exception e,HttpServletRequest request) throws Exception { Map<String,Object> map = new HashMap<String,Object>(); if (e instanceof MaxUploadSizeExceededException) { long maxSize = ((MaxUploadSizeExceededException) e) .getMaxUploadSize(); map.put("error", "上传文件太大,不能超过" + maxSize / 1024 + "k"); }else if(e instanceof RuntimeException){ map.put("error", "未选中文件"); }else{ map.put("error", "上传失败"); } return new ModelAndView("upload",map); } } ``` **上传文件页面upload.jsp:** ``` <%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>上传页面</title> </head> <body> <form action="upload.from" method="post" enctype="multipart/form-data"> <input type="file" name="file"/> <input type="submit" value="上传"/><font color="red">${error}</font> </form> </body> </html> ``` **上传成功页面ok.jsp:** ``` <%@ page pageEncoding="UTF-8" contentType="text/html;charset=UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ok.jsp</title> </head> <body> <h1>上传成功</h1> <a href="upload/${fileName}">${fileName}</a> </body> </html> ``` **eclipse控制台报错信息如下:** ``` 五月 01, 2015 10:27:01 下午 org.springframework.web.multipart.commons.CommonsMultipartResolver cleanupMultipart 警告: Failed to perform multipart cleanup for servlet request org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size of 10240 bytes exceeded; nested exception is org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (19243) exceeds the configured maximum (10240) at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:160) at org.springframework.web.multipart.commons.CommonsMultipartResolver$1.initializeMultipart(CommonsMultipartResolver.java:131) at org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest.getMultipartFiles(AbstractMultipartHttpServletRequest.java:119) at org.springframework.web.multipart.support.AbstractMultipartHttpServletRequest.getMultiFileMap(AbstractMultipartHttpServletRequest.java:99) at org.springframework.web.multipart.commons.CommonsMultipartResolver.cleanupMultipart(CommonsMultipartResolver.java:188) at org.springframework.web.servlet.DispatcherServlet.cleanupMultipart(DispatcherServlet.java:1062) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:855) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) 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.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 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:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2476) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2465) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (19243) exceeds the configured maximum (10240) at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:914) at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:156) ... 37 more ``` 上传文件超过限制大小,异常处理后页面返回了提示信息“上传文件太大,不能超过10k”,但是为啥eclipse的控制台还是有报错呢?
java向mysql写入数据时,double类型行报错
**做了一个插入学生信息的页面,用户填写完相应内容后,调用studentDaoImpl中的addStu方法向数据库写入对应数据** ## addStu方法 ``` public int addStu(student stu) { // TODO Auto-generated method stub sql = "insert into student values(?,?,?,?,?,?)";//int string string int string double try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, stu.getId()); ps.setString(2, stu.getName()); ps.setDouble(3, stu.getScore()); ps.setString(4, stu.getSex()); ps.setInt(5, stu.getAge()); ps.setString(6, stu.getClassname()); num = ps.executeUpdate(); ps.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return num; } ``` ## **Servlet中取页面输入的数据(数据格式已经用js控制了) ``` public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); int id = Integer.parseInt(request.getParameter("id")); String name = request.getParameter("name"); double score = Double.parseDouble(request.getParameter("score")); String sex = request.getParameter("sex"); int age = Integer.parseInt(request.getParameter("age")); String classname = request.getParameter("classname"); /*添加进数据库前先判断此学生存在了没有 * :存在,返回页面并提示已存在 * :不存在,添加 * */ studentDaoImpl sdi = new studentDaoImpl(); if(sdi.findStuById(id)!=null){ //存在 request.setAttribute("exist", "<font color='red'>此学生已存在</font><br/>"); request.getRequestDispatcher("addStu.jsp").forward(request, response); } else{ //不存在 student stu = new student(); stu.setId(id); stu.setName(name); stu.setScore(score); stu.setSex(sex); stu.setAge(age); stu.setClassname(classname); sdi.addStu(stu); request.setAttribute("exist", "添加成功"); request.getRequestDispatcher("addStu.jsp").forward(request, response); } } ``` ## 这是js代码,用正则表达式控制input的各个数据格式 ``` // JavaScript Document function check(){ var id = document.getElementsByName('id')[0].value.replace(/(^\s*)|(\s*$)/g, ""); var score = document.getElementsByName('score')[0].value.replace(/(^\s*)|(\s*$)/g, ""); var age = document.getElementsByName('age')[0].value.replace(/(^\s*)|(\s*$)/g, ""); var classname = document.getElementsByName('classname')[0].value.replace(/(^\s*)|(\s*$)/g, ""); var errors = document.getElementsByName('error'); var flag = true; /*每次点击时都先清空错误提示消息*/ for(var i=0; i<errors.length; i++){ errors[i].innerHTML = ""; } if(/^[1-9]\d{0,1}/.test(id)==false){ errors[0].innerHTML = "学号输入有误,应为非0开头的1-2位数字"; flag = false; } if(/^\d+(\.\d+)?$/.test(score)==false){ errors[1].innerHTML = "分数格式有误,应为非负小数或整数"; flag = false; } if(/^[1-9]\d{0,2}$/.test(age)==false){ errors[2].innerHTML = "年龄格式有误,应为1-3位不为0开头的数字"; flag = false; } if(/^[1-9]{2}[\u4e00-\u9fa5]{2,3}[1-9]{1}[\u73ed]{1}$/.test(classname)==false){ errors[3].innerHTML = "班级名称格式有误,应为'2位数字+2字专业+1位数字+班'"; flag = false; } return flag; } ``` 在执行时报错Data truncated for column 'score' at row 1,网上搜大多是说格式没有对应上,可能java里的score是个字符串而数据库里的是double,我也特意检查了一下表格式,发现无误,这是创建表的语句 ``` mysql> create table student( -> id int(10) not null auto_increment, -> name varchar(20) not null, -> score double(5,2) not null, -> sex varchar(2) not null, -> age int(3) not null, -> classname varchar(20) not null, -> primary key(id) -> )ENGINE=InnoDB, DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.01 sec) ``` 不太会排版,有点凌乱了,实在抱歉
struts实现拦截登录问题
ajax提交数据到后台---》struts分配请求映射到具体的action--》action返回result json字符串并且设置session--》ajax的success解析json 成功就跳转到拦截action去获取session--》用户名密码正确就返回“login”跳转到main.html的路径 这里可以实现跳转。。。但是以上的流程在拦截器里面获取不到session,但是我自己写一个简单的跳转action到具体页面后,在去进入这个action方法是可以获取到这个session 的 请问各位大神,我这样实现这个拦截有什么问题吗,还是session 的设置必须是完成一个完整的会话,我想不经过拦截器直接跳转到action,但是这样不是和直接访问一个jsp资源是一样的吗,拦截器不就没啥用处了吗大神来解答解答。。。 login.java if(password.equals(user.getPwd())){ ActionContext.getContext().getSession().put("userName", userName); ActionContext.getContext().getSession().put("passWord", password); map.put("result", "success"); JSONObject json = JSONObject.fromObject(map); result=json.toString(); System.out.println("成功返回数据"); return "success"; } ajax的success var result = d.result; //返回success则自动跳转到主界面 if (result == "success") { location.href = "login"; } } srtuts的跳转 <package name="" namespace="/" extends="default"> <action name="login" class="com.zjm.interceptor.testLogin"> <interceptor-ref name="sessionCheckStack"/> </action> 拦截器 <global-results> <!-- 配置tocken的invalid.tocken的返回试图,即当页面重复提交,页面将自动转到error.jsp --> <result name="invalid.token">/error.jsp</result> <result name="backhome" type="redirectAction">IndexAction</result> <result name="login">/WEB-INF/main.html</result> <result name="noLogin">/login.html</result> </global-results> 拦截器内获取session代码 String userName=(String)session.get("userName"); String passWord=(String)session.get("passWord"); System.out.println(userName+" "+passWord); if(userName!=null&&passWord!=null){ User user=sysUserService.findOneUser(userName); String result=user!=null?(passWord.equals(user.getPwd())?Action.LOGIN:"noLogin"):"noLogin"; return result; } 这一套流程下来输出的session为null 我简单写了一个action跳转到一个空页面,在action里面设置了sessio,在成功跳转到一个页面以后再去调用这个拦截器里面的方法是可以输出这个session里面的内容
javascript接受struts传过来的数组问题
我想在jsp页面里面用javascript定义一个数组来接受java传过来的数据怎么老是收不到数据,传一个字符串可以,传一个字符串数组就没数据了? jsp页面 Java代码 [code="java"] <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <script> var string = '<s:property value="sometext"/>'; var idx = 1; function dosomething() { idx ++; if (idx > 10) idx = 1; document.all.txtarea.innerText = string[idx]; return false; } function dosomething1() { idx --; if (idx < 1) idx = 10; document.all.txtarea.innerText = string[idx]; return false; } </script> <div id="txtarea"></div> <input type="submit" onclick="return dosomething();"> <input type="submit" onclick="return dosomething1();"> </body> </html> [/code] struts [code="java"] package com.jwl.exam; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class testjs extends ActionSupport{ private String[] sometext={"dfslhk","fsdfsdf"}; public String[] getSometext() { System.out.println("getSometext()"); return sometext; } public void setSometext(String[] sometext) { this.sometext = sometext; } } [/code] 只是粗略的试了一下 字符串可以 数组 不知道是哪里写错了 老是没有数据
JavaScript动态获取网站资源
http://www.javascript.com/data1.html这个页面存储了数据,data1.html的内容为:var v=[]; v[0] = "111"; v[2] = "222"; 服务器会动态的更新data1.html文件,我现在要每隔5秒获取data1.html里边的数据,该如何获取呢? getdata.js: [code="java"]<script src="http://www.javascript.com/data1.html"> var data1 = v; //这样data1就是data1.html的数据了,我也可以操作这里边的数据了、 </script>[/code] 但是data1.html的数据更新了,data1还是最原始的值,现在我只有删除缓存或者从新打开这个页面,才能更新数据,有没有其他方法呢? :shock: 如果有好的办法,会加分哦 [b]问题补充:[/b] 你的方法好像不好使哦,难道是从缓存中取? [code="java"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <SCRIPT id="id_js" language="javascript"> function getData() { var Http = new ActiveXObject("Microsoft.XMLHTTP"); var url='http://www.ball365.com.cn/vip_member/new/company/1/data.html'; //发request Http.open("POST",url,false);   Http.send(); return Http.responseText; //获取response文本内容 } var temp=null; var xmlData=null; function xmlGetData() { xmlData = getData(); if (temp ==null) { temp = xmlData; } else if(xmlData != temp) { //数据如果发生变化 alert(xmlData); temp=xmlData; } else { alert("数据没变化"); //数据没有发生变化 } } function showData() { for (var i=0;i<v.length;i++) { alert(v); } } </SCRIPT> <BODY> <input type="button" onclick="xmlGetData()">Get data</input> </BODY> </HTML> [/code] 这个是我写的代码,已经测试好使了,但是我不清楚我该如何才能操作Http.responseText的值。这里边的值。上面的代码可以直接跑。 [b]问题补充:[/b] 不太清楚你说的跨域是什么意思,我后来写的代码好用,你可以试试。得到的xmlData是一个字符串,包含的是http://www.ball365.com.cn/vip_member/new/company/1/data.html的内容。如果data.html的内容有变化就会把这个内容alert出来,如果没变化就给个提示。 [b]问题补充:[/b] script.src="http://www.javascript.com/data1.html"+(new Date().getTime()); 这段url后边加上日期了,不好用啊,获取不到网站的文件 :(
dwr + extjs + spring 通过MethodInterceptor进行权限控制遇到的问题
目前一个项目运用标题框架进行权限控制碰到以下问题: MethodInterceptor 下的方法 [code="java"] public Object invoke(MethodInvocation invocation) throws Throwable { //通过dwr 的session 里面的值来判定用户是否登录,如果没有登录? //跳转到登录页面 } [/code] 现在跳转这里碰到问题 1.如果得到dwr 传过来的信息,因为这里过来上下文是 HttpServletResponse response = WebContextFactory.get().getHttpServletResponse(); ,是xml...假格式的response ,这里response.sendRedirect("index.html"); 在前台没有起到跳转作用。 2.或者是在invoke 直接返回一个没有登录字符串到前台,让dwr调用的方法得到返回值来判定是否登录,而一旦dwr调用方法本身返回的类型是非string 型的话,就会产生异常。 我不知道acegi 或者Spring Security 里面是怎么来对这种情况进行处理的,不知道大家有没有碰到过类似的问题。有什么方法来解决这个问题,或者有其他的权限控制,希望大家能给予帮助,谢谢! [b]问题补充:[/b] 首先谢谢各位的回答,我突然觉得,这个分数不好给了。 如果能把这个分数分配给多个人就好了。 我对各位的建议给一个回复,可能我的问题不是很详细,导致有些地方表述的意图不是很明确。 pJun:目前这个项目不走前台的url,所有的数据的获取都是直接走dwr,所有的权限控制是走spring 方法上的来走,通过在dwr调用service 方法的上面加annotation ,来得到这个method 需要的权限点,再通过MethodInterceptor 中得到session里面保存用户所具有的权限点,来控制用户是否有权限来调用这个方法。如果走filter的话,我不知道是否能拿到dwr所调用的方法的信息,以及该方法所应该局要的权限点信息。 yourgame:谢谢你全局架构的建议,但是目前这个项目很特殊,由于是给客户公司做的,我们是分层开发,而做前台用extjs 是客户公司的人员,对于extjs 认识不是很深刻,如果用ext.Ajax 这个下面来走的话,是不是也要走url 来得到数据啊,就是说这个里面应该有一个struts,或者webwork或者servlet的东西在里面,用来引导这个ajax的请求? lt0604:恩,这个方法来解决这个登录权限跳转问题是可以,但目前没按这种方式来走,因为在java dwr 调用里面会抛出多种类型的异常,而且前台有根据异常会给出相应的提示信息的需求。 xyz20003:要的就是这个思路,由于这个问题已经解决,没有用到Spring Security,是自己写了一个满足这个项目权限控制的东东。不过里面的思路就是这样,现在是在MethodInterceptor 抛出异常,通过dwr自己对异常的处理机制来实现的。 layer555:“而一旦dwr调用方法本身返回的类型是非string 型的话,就会产生异常。”就是我一个dwr方法请求得到一个list,而在这个MethodInterceptor 返回一个string ,就会抛异常出来。我现在项目里面就是用你这个,通过dwr.engine.setErrorHandler(callBackFunction);来处理,把错误代码放到exception里面。前台得到exception 里面的错误信息进行全局的处理。 再次谢谢大家。我真的不知道怎么给分了。
JSoup获取html源码显示不同怎么获取图二中的内容?
<h4>想要获取图二字符串该怎么做?</h4> 图一 起点页面显示为<br/>![图片说明](https://img-ask.csdn.net/upload/201902/08/1549640521_905265.png)<br/> 图二为 查看源代码出现的html实体<br/>![图片说明](https://img-ask.csdn.net/upload/201902/08/1549640584_109398.png)<br/> 图三为程序中获取到输出的内容<br/> ![图片说明](https://img-ask.csdn.net/upload/201902/08/1549640711_706851.png)<br/> 代码如下: ``` public static void main(String[] args) throws IOException, DataFormatException { Document jsoup = Jsoup.parse(new URL("https://book.qidian.com/info/1013414929"),999999); Elements bookinfo = jsoup.select(".book-info p em span"); String webclass = null; for(int i = 0,len = bookinfo.size();i<len;i++) { webclass = bookinfo.get(i).attr("class"); System.out.println(bookinfo.get(i)); } } ```
跨jsp页面传递table指定行数据
[size=xx-small][/size]现在有一张表格table,如图一所示,其中有一个操作列,添加了一个链接“预审”,我想通过点击这个链接进入另外一个jsp页面,同时把按钮左在行的几格单元格数据传递到这个页面,如图二所示的名称、状态、日期等。我这个表格是用dwr的addrows方法动态生成的。 [color=red]html代码[/color] [code="java"] <body onload = "init()"> <table> <tr> <table border = "0" width = '200' height = '20' > <thead> <tr class = "tabTitle"> <th><a href="#" onclick="tabPageControl(0)">未审核项目</a></th> <th><a href="#" onclick="tabPageControl(1)">已审核项目</a></th> </tr> </thead> </table> </tr> <tr> <td> <div id="tabContents"> <table id="tabPagesContainer" style="BORDER-RIGHT: gainsboro 1px; BORDER-TOP: gainsboro 1px; BORDER-LEFT: gainsboro 1px; COLOR: black; BORDER-BOTTOM: gainsboro 1px; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: white" cellSpacing=0 cellPadding=4 rules=cols border=1> <thead> <tr style="FONT-WEIGHT: bold; COLOR: white; BACKGROUND-COLOR: #2b6fbd"> <th scope=col width="15%"> 项目名称 </th> <th scope=col width="10%"> 提交人 </th> <th scope=col width="12%"> 项目类别 </th> <th scope=col width="12%"> 项目状态 </th> <th scope=col width="12%"> 提交时间 </th> <th scope=col width="12%"> 附件 </th> <th scope=col width="12%"> 审核记录 </th> <th scope=col width="15%"> 操作 </th> </tr> </thead> <tbody id="peoplebody" class="tabPageSelected"> </tbody> <tbody id="peoplebody2" class="tabPageUnSelected"> </tbody> </table> </div> </td> </tr> </body> [/code] [color=red]javasc代码[/color] [code="java"] <script type="text/javascript"> function showList(tableIndex) { var sql0 = "select distinct XMMC,TBR,XMLB,XMZT,SQSJ from BASQB as B left join JWYSB as J on (B.XM_ID=J.XM_ID) where (XMZT='备案预审'or XMZT='变更预审') and J.SHZT='未审核'"; var sql1 = "select distinct XMMC,TBR,XMLB,XMZT,SQSJ from BASQB as B left join JWYSB as J on (B.XM_ID=J.XM_ID) where (XMZT='备案预审'or XMZT='变更预审') and J.SHZT='已审核'"; var sql =""; if(tableIndex==0) sql=sql0; else sql=sql1; var msg = tableIndex; var tableId =""; hzglDao.findXmshInfo(sql, function(stu){ //dwr调用后台java代码 callbackFunc(stu,msg,tableId); }); var callbackFunc = function(stu,msg,tableId){ if(msg==0){tableId = "peoplebody"} else if(msg==1){tableId = "peoplebody2"} for(var i=0;i<stu.length;i++){ var cellfuncs = [ function(item){return item.xmmc;}, function(item){return item.tbr;}, function(item){return item.xmlb;}, function(item){return item.xmzt;}, function(item){return item.sqsj;}, function(item){ var html = "<a href='#' onClick='_view();return false'>查看 </a> "; return html; }, function(item){ var html = "<a href='#' onClick='_view();return false'>查看 </a> "; return html; }, function(item){ var html = "<a href='#' onClick='_view1();return false'>预审 </a>"; return html; } ]; //在每一次点击按钮前先删除现在表格中的数据, DWRUtil.removeAllRows(tableId); //调用addRows方法,填充表格. DWRUtil.addRows(tableId,stu,cellfuncs); }//for }//callbackFunc }//showList function tabPageControl(n) { for (var i = 0; i < tabPagesContainer.tBodies.length; i++) { tabPagesContainer.tBodies[i].className = "tabPageUnSelected"; } tabPagesContainer.tBodies[n].className = "tabPageSelected"; if(n==0) showList(0); else if(n==1) showList(1); else if(n==2) showList(2); } function _view1() { window.location.href ='xmysInfoView.jsp'; } function _view2() { window.location.href ='xmshInfoView.jsp'; } function init() { showList(0); } </script> [/code] [b]问题补充:[/b] [code="java"] function(item){ var xmmc = item.xmmc; var html = "<a href='#' onClick='_view1("+xmmc+");return false'>预审 </a>"; return html; }[/code] 我把这段代码改了一下,这样点击某一行的时候获取该行的项目名称的内容,现在点第一行的时候IE报错提示房产项目4未定义,点击第二行IE提示教育项目7未定义。我想现在的问题可能是给“_view1()”传参数时字符串格式有问题,不知怎么改?
ExtJs 与 Liferay集成的问题
在一个简单的应用上,我尝试了在Liferay项目上使用ExtJs,然而出乎意料的是,页面总是报属性不被支持,也搜索过类似的报错问题,但都不能解决,网页上有朋友遇到属性不被支持是因为页面的body内有不在标签内的字符串,但排除这个问题后还是用不了Ext的东西, <br /> <br /> <br />贴上一个简单不能再简单的代码,ext的source code&nbsp; 放在liferay项目的/html/js下: <br /> <br />&nbsp;&nbsp;&nbsp; <pre name="code" class="java"> &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;link rel="stylesheet" type="text/css" href="./ext/resources/css/ext-all.css"&gt; &lt;script type="text/javascript" src="./ext/adapter/ext/ext-base.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="./ext/ext-all-debug.js"&gt;&lt;/script&gt; &lt;title&gt;A xxxxx&lt;/title&gt; &lt;/head&gt; &lt;script type="text/javascript"&gt; ExtJsCustom = function(){ Ext.MessageBox.confirm("DCMS","Do you want to override,are you sure?",function(btn){ alert("1233"); }); } &lt;/script&gt; &lt;body&gt; &lt;input type="button" value="Animal" id="fly" onclick="ExtJsCustom();"/&gt; &lt;/body&gt; </pre> <br /> <br /> <br />引用路径不存在问题,在Liferay项目上就是用不了,是否还需要别的配置,还请用过的大牛们指点,thanks!
过滤器问题tomact已启动就报错
严重: Exception starting filter Filter java.lang.ClassNotFoundException: com.hp.filter.Filter at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:566) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) 2016-6-14 22:15:55 org.apache.catalina.core.StandardContext start 严重: Error filterStart 2016-6-14 22:15:55 org.apache.catalina.core.StandardContext start 严重: Context [/web10] startup failed due to previous errors 1我的过滤器代码是: package com.web.filter; import java.io.IOException; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 实现过滤器功能 * @author Administrator * */ public class Filter implements javax.servlet.Filter { private FilterConfig config; @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("doFilter"); // TODO Auto-generated method stub /** * 获取httprequest对象 */ HttpServletRequest httprequest = (HttpServletRequest) request; /** * 获取httpresponse对象 */ HttpServletResponse httpresponse = (HttpServletResponse) response; /** * 获取上下文参数 */ String noPat = config.getInitParameter("noPaths"); /** * 分割字符 */ String[] str = noPat.split(";"); /** * 循环遍历 分割的字符串 */ for (int i = 0; i < str.length; i++) { /** * 为空结束本次循环 */ if (str[i] != null && "".equals(str[i])) continue; /** * indexOf返回不为-1 放行 */ if (httprequest.getRequestURI().indexOf(str[i]) != -1) { chain.doFilter(request, response); return; } } /** * 获取session中的username(用户名) */ String username = (String) httprequest.getSession().getAttribute( "username"); /** * 用户名不为空 放行 */ if (username != null) { chain.doFilter(request, response); } /** * 用户名为空 拦截并返回登录页面 */ else { httpresponse.sendRedirect("login.jsp"); } } @Override public void init(FilterConfig filterConfig) throws ServletException { // TODO Auto-generated method stub config = filterConfig; System.out.println("init******************"); } } 配置文件是: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- Filter --> <filter> <filter-name>Filter</filter-name> <filter-class>com.hp.filter.Filter</filter-class> <init-param> <param-name>noPaths</param-name> <param-value>index.jsp;</param-value> </init-param> </filter> <filter-mapping> <filter-name>Filter</filter-name> <url-pattern>*.jsp;*.html</url-pattern> </filter-mapping> <!-- IndexLoginServlet 登陆配置--> <servlet> <servlet-name>IndexLoginServlet</servlet-name> <servlet-class>com.web.servlet.IndexLoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>IndexLoginServlet</servlet-name> <url-pattern>/IndexLoginServlet</url-pattern> </servlet-mapping> <!-- Indext2RegisterServlet注册配置 --> <servlet> <servlet-name>Indext2RegisterServlet</servlet-name> <servlet-class>com.web.servlet.Indext2RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Indext2RegisterServlet</servlet-name> <url-pattern>/Indext2RegisterServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
我在支付宝花了1分钟,查到了女朋友的开房记录!
在大数据时代下,不管你做什么都会留下蛛丝马迹,只要学会把各种软件运用到极致,捉奸简直轻而易举。今天就来给大家分享一下,什么叫大数据抓出轨。据史料证明,马爸爸年轻时曾被...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业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 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
使用 Python 和百度语音识别生成视频字幕
文章目录从视频中提取音频根据静音对音频分段使用百度语音识别获取 Access Token使用 Raw 数据进行合成生成字幕总结 从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFileClip(video_file) video.audio.write_...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
立即提问