cas-client登录后报INVALID_PROXY_CALLBACK

服务器部署cas,登录后页面提示INVALID_PROXY_CALLBACK

然后查看cas的日志,日志报以下错误:

2018-06-29 11:36:06,251 ERROR [org.jasig.cas.util.http.SimpleHttpClient] - java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-emptyat sun.security.ssl.Alerts.getSSLException(Unknown Source)at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)at sun.security.ssl.SSLSocketImpl.handleException(Unknown Source)at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)at org.apache.http.impl.execchain.ServiceUnavailableRetryExec.execute(ServiceUnavailableRetryExec.java:84)at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)at org.jasig.cas.util.http.SimpleHttpClient.isValidEndPoint(SimpleHttpClient.java:136)at org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler.authenticate(HttpBasedServiceCredentialsAuthenticationHandler.java:69)at org.jasig.cas.authentication.PolicyBasedAuthenticationManager.authenticateInternal(PolicyBasedAuthenticationManager.java:220)at org.jasig.cas.authentication.PolicyBasedAuthenticationManager.authenticate(PolicyBasedAuthenticationManager.java:149)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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at org.jasig.inspektr.audit.AuditTrailManagementAspect.handleAuditTrail(AuditTrailManagementAspect.java:128)at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at com.ryantenney.metrics.spring.AbstractMetricMethodInterceptor.invoke(AbstractMetricMethodInterceptor.java:62)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at com.ryantenney.metrics.spring.AbstractMetricMethodInterceptor.invoke(AbstractMetricMethodInterceptor.java:62)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at com.sun.proxy.$Proxy49.authenticate(Unknown Source)at org.jasig.cas.CentralAuthenticationServiceImpl.delegateTicketGrantingTicket(CentralAuthenticationServiceImpl.java:392)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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at org.jasig.inspektr.audit.AuditTrailManagementAspect.handleAuditTrail(AuditTrailManagementAspect.java:128)at sun.reflect.GeneratedMethodAccessor123.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at com.ryantenney.metrics.spring.MeteredMethodInterceptor.invoke(MeteredMethodInterceptor.java:45)at com.ryantenney.metrics.spring.MeteredMethodInterceptor.invoke(MeteredMethodInterceptor.java:32)at com.ryantenney.metrics.spring.AbstractMetricMethodInterceptor.invoke(AbstractMetricMethodInterceptor.java:59)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at com.ryantenney.metrics.spring.TimedMethodInterceptor.invoke(TimedMethodInterceptor.java:48)at com.ryantenney.metrics.spring.TimedMethodInterceptor.invoke(TimedMethodInterceptor.java:34)at com.ryantenney.metrics.spring.AbstractMetricMethodInterceptor.invoke(AbstractMetricMethodInterceptor.java:59)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)at com.sun.proxy.$Proxy50.delegateTicketGrantingTicket(Unknown Source)at org.jasig.cas.web.ServiceValidateController.handleRequestInternal(ServiceValidateController.java:152)at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:146)at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.jasig.cas.security.RequestParameterPolicyEnforcementFilter.doFilter(RequestParameterPolicyEnforcementFilter.java:250)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.jasig.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:62)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)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)
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-emptyat sun.security.validator.PKIXValidator.<init>(Unknown Source)at sun.security.validator.Validator.getInstance(Unknown Source)at sun.security.ssl.X509TrustManagerImpl.getValidator(Unknown Source)at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(Unknown Source)at sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)at org.jasig.cas.authentication.FileTrustStoreSslSocketFactory$CompositeX509TrustManager.checkServerTrusted(FileTrustStoreSslSocketFactory.java:281)at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(Unknown Source)at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)at sun.security.ssl.Handshaker.processLoop(Unknown Source)at sun.security.ssl.Handshaker.process_record(Unknown Source)at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)... 118 more
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-emptyat java.security.cert.PKIXParameters.setTrustAnchors(Unknown Source)at java.security.cert.PKIXParameters.<init>(Unknown Source)at java.security.cert.PKIXBuilderParameters.<init>(Unknown Source)... 132 more2018-06-29 11:36:06,259 INFO [org.jasig.cas.authentication.PolicyBasedAuthenticationManager] - HttpBasedServiceCredentialsAuthenticationHandler failed authenticating https://192.168.x.xxx:8080/uwp/proxyCallback
2018-06-29 11:36:06,260 INFO [org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit trail record BEGIN
=============================================================
WHO: https://192.168.x.xxx:8080/uwp/proxyCallback
WHAT: supplied credentials: [https://192.168.x.xxx:8080/uwp/proxyCallback]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Fri Jun 29 11:36:06 CST 2018
CLIENT IP ADDRESS: 192.168.x.xxx
SERVER IP ADDRESS: 192.168.x.xxx
=============================================================2018-06-29 11:36:06,260 INFO [org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit trail record BEGIN
=============================================================
WHO: https://192.168.x.xxx:8080/uwp/proxyCallback
WHAT: supplied credentials: [https://192.168.x.xxx:8080/uwp/proxyCallback]
ACTION: AUTHENTICATION_FAILED
APPLICATION: CAS
WHEN: Fri Jun 29 11:36:06 CST 2018
CLIENT IP ADDRESS: 192.168.x.xxx
SERVER IP ADDRESS: 192.168.x.xxx
=============================================================2018-06-29 11:36:06,262 INFO [org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager] - Audit trail record BEGIN
=============================================================
WHO: admin
WHAT: 1 errors, 0 successes
ACTION: PROXY_GRANTING_TICKET_NOT_CREATED
APPLICATION: CAS
WHEN: Fri Jun 29 11:36:06 CST 2018
CLIENT IP ADDRESS: 192.168.x.xxx
SERVER IP ADDRESS: 192.168.x.xxx
=============================================================

  说是证书有问题,然后又重新导入了证书还是报错

报错原因:

命令行启动tomcat时发现JRE_HOME路径是jre的,但是当时生成证书时放到jdk中了C:\SOFT\apache-tomcat-6.0.44\bin>startup.bat
Using CATALINA_BASE:   "C:\SOFT\apache-tomcat-6.0.44"
Using CATALINA_HOME:   "C:\SOFT\apache-tomcat-6.0.44"
Using CATALINA_TMPDIR: "C:\SOFT\apache-tomcat-6.0.44\temp"
Using JRE_HOME:        "C:\Java\jre1.7"
Using CLASSPATH:       "C:\SOFT\apache-tomcat-6.0.44\bin\bootstrap.jar"
C:\SOFT\apache-tomcat-6.0.44\bin>

  解决方法:

cas客户端和服务端分别放不同版本tomcat中。第二个tomcat的startup.bat和shutdown.bat文件增加了以下参数

SET JRE_HOME=C:\Java\jdk1.7
SET JAVA_HOME=C:\Java\jdk1.7
SET CATALINA_HOME=C:\SOFT\apache-tomcat-8.5.30

  

 

转载于:https://www.cnblogs.com/l412382979/p/9242830.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenNMS全接触-事件及通知(九)

在上一篇文章OpenNMS全接触-事件及通知&#xff08;八&#xff09;中&#xff0c;介绍了OpenNMS在收到受管设备发出的SNMP Trap之后&#xff0c;如何将收到的SNMP Trap与eventconf.xml文件中定义的事件(event)进行匹配&#xff0c;从而触发该事件的发生。主要是引入了<mask&…

STM32F7xx —— 看门狗

STM32F7xx —— 看门狗 看门狗&#xff1a;指定时间内不喂狗&#xff0c;就重启系统。 最简单的看门狗设计&#xff08;喂狗就是指定时间内给寄存器写一个固定值&#xff09; // 初始化独立看门狗 // prer:分频数:0~7(只有低 3 位有效!) // rlr:自动重装载值,0~0XFFF. // 分频…

网络中路由器的工作原理

大家好&#xff0c;我是情报小哥&#xff01;01路由器

C++学习(10)

1 //设计运算符重载的复数类2 #include<iostream.h>3 4 class Complex{5 private:6 double real;//实部7 double image;//虚部8 public:9 Complex(){ 10 real0; 11 image0; 12 } 13 Complex(do…

嵌入式真的没前途?

-上图是我的朋友邓总最近在互联网&#xff0c;然后从侧面了解了嵌入式的行业发展&#xff0c;嵌入式是离不开硬件的&#xff0c;但是硬件的话&#xff0c;又不只是靠硬件赚钱&#xff0c;如果硬件做不成一个产品&#xff0c;很难卖一个好价钱&#xff0c;就好比一个好的食材&am…

STM32F7xx —— 内存管理

STM32F7xx —— 内存管理 目的&#xff1a;高效、快速的分配&#xff0c;并在适当的时候回收内存资源。最终就是实现malloc和free函数。&#xff08;实现方法参考原子哥&#xff09; #define CONFIG_SRAM_OUT_ENABLE 0typedef enum {SRAM_TYPE_IN, // 内部内存池 #if(CO…

js for in 遍历对象与数组

遍历对象 let obj {q:9,w:5,e:2,t:7,c:3}//for in 遍历对象 key为对象的属性名称,遍历属性值时用[]操作符访问//通过[]操作符为对象添加属性或访问属性时&#xff0c;属性名称可以是任何字符串。for (let key in obj) {console.log(obj的key:,key, obj的value:,obj[key]);} …

前凸后翘的步进电机调速算法~

[导读] 大家好&#xff0c;我是逸珺。今天想分享一种超级实用的步进电机调速算法&#xff0c;这种算法在步进电机调速方案中可以说是一种非常优异的方案。梯形调速算法 为啥需要设计一个调速算法呢&#xff1f;步进电机不是给多少脉冲就动多少步吗&#xff1f;但是带上负载了就…

[转帖]关于win7共享的问题和解答

转自 活动目录SEO 的博客&#xff0c;转载请保留原出处 原文路径 http://gnaw0725.blogbus.com/logs/49380146.html 问题 1、请问现在Win7共享后怎么没有出现共享图标显示&#xff0c;都不知道这个文件夹已经共享过。 2、点击右键取消共享后&#xff0c;文件夹会出现一个锁的标…

STM32F7xx —— FatFS(W25QXX)

STM32F7xx —— FatFS&#xff08;W25QXX&#xff09; 看本章之前请务必先食用&#xff1a;动态内存管理 W25QXX读写 使用经典的fatfs1.4.1&#xff0c;下载源码&#xff0c;和我们用户相关的式diskio.c&#xff0c;实现里面的初始化读写和ioctl。ffconf.h用来配置&#xf…

CentOS 7.3 系统安装配置图解教程

一、安装CentOS 7.3 CentOS 7.x系列只有64位系统&#xff0c;没有32位。生产服务器建议安装CentOS-7-x86_64-Minimal-1611.iso版本 成功引导系统后&#xff0c;会出现下面的界面 界面说明&#xff1a; Install CentOS 7 # 安装CentOS 7 Test this media & install CentOS …

朝花夕拾-不务正业的大学生做了什么比赛?

朝花夕拾&#xff0c;旧事重提之意。恰逢CSDN年终征文&#xff0c;所以写作本文为年终总结&#xff0c;实为大学四年的总结&#xff0c;和CSDN一起成长参与各类竞赛的回忆。四年里和小伙伴们一起辛苦奋斗做了那么多比赛&#xff0c;当比赛结束&#xff0c;那些作品便无人问津了…

虚拟化技术--服务器虚拟化

1、 数据中心服务器的运行现状<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />IT技术日新月异&#xff0c;各项管理、业务与IT的联系日益密切&#xff0c;政府、企事业单位的大型数据中心承担的功能越来越强大&#xff0…

post和get的区别

1. get是从服务器上获取数据&#xff0c;post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中&#xff0c;值和表单内各个字段一一对应&#xff0c;在URL中可以看到。post是通过HTTP post机制&#xff0c;将表单内各个字段与其内容放置在HTML …

STM32F7xx —— LAN8720(FreeRTOS+LWIP)

STM32F7xx —— LAN8720 STM32F767自带以太网模块&#xff0c;需要外接PHY芯片&#xff0c;完成以太网通信&#xff08;MII/RMII接口&#xff09;。LAN8720详细资料看手册。LWIP:1.4.1 FreeRTOS V8.2.3。 #define ETH_CHANNEL ETH #define ETH_PREEMPT_PRIO …

我是在这里学到的Linux知识的

-上图是读者朋友圈照片&#xff0c;已咨询原创作者这是一个群友分享的学习资料&#xff0c;确实很棒。今天在上班&#xff0c;临近下班的时候&#xff0c;我到茶水间打水&#xff0c;当时下比较大的雨&#xff0c;从里面向外面看出去&#xff0c;看到蒙胧胧的一片&#xff0c;春…

c#字符型转化为asc_wap站 utf-8与 gb2312字符编码的转化函数

一般的wap站的编码都是<?xml version"1.0" encoding"utf-8"?>&#xff0c;所以用form 或者a 传递参数时会遇到乱码&#xff0c;在调用页面无法读取正确的中文字符&#xff0c;可以用一下的函数编译&#xff0c;转化成中文&#xff0c;然后调用Func…

Suct(一)

网址&#xff1a;https://github.com/ScutGame/Scut/wiki 优点&#xff1a;免费&#xff0c;教程多&#xff0c;又有Demo 贼好 【服务器框架层次结构图解】 &#xff08;好厉害~&#xff09; 【一、配置好 IIS Web 服务器】 1. 打开 控制面板 -> 程序和功能 -> 打开或关…

MATLAB —— 基础语法

MATLAB —— 基础语法 目录 MATLAB —— 基础语法 一、基础语法 1、常用的运算符 2、常用特殊变量和常数 3、变量 4、向量 5、矩阵 6、帮助手册 二、基础命令&#xff08;与Linux和DOS命令类似&#xff09; 1、会话管理命令 2、系统命令 3、输入输出命令 4、向量&…

VS2010中不可忽视的部分——VSTO

今天是Visual Studio 2010正式发布的日子&#xff0c;刚刚看了相关的新闻和介绍&#xff0c;感觉上相比Visual Studio 2008来说&#xff0c;又有了不少新的改变和创新&#xff0c;不管是炒作概念也好&#xff0c;炒作想法也罢&#xff0c;但都是想法设法地为我们这些辛苦的程序…