首页
友链
关于
免责声明
Search
1
王者营地战绩数据王者荣耀查询网页源码
6,209 阅读
2
群晖Active Backup for Business套件备份Linux服务器教程
4,384 阅读
3
影视分享
4,313 阅读
4
(亲测)Jrebel激活破解方式2019-08-21
4,289 阅读
5
centos7 安装及卸载 jekenis
3,573 阅读
日常
文章
后端
前端
Linux
异常
Flutter
分享
群辉
登录
Search
标签搜索
docker
springboot
Spring Boot
java
linux
Shiro
Graphics2D
图片
游戏账号交易
Mybatis
Spring Cloud
centos
脚本
Web Station
群辉
王者营地
战绩查询
平台对接
Spring Cloud Alibaba
nacos
绿林寻猫
累计撰写
249
篇文章
累计收到
26
条评论
首页
栏目
日常
文章
后端
前端
Linux
异常
Flutter
分享
群辉
页面
友链
关于
免责声明
搜索到
40
篇与
前端
的结果
2021-12-25
王者营地战绩数据王者荣耀查询网页源码
源码获取王者荣耀战绩数据查询网站代码,根据网络获取的数据前端展示,对接 数据接口 ,实时更新王者用户信息及战绩详情,代码用于学习交流适用人群:哪怕是小白立马上手(本文内容仅为技术科普,请勿用于非法用途。网站数据均源自网络,与本站无任何直接关系,均不对数据来源准确性及用处承担任何法律责任。如有侵权请 联系:uncle@maven.vip) 获取 遵循自愿原则 支付宝扫码,免费自动发送 请遵循自愿原则,本站不做任何强制引导,感谢您的打赏 关闭 .wxShade { position: fixed; top: 50%; transform: translateY(-50%); width: 250px; margin: 0 20%; background: url('https://www.maven.vip/usr/themes/Joe-master/assets/img/background.png') no-repeat; background-size: 100% 100%; z-index: 100; display: none; } .shade { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; opacity: .4; z-index: 99; display: none; } .wxShade .card, .zfbShade .card { margin: 0.22rem 0; display: flex; justify-content: center; width: auto; height: auto; } .wxShade .paymentDone, .zfbShade .paymentDone { color: #666666; font-size: .26rem; margin:0; } input{ margin-bottom: 10px; border: 1px solid transparent #ccc; border-radius: 4px; height: 30px; } button{ background-color: #1ab394; border-color: #1ab394; color: #fff; min-width: 120px; display: inline-block; padding: 6px 12px; margin-bottom: 10px; font-size: 14px; font-weight: 400; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } function closePay(){ $('.shade').hide(); $('.couponBox').slideUp(300); $('.zhifuSlide').slideUp(300); $('.wxShade').fadeOut(100); } function butPay(){ var email =$("#email").val(); if(!email){ alert("请输入接收代码的邮箱") return; } $.post("https://yd.maven.vip/open/api/pay-qr-wz", { email: email, }, data => { if(data.code!=0){ return alert(data.msg); } var config = { width: 180, //二维码宽度 height: 180, //二维码高度 text: data.data, //二维码扫描结果,文本示例 }; $('#qrcode').html(''); //调用生成二维码方法 $('#qrcode').qrcode(config); //调用生成二维码方法 $('.shade').show(); $('.wxShade').fadeIn(500); }); } 演示网站演示 获取查询接口
2021年12月25日
6,209 阅读
8 评论
36 点赞
2021-12-08
Servlet与JSP(配置web.xml)
Servlet与JSP之间的关系jsp页面一分为二:一部分是前端页面<Login.jsp>,一部分是java代码<doLogin.jsp>doLogin.jsp最开始页面负责登录业务逻辑的处理,现在把代码移到Servlet中,实现前后端代码的分离。 Servlet特点特点:服务器端程序,多线程,效率高,可移植,易使用,功能强。 缺点:前端表现差劲。 Servlet最大的好处:可以处理客户端传来的HTTP请求,并返回一个响应。 Servlet比JSP要强大。如考虑性能,那肯定首先Servlet Servlet类: |——HttpServlet类 |——doGET() |——doPost() 会调用javax.servlet包,javax.servlet.http.HttpServlet包,这两个均为java扩展包。 如出现报以上2个包不存在的错误,解决办法:a.配置CLASSPATH .:d:\Tomcaat 6.0\lib\servlet-api.jarb.将开发包保存在 %JAVA_HOME%\jdk1.6.0_02\jre\lib\ext 注意: 高版本的myEclipse中的Tomcat自带的servlet-api.jar,而低版本的没带的,请将开发包拷贝到jdk1.6.0_02\jre\lib\ext文件夹下。 Servlet类创建在Java中,通常所说的Servlet是指HttpServlet对象,在声明一个对象为Servlet时,需要继承HttpServlet类或者实现Servlet接口。 HttpServlet 类是Servlet接口的一个实现类,继承此类后,需重写HttpServlet类中的方法对HTTP请求进行处理。Servlet的两种编写方式1 继承HttpServlet,重写doGet(),doPost() 2 实现Servlet,重写getServletConfig(),getServletInfo(),init(),destroy(),service()方法 其中: init() 初始化 destroy() 销毁 service() 处理请求 ==== doGet()+doPost() 配置web.xml <servlet> //设置servlet名字 <servlet-name>sa</servlet-name> //设置servlet类名 <servlet-class>com.servlet.DoReg</servlet-class></servlet> //用于映射上面<servlet>中的对外访问路径<servlet-mapping> //设置servlet的名称 <servlet-name>sa</servlet-name> //设置servlet的请求路径 <url-pattern>/reg.do</url-pattern></servlet-mapping> Servlet的生命周期 Servlet是服务器端小程序,因此生命周期受web容器(也可看作是服务器)的控制。 Servlet的生命周期分:加载程序、初始化、服务、销毁、卸载5个部分。 Servlet的生命周期5个部分 a.加载Servlet (构造方法) Web容器负责加载Servlet,当WEB容器启动时或第一次使用SERVLET时,容器会负责创建Servlet实例(需配置web.xml指定servlet的位置),成功加载后,web容器会通过映射的方式对Servlet进行实例化。 b.初始化 (init()方法) 当servlet被实例化后,容器将调用init()方法初始化这个对象。 初始化包括建立数据库连接、读取源文件信息等。 如初始化失败,则此Servlet将被直接卸载(注意,不是直接销毁,而是直接卸载)。 c.处理服务 (service()方法) 当有请求提交时,servlet调用service()方法(常用的有doGet()和doPost())进行处理。 在service()中,可通过ServletRequest接收客户的请求,也可通过ServletResponse响应客户信息。 d.销毁destory() 当WEB容器关闭或检测到一个Servlet要从容器中被删除时,会自动调用destory()方法,释放实例所占用的资源。(注意:销毁servlet实例,并不是删掉了servlet实例) e.卸载 在销毁后,该实例将等待被垃圾收集器回收,如在被回收前再次使用此servlet,会重新用init()方法初始化。 需要提醒的是: 在正常情况下,Servlet只会初始化一次,而处理服务会调用多次,销毁也只会调用一次。但如果一个servlet长时间不使用,也会被容器自动销毁,而如果需要再次使用时会重新进行初始化的操作,即在特殊情况下初始化可能会进行多次,销毁也可能进行多次。 Servlet API常用接口和类(一)Servlet接口对请求进行处理。任何一个Servlet对象都要直接或间接地实现javax.servlet.Servlet接口。init(ServletConfig config)//Servlet实例化后,Servlet容器调用该方法来完成初始化工作 service(ServletRequest request, ServletResponse response)//用于处理客户端的请求distroy()//当Servlet对象从Servlet容器中移除时,调用该方法,释放资源 getServletConfig()//用于获取Servlet对象的配置信息,返回ServletConfig对象 getServletInfo()//返回有关Servlet的信息,它是纯文本格式字符串,如作者、版本等 (二)ServletConfig接口位于javax.servlet包中,它封装了Servlet的配置信息。 getInitParameter(String name)//返回String类型名称为name的初始化参数值 getInitParameterNames()//获得所有初始化参数名的枚举集合 getServletContext()//用于获取Servlet上下文对象 getServletName()//返回Servlet对象的实例名 (三)HttpServletRequest接口getContextPath()//返回请求的上下文路径,以"/"开始getCookies() getMethod() getQueryString() getRequestURI()getRequestURL() getServletPath() getSession() (四)HttpServletResponse接口 addCookie(Cookie cookie) sendError(int sc) sendError(int sc, String msg) sendRedirect(String location) (五)GenericServlet类 (六)HttpServlet类 service() //服务doGet() //get提交doPost() //post提交doPut()doDelete()doHead()doTrace()doOption() Servlet跳转客户端跳转(重定向)request.sendRedirect(url); 服务器端跳转(转发)request.getRequestDispatcher(url).forward(request, response);
2021年12月08日
142 阅读
0 评论
0 点赞
2021-12-08
JSP基本语法
注释 作用:说明、解释 HTML注释:<!-- 注释内容 --> JSP注释:<%-- 注释内容 --%> <% // %> <% /* */ %>声明 作用:定义JSP中的变量、方法以及静态方法。<%! 变量定义/方法定义/类 %><jsp:declaration>变量定义/方法定义/类</jsp:declaration> //已过时表达式 作用:将动态信息显示在页面上。<%=变量或表达式 %><jsp:expression> 变量/表达式 <jsp:expression> //已过时指令 page指令: 作用:设置JSP页面的属性和相关功能。<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>其他属性:session="true|false" 设置session是否可用,默认trueautoFlush="true|false" 设置缓冲区域是否自动清除,默认trueinfo="text" 描述该jsp页面的相关信息errorPage="URL" 当页面产生异常时跳转的路径 include指令:作用:在JSP页面引入需要包含的页文件。<%@ include file="a.jsp" %> <jsp:include page="a.jsp" %> taglib指令:标签指令,JSP新增的指令,作用:自定义新的标签。<%taglib uri="taglibURL" perfix="tagPre" %>其中: uri:表示自定义标签库的存放位置; perfix:区分不同标签库的标签名。动作 JSP中有13个动作: <jsp:include>、<jsp:forward>、<jsp:plugin>、<jsp:param>、 <jsp:params>、<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>、 <jsp:output>、 <jsp:attribute>、<jsp:element>、<jsp:body>、<jsp:fallback>。 动作的标准格式: <jsp:include page="top.html" /> 或 <jsp:include page="top.html"></jsp:include><jsp:include> 作用:引入文件到目标页面,与<%@include%>指令十分相似。 <jsp:include page="URL" flush="true" /> 例如: <jsp:include page="top.html" flush="true" /> <jsp:include page="top.html" /> 其中:page 指明了需要包含文件的路径,这里的路径不是指绝对路径,而是指项目路径; 如何获得项目路径?String path=request.getContextPath(); flush 指定输出缓存是否转移到被导入文件中,true则包含的被导入文件中,false则包含在源文件中。 <jsp:include>动作与<%@include%>指令不同点: a. jsp:include页面被访问时调用,include指令在编译时调用; b. jsp:include包含文件与主文件相对独立,include则会合成一个,效率更高。<jsp:forward> 作用:转发请求到另外一个页面中,可以带参。 <jsp:forward page="URL" /> 例如: <jsp:forward page="error.html" /> 例如: <jsp:forward page="doreg.jsp?username=张三" /> 注意:上述代码即使连接到doreg.jsp,但浏览器地址栏仍然显示是当前页面,具备隐密性。<jsp:param> 作用:用来传递参数信息,传递主页面的参数到目标页面。 常与<jsp:forward>、<jsp:include>一起使用。 <jsp:param name="参数名" value="参数值" /> 例如: <jsp:param name="username" value="李四" /> 例如:include与param结合使用 <jsp:include page="subPage.jsp"> <jsp:param name="username" value="李四" /> <jsp:param name="password" value="10086" /> <jsp:param name="address" value="湖南长沙" /> </jsp:include> 例如:param与forward结合使用 <jsp:forward page="subPage.jsp"> <jsp:param name="username" value="李四" /> <jsp:param name="password" value="10086" /> <jsp:param name="address" value="湖南长沙" /> </jsp:forward> 接收代码都一样: String username=request.getParameter("username"); String password=request.getParameter("password"); String address=request.getParameter("address"); 注意:如果传参的是中文,注意编码问题。
2021年12月08日
163 阅读
0 评论
0 点赞
2021-12-08
JSP内置对象、JSP常用动作标签、指令
JSP有9个内置对象,分别是:request(请求)、response(响应)、session(会话)、application(应用程序)、out(输出)、page(页面)、config(配置)、pageContext(页面上下文)、exception(异常)。 对象 作用及方法 Request 表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie、header和session数据的有用的方法。 Response 表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies、header头信息等)。 pageContext 是一个Javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 Session 表示一个请求的Javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息。 Application 表示一个Javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息。 Out 是Javax.jsp.JspWriter的实例,并提供了几个方法能用于向浏览器回送输出结果。 Config 表示一个Javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 Page 表示从该页面产生的一个servlet实例。 Exception 针对错误网页,未捕捉的例外 Request对象 Request对象代表的是来自客户端的请求,例如在form表单中填写的信息等是最常用的对象。 方法: getParameter() //获取到客户端通过表单或url请求参数发送过来的参数值 getParameterValues() //将同名的参数一次性读入String类型的数组中 getParameterNames() //获取参数名称,返回枚举类型 getMethod() //获得用户提交方式,post或get getServletPath() //获得JSP文件所在项目的路径 getRemoteAddr() //获取客户的IP地址 getServerName() //获取服务器的名称 getServerPort() //获取服务器的端口号 getContextPath() //获取项目名,与getServletPath类似 getHeader(str) //获取HTTP头文件中的指定值 getHeaders(str) //获取表头信息 请求中文乱码处理 a. 设置request请求字符编码request.setCharacterEncoding("UTF-8"); b. 取得参值后,通过转码方式将值转成合适的字符集String uname=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");String upwd=new String(request.getParameter("pwd").getBytes("ISO-8859-1"),"UTF-8"); 获取主机和客户机的信息getRemoteAddr() //获得客户主机的IPgetRemoteHost() //获得客户主机的名字getLocalAddr() //获得本地主机的IPgetLocalHost() //获得本地主机的名字getServerName() //获得服务器主机的IPgetServerPort() //获得服务器端口例如:本地计算机名为:<%=request.getLocalHost()%> Response对象 Response对象代表的是对客户端的响应,也就是说可以通过response对象来组织发送到客户端的数据。 但是由于组织方式比较底层,所以不建议一般人使用。 需要向客户端发送文字时直接用out对象即可。 方法: addHeader(String arg0,String arg1) //向页面中添加头和对应的值 addCookie(Cookie arg0) //添加Cookie信息 sendRedirect(String arg0) //实现页面重定向,URL重写 setStatus(int arg0) //设定页面的响应状态代码 setContentType(String arg0) //设定页面的MIME类型和字符集 setCharacterEncoding(arg0) //设定页面响应的编码类型 Session对象 Session对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。 HTTP是无状态协议; Web Server对每一个客户端请求都没有历史记忆; Session用来保存客户端状态信息。 打开一个浏览器就意味着打开了一个Session对象,浏览器不关闭,Session对象会一直存在(姑且这样认为),且Session对象只有一个。 如果浏览器关闭重启,会创建新的Session对象。 Session对象生命周期:创建--执行--失效 方法: setAttribute("key",value) //将参数名和参数值存放在session对象中 getAttribute("key") //获取参数值 getAttributeName() getId() //获取session对象的ID removeAttribute("key") //移除指定session中参数 getCreateTime() //获得session对象创建的时间,单位毫秒 getMaxInactiveInterval() //获得session对象的有效时间 setMaxInactiveInterval() //设置session对象的有效时间 isNew() //判断是否为一个新客户 invalidate() //使session对象失效 application对象 application对象负责提供应用程序在服务器中运行时的一些全局信息。类似于系统的“全局变量”,用于实现用户之间的数据共享。 application的生命周期是从application创建到服务器关闭。 application的存活范围比request和session都要大。 只要服务器没有关闭,application对象中的数据就会一直存在,在整个服务器的运行过程当中,application对象只有一个,它会被所有的用户共享。 方法: getRealPath(String arg0) //获得指定文件的路径 getMimeType(String arg0) //获取指定的文件格式 setAttribute(String arg0,Object obj) //将参数及参数值保存到application对象 getAttribute(String arg0) //获得application对象属性的值 getAttributeNames() //获得application中所有参数的名字 removeAttribute(String arg0) //移除application对象中指定的参数值 getServletInfo() //获取Servlet的当前版本信息 getContext(String arg0) //获得指定路径的context内容 getContextPath() 例如:<%=application.getRealPath("login.jsp")%> //获得login.jsp的实际路径<%=application.getResource("login.jsp")%><%=application.getContextPath()%> Out对象 作用:输出内容到HTML中。 out对象代表了向客户端发送数据的对象,与response对象不同,通过out对象发送的内容将是浏览器需要显示的内容,是文本一级的,可以通过out对象直接向客户端写一个由程序动态生成的HTML文件。 常用的方法除了print和println之外,还包括clear、clearBuffer、flush、getBufferSize和getRemaining,这是因为out对象内部包含了一个缓冲区,所以需要一些对缓冲区进行操作的方法。 方法: append(char c) //将字符添加到输出流中 clear() //清空页面缓存中的内容 close() //关闭网页流的输出 flush() //网页流的刷新 println() //将内容直接打印在HTML中 write() //与println()方法相似,区别在于println()可以输出各种类型的数据, 而write()只能输出与字符相关的数据。例如:<%out.println("这是out对象输出的信息");out.clear(); //清除缓冲区中的内容%> Page对象 Page对象是指当前的JSP页面本身,在实际开发中并不常用。 方法: getClass() //返回当时Object的类 hashCode() //返回此时Object的哈希代码 toString() //将此时的Object类转换成字符串 equals(Object obj) //比较此对象是否与指定的对象相等 clone() //对此对象进行克隆 copy(Object obj) //将此对象复制到指定的对象中 Config对象 Config对象一般用于页面初始化时传递参数。一般而言很少在页面中使用config对象。 方法: getServletContext() //获得servletContext值 getInitParameter(String arg0) //获得指定的初始化值 getInitParameterNames() //获得初始化的所有参数,返回枚举值 getServletName() //获得servlet名字 equals(Object obj) //比较此时的对象是否与指定的对象相等 toString() //获得此时对象的值 Exception对象 Exception对象用来处理页面出现的异常错误。 通常在某个页面(比如A.jsp)中加入page指令的errorPage属性来将其指向一个专门处理异常错误的页面(doError.jsp)。 <%@ page errorPage="doError.jsp" %> 方法: getMessage() //返回exception对象的异常消息字符串 getLocalizedMessage() //返回exception对象的本地化语言的异常错误。 printStackTrace() //显示异常的栈跟踪轨迹。 toString() //返回关于异常错误的简单消息描述。 fillInStackTrace() //重写异常错误的栈执行轨迹。 PageContext对象 PageContext内置对象是一个比较特殊的对象,它相当于页面中所有其他对象功能的最大集成者, 即使用它可以访问到本页面中所有其他的对象。 例如前面已经描述的request、response、out和page对象等。 由于在JSP中request和response等对象本来就可以通过直接调用方法使用,所以pageContext对象在实际JSP开发中很少使用到。 方法: getRequest():返回当前页面中的request对象。 getResponse():返回当前页面中的response对象。 getSession():返回当前页面中的session对象。 getServletContext():返回当前页面中的application对象。 getPage():返回当前页面中的page对象。 getOut():返回当前页面中的out对象。 getException():返回当前页面中的exception对象。 getServletConfig():返回当前页面中的config对象。 setAttribute(String name):给指定的属性名设置属性值。 getAttribute(String naem):根据属性名找到相应的属性值。 setAttribute(String name, Object obj, int scope):在给定的范围内设置相应的属性值。 getAttribute(String name, int scope):在给的范围内获取相应的属性值。 findAttribute(String name):寻找一个属性并返回,如果查找不到则返回null。 removeAttribute(String name):通过属性名删除掉某个属性。 removeAttribute(String name, int scope):在指定的某个范围里删除某个属性。 getAttributeScope(String name scope):返回某属性的作用域。 getAttributeNamesInScope(int scope):返回指定范围内的所有属性名的枚举。 release():释放pageContext占据的所有资料。 forward(String relativeURLpath):使用当前页面重导到另一个页面。 include(String relativeURLpath):使用当前位置包含的另一个页面。 JSP常用的动作标签: 语法 描述 jsp:include 在页面被请求的时候引入一个文件。 jsp:useBean 寻找或者实例化一个JavaBean。 jsp:setProperty 设置JavaBean的属性。 jsp:getProperty 输出某个JavaBean的属性。 jsp:forward 把请求转到一个新的页面。 jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。 jsp:element 定义动态XML元素 jsp:attribute 设置动态定义的XML元素属性。 jsp:body 设置动态定义的XML元素内容。 jsp:text 在JSP页面和文档中使用写入文本的模板 JSP三大指令: 指令 作用 <%@ page %> 设置JSP页面的属性和相关功能。 <%@ include %> 在JSP页面引入需要包含的页文件。 <%@ taglib %> 标签指令,自定义新的标签。 JSP中动态include与静态include的区别?动态include用<jsp:include>动作实现,<jsp:include page=”included.jsp” flush=”true” />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静态include用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=”included.html” %> 。
2021年12月08日
139 阅读
0 评论
0 点赞
2021-12-08
js获得CKEDITOR编辑器里的内容
一般页面都会有类似于这样的代码<script type="text/javascript">window.onload = function(){ CKEDITOR.replace( 'description');};</script> 改成<script type="text/javascript">window.onload = function(){ var p_desc= CKEDITOR.replace( 'description'); console.log(p_desc.getData()); //取包含html代码的值};</script> 结果就可以取包含html代码的值判断是否为空,其他的方法我试了都报错,不知道是不是版本(CKEDITOR4.10)的原因还是没用对方法。如果有找到其他方法的请大佬指教。
2021年12月08日
188 阅读
0 评论
0 点赞
2021-12-08
发布web项目到服务器页面无数据
服务器是 Centos系统期间自己出现的问题:发布项目通过域名能访问首页,但却没有绑定数据。配置web.xml的 <welcome-file-list>时可以配置另外一个页面,从另外一个页面跳转至首页(页面加<meta http-equiv='refresh' content='0;url=index.jsp'> refresh[刷新-这里指定动作] ,content="0;URL=",这里0表示没有延时,直接跳转到后面的URL;把0改成1,则延时1秒后跳转。)在其他页面没有获得数据,但是在eclipse运行项目可以获得数据,把获数据的sql语句在服务器的mysql执行看看能不能查到数据,我的问题是 select * from T_a;本地可以查但是服务器报错,发现是表名的原因select * from t_a;改成这样就可以查出数据,原因是服务器的mysql区分大小写,本地的大小写都无所谓。点击→这里有写到怎么解决大小写问题
2021年12月08日
226 阅读
0 评论
0 点赞
2021-12-08
获得页面地址栏传参的值 中文不乱码
//获得页面地址栏传参的值 ( index.jsp?id=123)function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = encodeURI(window.location.search).substr(1).match(reg); if(r!=null)return decodeURI(unescape(r[2])); return null;}//id为页面传值的名称var id = GetQueryString("id");console.log(id); //输出的值为123
2021年12月08日
161 阅读
0 评论
0 点赞
2021-12-08
论web开发中一些标签属性命名规则的重要性
在平时做项目时给页面标签赋值或者拿值等操作时,都会根据对应的id或者name、class或者通过jquery 的其他方式来操作。不过在一些很平常的一些操作来说,命名可能只是给标签赋予一个身份,指定一个名称,并没有考虑太多。 不过在一些特殊的情况下时,一个适应当下操作的命名规则很重要。 例如曾经我碰到一个进度报表: 这个报表需要统计每个不同类型(新户、分户.....)的工单对应流程(用户申请....)的数量,可能有些会调用很多的查询去统计每个的数量。其实在一些业务需求下,根据一些已存在的特殊性可以很方便的进行操作。就比如这个工单的类型最开始的时候已经定义了用什么指代它,假设1~7对应每一个工单,而流程步骤也是对应-1~8。当我想到这一步的时候,我只需要从数据库拿出三个列的数据:统计数、工单类型、流程,一个统计加分组的视图完全可以做到。 既然能拿到所有的对应数据了,那么在标签命名这一块其实根据这三个列就很好来命名了 如:id='s1o1',id='s1o2' 这两个分别对应的是新户工单的新户申请和分户申请的工单申请, <thead> <tr> <th>进度</th> <th width="100">新户</th> <th width="100">分户</th> <th width="100">过户</th> <th width="100">代扣</th> <th width="100">换表</th> <th width="100">重签</th> <th width="100">销户</th> <th width="100">总数</th> </tr> </thead> <tbody> <tr> <td class="center item">01 用户申请</td> <td class="center num" id="s1o1">0</td> <td class="center num" id="s1o2">0</td> <td class="center num" id="s1o3">0</td> <td class="center num" id="s1o4">0</td> <td class="center num" id="s1o5">0</td> <td class="center num" id="s1o6">0</td> <td class="center num" id="s1o7">0</td> <td class="center cnt num" id="s1oo">0</td> </tr> <tr> <td class="center item">02 初步审核</td> <td class="center num" id="s2o1">0</td> <td class="center num" id="s2o2">0</td> <td class="center num" id="s2o3">0</td> <td class="center num" id="s2o4">0</td> <td class="center num" id="s2o5">0</td> <td class="center num" id="s2o6">0</td> <td class="center num" id="s2o7">0</td> <td class="center cnt num" id="s2oo">0</td> </tr> <tr> <td class="center item">03 交施工费</td> <td class="center num" id="s3o1">0</td> <td class="center num" id="s3o2">0</td> <td class="center num" id="s3o3"></td> <td class="center num" id="s3o4"></td> <td class="center num" id="s3o5">0</td> <td class="center num" id="s3o6"></td> <td class="center num" id="s3o7"></td> <td class="center cnt num" id="s3oo">0</td> </tr> <tr> <td class="center item">04 水费清算</td> <td class="center num" id="s4o1"></td> <td class="center num" id="s4o2">0</td> <td class="center num" id="s4o3"></td> <td class="center num" id="s4o4"></td> <td class="center num" id="s4o5"></td> <td class="center num" id="s4o6"></td> <td class="center num" id="s4o7">0</td> <td class="center cnt num" id="s4oo">0</td> </tr> <tr> <td class="center item">05 供水协议</td> <td class="center num" id="s5o1">0</td> <td class="center num" id="s5o2">0</td> <td class="center num" id="s5o3"></td> <td class="center num" id="s5o4"></td> <td class="center num" id="s5o5"></td> <td class="center num" id="s5o6">0</td> <td class="center num" id="s5o7"></td> <td class="center cnt num" id="s5oo">0</td> </tr> <tr> <td class="center item">06 施工竣工</td> <td class="center num" id="s6o1">0</td> <td class="center num" id="s6o2">0</td> <td class="center num" id="s6o3"></td> <td class="center num" id="s6o4"></td> <td class="center num" id="s6o5">0</td> <td class="center num" id="s6o6"></td> <td class="center num" id="s6o7"></td> <td class="center cnt num" id="s6oo">0</td> </tr> <tr> <td class="center item">07 通水停水</td> <td class="center num" id="s7o1">0</td> <td class="center num" id="s7o2">0</td> <td class="center num" id="s7o3"></td> <td class="center num" id="s7o4"></td> <td class="center num" id="s7o5">0</td> <td class="center num" id="s7o6"></td> <td class="center num" id="s7o7">0</td> <td class="center cnt num" id="s7oo">0</td> </tr> <tr> <td class="center item">08 档案存档</td> <td class="center num" id="s8o1">0</td> <td class="center num" id="s8o2">0</td> <td class="center num" id="s8o3">0</td> <td class="center num" id="s8o4">0</td> <td class="center num" id="s8o5">0</td> <td class="center num" id="s8o6">0</td> <td class="center num" id="s8o7">0</td> <td class="center cnt num" id="s8oo">0</td> </tr> <tr class="todo"> <td class="center item"> 待办总数</td> <td class="center num" id="o1">0</td> <td class="center num" id="o2">0</td> <td class="center num" id="o3">0</td> <td class="center num" id="o4">0</td> <td class="center num" id="o5">0</td> <td class="center num" id="o6">0</td> <td class="center num" id="o7">0</td> <td class="center cnt num" id="oo">0</td> </tr> <tr> <td class="center item"> 工单完成</td> <td class="center num" id="s0o1">0</td> <td class="center num" id="s0o2">0</td> <td class="center num" id="s0o3">0</td> <td class="center num" id="s0o4">0</td> <td class="center num" id="s0o5">0</td> <td class="center num" id="s0o6">0</td> <td class="center num" id="s0o7">0</td> <td class="center cnt num" id="s0oo">0</td> </tr> <tr> <td class="center item"> 工单终止</td> <td class="center num" id="s-1o1">0</td> <td class="center num" id="s-1o2">0</td> <td class="center num" id="s-1o3">0</td> <td class="center num" id="s-1o4">0</td> <td class="center num" id="s-1o5">0</td> <td class="center num" id="s-1o6">0</td> <td class="center num" id="s-1o7">0</td> <td class="center cnt num" id="s-1oo">0</td> </tr> </tbody> 那么利用Ajax拿取返回值,使用jquery的each 用 $("#s"+this.stepId+"o"+this.orderType).text(this.count);绑值,完全一句代码可以完成。在Ajax的success里执行$.each(data,function(){ //给对应工单的对应流程绑值 $("#s"+this.stepId+"o"+this.orderType).text(this.count); }); //流程统计 for (var i = -1; i < 9; i++) { //流程 var counts = 0; for (var j = 1; j < 8; j++) {//工单类型 var z= $("#s"+i+"o"+j).text(); if(z!=''){ counts=counts+parseInt(z); } } //设置流程统计 $("#s"+i+"oo").text(counts); } //待完成总和 var cou = 0; //统计待完成 for (var j = 1; j < 8; j++) {//工单类型 var counts = 0; for (var i = 1; i < 9; i++) { //流程 var z= $("#s"+i+"o"+j).text(); if(z!=''){ counts=counts+parseInt(z); } } cou=cou+counts; //设置统计待完成 $("#o"+j).text(counts); } //设置待完成总和 $("#oo").text(cou); }至此完全可以给所有标签赋值。其实每一个统计数来的 td都能点击去详细页面。而我们只需要把id传过去,进行处理就可以得到对应的统计数信息。 当然可能这种比不是适用于所有的报表什么的,只能说在某种情况下面,看清此时的需求及数据与页面的关系,定义一个正确的命名规则可以省去很多事情。如果我还有不足的地方请大佬提示
2021年12月08日
157 阅读
0 评论
0 点赞
2021-12-08
通过域名访问web项目
1.首先把项目导出成*.war文件 2.把项目放到Linux系统tomcat中的webapps下(到此步骤重启tomcat可以通过ip地址加端口号加项目名访问项目如: 192.168.44.199:8080/项目名/index.jsp) 3.配置域名解析(注意:不管是在腾讯云或阿里云购买的域名,记得配置解析,不然不能通过域名访问项目记录值里填的是对应的) 4.打开tomcat中conf文件中的server.xml进行修改(此步骤为更改端口配置域名访问)在把此文件中的defaultHost的值改为自己的域名 ------------------------------------------------------在把name改为域名如果没有context则添加一行docBase 填的是对应项目名记得在安全组里添加80端口最后重启tomcat就可以通过域名访问项目
2021年12月08日
181 阅读
0 评论
0 点赞
2021-12-08
WebService(一)
Web Service——也叫XML Web Service WebService,是一种跨编程语言和跨操作系统平台的远程调用技术。各个应用程序之间的交流就需要Web Service来作为相互交流的桥梁。Web Service是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。基本的 Web services 平台是 XML + HTTP。WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。UDDI:UDDI 是一种目录服务,通过它,企业可注册并搜索 Web services。XML+XSD、SOAP和WSDL就是构成WebService平台的三大技术。 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,譬如,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以Web Service服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。 Web Service开发可以分两方面服务端开发:把公司内部系统的业务方法发布成Web Service服务,供远程合作单位和个人调用。客户端开发:调用别人发布的Web Service服务,大多数人从事的开发都属于这个方面。例如,调用天气预报Web Service服务。 JAVA使用jdk开发WebService服务器端(注:使用jdk开发时,jdk版本为1.6及以上) 第一步:创建Java工程 ,创建相应的包(服务端)第二步:创建一个公开的接口,写方法(注:使用@WebService注解标注接口,使用WebMethod注解标注接口中的方法) package Test; import javax.jws.WebMethod; import javax.jws.WebService; /** * @ClassName: Test_WebSweviceI * @Description: TODO(webservice终端) * @author Uncle * @date 2018年9月18日 下午6:05:44 * */ @WebService public interface Test_WebSweviceI { /** * * @Title: getUserById * @Description: 通过uid得到用户信息 * @param uid * @return String * @author Uncle * @date 2018年9月18日下午6:32:12 */ @WebMethod public String getUserById(int uid); } 第三步:编写接口的实现类,使用@WebService注解标注实现类,并实现接口所有方法:package Test; import javax.jws.WebService; /** * @ClassName: Test_WebService * @Description: TODO(webservice实现类) * @author Uncle * @date 2018年9月18日 下午6:05:12 * */ @WebService public class Test_WebServiceImpl implements Test_WebSweviceI{ /* (非 Javadoc) * <p>Title: getUserById</p> * <p>Description: </p> * @param uid * @return * @see Test.Test_WebSweviceI#getUserById(int) */ public String getUserById(int uid) { // TODO Auto-generated method stub //通过这个方法拿取的数据 String str = "哈哈哈哈哈哈"; return str; } } 第四步:写发布类,使用Endponit(终端)类发布(注:发布服务:通过Endpoint类提供的publish()方法发布,发布时要保证使用的端口号没有被其他应用程序占用,Endpoint类是端点类,用来标识网络地址,IP地址是本机动态地址。)package Test; import javax.xml.ws.Endpoint; /** * @ClassName: Publish * @Description: TODO(发布) * @author Uncle * @date 2018年9月18日 下午6:10:10 * */ public class Publish { public static void main(String[] args) { String url="http://本地ip地址:1999/web/webservice"; Endpoint.publish(url, new Test_WebServiceImpl()); System.out.println("ok"); } } 第五步:使用Eclipse自带的工具测试服务端1.选择Luanch the Web Service Explorer2.选择WSDL Page,打开WSDL3.测试方法 打开浏览器也可通过http://本地ip地址:1999/web/webservice?wsdl 查看 客户端(终端)访问WebService访问别人提供的方法,在http://www.webxml.com.cn网站上有很多公开的方法我们就来测试一个天气的WEB服务 可以看到公开了很多可使用的方法,我们就拿getWeather测试1.点击更多点击选中的为wsdl结尾的链接可以得到对应的xml,我个人一般情况下都是把此文件保存到本地再通过命令生成代码,因为某些情况下可能需要改此xml文件在打开的页面:ctrl+s 保存到文件夹 可以看到文件已经保存下来 此时我们跑到Eclipse工作空间,找到对应的项目,下的文件夹中按住shift点击右键打开命令窗口在cmd命令窗口执行下述命令生成客户端代码: wsimport -keep -d D:\WorkSpace\Hibernate\Web_Service1\target\test-classes\Test -s D:\WorkSpace\Hibernate\Web_Service1\src\test\java -verbose d:/WeatherWS.xml -keep:是否生成java源文件-d:指定.class文件的输出目录-s:指定.java文件的输出目录-p:定义生成类的包名,不定义的话有默认包名-verbose:在控制台显示输出信息-b:指定jaxws/jaxb绑定文件或额外的schemas-extension:使用扩展来支持SOAP1.2 解析当中可能会报错:(根据错误提示删除xml对应的信息再解析)再次解析可以看见文件已生成 --------------测试------------package Test; import java.util.List; import cn.com.webxml.ArrayOfString; import cn.com.webxml.WeatherWS; import cn.com.webxml.WeatherWSSoap; /** * @Title: Test.java * @Package Test * @Description: TODO(用一句话描述该文件做什么) * @author Uncle * @date 2018年9月18日 下午9:56:57 * @version V1.0 */ public class Test { public static void main(String[] args) { //找到xml中wsdl:service <wsdl:service name="WeatherWS"> //获得服务 WeatherWS ws = new WeatherWS(); //SOAP 指简易对象访问协议 WeatherWSSoap soap = ws.getWeatherWSSoap(); //soap.getWeather("长沙", "")的返回类型是ArrayOfString 用getString()转成list List<String> list = soap.getWeather("长沙", "").getString(); for (String s : list) { System.out.println(s); } } } 结果:可以看到控制台根据查询输出了对应信息---------------------------------------------------------------------------以上就是使用JDK开发WebService及客户端(终端)访问WebService,下次再写使用Axis2框架开发
2021年12月08日
265 阅读
0 评论
0 点赞
1
2
...
4