• 关于

    c 与jsp

    的搜索结果

回答

写错了吧应该下面2种 <jsp:includepage="top.jsp"/><%@includefile="top.jsp"%> top.jsp这个文件在不在,在哪个目录下,放在一个目录下看看 <%@includefile="top.jsp"%> 或者换成 <jsp:includepage="top.jsp"/> <%@includefile=”relativeURI”%>是在翻译阶段执行<jsp:includepage=”relativeURI”flush=”true”/>在请求处理阶段执行```<jsp:includepage=""flush=""/>标签导入一个重用文件的时候,这个文件是经过编译的,通俗点说就是附加这个要导入文件经过编译后的效果,所以可以含有与当前jsp程序中重复的内容,因为在附加过来之前就会被解析掉。 动态include:静态include:<%@includefile="top.jsp"%>百度是最好的老师。 动。 <%@includefile="top.jsp"%>

爱吃鱼的程序员 2020-08-21 13:24:08 0 浏览量 回答数 0

回答

对于这类静态资源文件,默认情况下是被拦截的,需要在配置文件中开放出来才能 自由访问。######test2.js 与index.jsp 放在同一文件夹下,比如: web应用/home/下面.   要把test2.js 引入到 index.jsp中, 针对二种情况:   第一种情况:   一般在学习时,一个tomcat上都跑多个工程,用工程名来区分。   如下:   <script src="<%=request.getContextPath() %> /home/test.js"></script>   第二种情况:   访问JSP文件时,用相对路径引入JS,CSS文件是OK的。     真实项目中, 一个tomcat上要是也跑了多个工程, 并用IP来区分。   url 是这样的:  http://localhost/home/index.jsp  注意这里,是直接访问JSP文件,不是servlet,不是struts .   test2.js 与index.jsp 放在同一文件夹下   下面用相对路径来引入 JS文件 :   <script src=test2.js></script>     index.jsp可以找到test2.js文件

kun坤 2020-06-14 11:04:19 0 浏览量 回答数 0

回答

Tomcat服务器中使用WAR包来部署应用时,WAR包的项目结构必须符合一定的标准,一个Web项目目录中包含Web应用程序代码和配置文件以及静态文件等。 项目文件夹结构 为了简化工程的编译和打包步骤,推荐使用下面的项目文件层次结构。 tomcat-webapp └── src └── main ├── java - 源代码目录 │ └── com │ └── demoapp │ └── Hello.java ├── resources - 资源配置文件 │ └── application.properties └── webapp ├── 404.jsp - 404jsp页面 ├── WEB-INF - 安全目录 │ ├── classes - 已编译的类 │ ├── lib - jar库文件 │ │ └── mysql-connector-java-8.0.8-dmr.jar │ ├── views - 页面模板 │ │ └── index.mustache │ └── web.xml - 部署描述文件 ├── index.jsp - jsp页面 └── static - 静态资源文件 ├── css - css样式资源文件 │ └── demoapp.css ├── fonts - 字体资源文件 ├── images - 图像资源文件 │ └── demoapp.png └── js - JavaScript文件 └── bootstrap.min.js src/main/java目录下的内容包含您开发的应用程序,即未编译的java类文件,这些类将被编译成可通过应用程序代码访问的.class文件并置于src/main/webapp/WEB-INF/classes目录中。java类文件编译完成后,编译好的class文件将被置于webapp/WEB-INF/classes中,并与webapp目录一并被打包部署到服务器上。 webapp根目录文件夹结构 webapp的根目录中存储了html页面,jsp页面以及静态资源等内容,这些内容将与WEB-INF一起被打包部署到服务器上。 webapp中除了WEB-INF外的其他内容可通过客户端直接访问,如404.jsp页面和index.jsp页面。static目录中存放css样式文件,图片文件和JavaScript文件等可由客户端访问的资源。 webapp ├── 404.jsp ├── WEB-INF ├── index.jsp └── static ├── css │ └── demoapp.css ├── fonts ├── images │ └── demoapp.png └── js └── bootstrap.min.js WEB-INF子目录文件夹结构 webapp目录下的WEB-INF的子目录,该子目录一般包含如下文件和目录,WEB-INF是Java的WEB应用的安全目录,其中的资源客户端无法直接访问,服务端可以访问的目录中的内容,其中有如下内容: classes目录中包含了您开发的应用程序源码编译后的.class文件; lib目录中包含了web应用需要依赖的各种JAR文件,如数据库驱动jar文件; 页面模板文件(如mustache文件); web.xml应用配置文件。 WEB-INF ├── classes -已编译的类 ├── lib - jar库文件 ├── views - 页面模板 └── web.xml - web应用配置文件

1934890530796658 2020-03-23 14:14:56 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

可能服务器上已经发布了其他包和这个冲突。引入了公共的包(公共包前缀是com.xxx.xxx)含有数据库模块,该包中的bean名称和我的应用中的bean名称一样,然后扫描器扫的域名前缀com.xxx.xxx,所以冲突了。 1.Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。 2.Tomcat 服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 3.Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。 4.Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本供下载,可以从其官方网站上下载其源代码版或者二进制版。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。 “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:16:11 0 浏览量 回答数 0

回答

去jfinal官网下载jfinal-all.zip这个文件,里面有一个说明文件,并且提供了所有依赖的jar包。此外,下载jfinaldemo,用上里面的log4j.properties以及log4j.jar,这样才能在出错的时候在控制台输出异常信息,看不到异常信息,解决问题就无从谈起<divclass='ref'> 引用来自“JFinal”的评论去jfinal官网下载jfinal-all.zip这个文件,里面有一个说明文件,并且提供了所有依赖的jar包。此外,下载jfinaldemo,用上里面的log4j.properties以及log4j.jar,这样才能在出错的时候在控制台输出异常信息,看不到异常信息,解决问题就无从谈起 建议你直接到这里下载JFinal官方Demo的JSP版本 <atarget="_blank"rel="nofollow">JFinal_2.2_demo_for_jsp嗯谢谢下载的运行正常起码证明了不是网上说的jdkjre配置问题 <spanstyle="font-size:24px;">难道你不知道有个网站叫百度?? <spanstyle="font-size:24px;"> <aname="top"rel="nofollow">Jetty8无法运行JSP,出现PWC6345问题的原因 回复<aclass="referer"target="_blank">@肆梦66:Java不会骗人,好好补充下你的JDK基础知识吧。建议用ps-ef好好看看这个方法之前就试过了,而且运行jfinal-for-jsp是正确的,不是jdkjre原因,谢谢<spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,SimSun;font-size:14px;background-color:#FFFFFF;">com.jfinal.render.RenderException:org.apache.jasper.JasperException:PWC6345:Thereisanerrorininvokingjavac. AfullJDK(notjustJRE)isrequired jsp文件是在运行时被编译成javaclass文件的,因此就需要一个JAVA_HOME/bin/javac.exe这个文件对此进行编译,而你运行环境配置的是JRE,而非JDK,所以就没有这个javac.exe文件,所以就不能编译JSP文件,所以就无法运行<divclass='ref'> 引用来自“JFinal”的评论 jsp文件是在运行时被编译成javaclass文件的,因此就需要一个JAVA_HOME/bin/javac.exe这个文件对此进行编译,而你运行环境配置的是JRE,而非JDK,所以就没有这个javac.exe文件,所以就不能编译JSP文件,所以就无法运行jfinal-for-jsp这个demo很久以前就没再提供过了,你很可能是下载的freemraker版本的demo,所以不会有异常注意,这个结论是根据你提供的异常信息得出的:PWC6345:Thereisanerrorininvokingjavac.AfullJDK(notjustJRE)isrequiredeclipse运行环境配置为JDK,也不能完全肯定项目配置也是JDK,项目属性可以独立配置运行环境,可以与eclipse配置隔离且不同 <atarget="_blank"rel="nofollow">https://www.oschina.net/question/12_8224 本人基础较菜,经过大家帮助及个人实践,链接方法为正解,但是我只删除java.exe不好使,同时删除java.exe和javaw.exe重启,就好使了。而且即使你将jdk安装在系统盘,此方法同样适用。

爱吃鱼的程序员 2020-06-08 19:19:37 0 浏览量 回答数 0

问题

关于jsp的session失效问题? 400 报错

爱吃鱼的程序员 2020-06-01 11:48:13 0 浏览量 回答数 1

回答

试试在render方法中使用绝对路径,如: render("/mypath/test.jsp");<divclass="ref"> 引用来自“JFinal”的答案<divclass=ref_body>试试在render方法中使用绝对路径,如: render("/mypath/test.jsp"); <aclass='referer'target='_blank'>@JFinal使用绝对路径还是报错 io.FileNotFound    这个问题本质上与 jfinal 无关,你就当做你在用 servlet + jsp,然后解决问题即可。   看你的需求,貌似想自己输出数据,那么在 controller 中需要调用 renderNull() 防止 jfinal 输出。

爱吃鱼的程序员 2020-06-22 19:32:30 0 浏览量 回答数 0

回答

项目里有jsp文件吧,jsp编译的时候需要使用jdk的###### jre只是运行时环境 jdk才是项目真正需要的环境。 如果你的jre都可以跑项目, 那用jdk一定可以跑, 可以直接将java_home指向jdk。 如果你有各种担心的话也可以在报错项目对应的tomcat启动脚本里面单独指定java_home, export JAVA_HOME = /xx/xxxx/xxxxx export CLASSPATH=/xx/xx/xxxxx export PATH = /xxx/xxxx/xxxx:%PATH ######正解,把JAVA_HOME JRE_HOME 环境变量设置到CLASSPATH中###### 你这种错误,一般都是模板编译出问题了,JRE是不等价与JDK环境的,主要区别就在于JDK环境有一些编译工具。一般来说,服务器只需要装了JRE就可以运行tomcat了,但也有例外。 比如,HTTL 这个模板引擎,需要调用javac来编译模板为class文件,所以必须有JDK才能运行。如果没有JDK环境,也可以用JRE环境+javassist.jar 这个工具来代替javac编译模板为class文件。 不少编译型的模板引擎都是这样的。JSP编译是否需要JDK,我也不太确定。 如果你的环境确实不方便更改,可以在lib目录下加上javassist.jar试试。 ###### 用的是哪个版本的tomcat啊? 起码从tomcat 5.5开始,就带有ecj-*.jar,里面带的就是eclipse的JDT编译器了。按道理,带有ecj的tomcat发布版,应该有可以在JRE中支持jsp等需要编译的webapp了。 请把环境再说明清楚一些? ######7.0.27

kun坤 2020-06-03 10:31:14 0 浏览量 回答数 0

问题

windows2003环境下Iis6tomcat6配置

小易1246 2019-12-01 21:33:24 9409 浏览量 回答数 0

问题

jsp与servlet如何实现批量修改的功能

小旋风柴进 2019-12-01 20:26:51 1463 浏览量 回答数 1

问题

tomcat 与ServerSocket一起工作卡死?报错

爱吃鱼的程序员 2020-06-08 19:50:35 0 浏览量 回答数 1

回答

Idea你就用你的 jetty-maven-plugin插件启动就好了。 pom里面 jetty-serverscope加上另外把JFinal和 junit留下,其他的去掉。加上这个: <dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency> 启动方法看图。 下面给出dependency: <!--JettyJSP:根据DependencyHierarchy视图拆分成了七个dependency,-方便项目以及便于导出war的在jetty与tomcat间无缝迁移-Dependencies:http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-jsp</artifactId><version>8.1.8.v20121106</version><scope>provided</scope></dependency>--><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet.jsp</artifactId><version>2.2.0.v201112011158</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.apache.jasper.glassfish</artifactId><version>2.2.2.v201112011158</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.el</artifactId><version>2.2.0.v201108011116</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>com.sun.el</artifactId><version>2.2.0.v201108011116</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.eclipse.jdt.core</artifactId><version>3.7.1</version><scope>provided</scope></dependency><dependency><!--JSTL支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet.jsp.jstl</artifactId><version>1.2.0.v201105211821</version><exclusions><!--避免导出servletjar包--><exclusion><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet</artifactId></exclusion></exclusions></dependency><dependency><!--JSTL支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.apache.taglibs.standard.glassfish</artifactId><version>1.2.0.v201112081803</version><exclusions><!--避免导出servletjar包--><exclusion><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet</artifactId></exclusion></exclusions>   特别注意,其实最简单的方式,只需要第一个 jetty-jsp即可,但war包打出来会包含很多jetty的东东,而通常你的生产环境用的是tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将scope全部声明为了provided,打war包时不会包含这些东东。 引用来自“JFinal”的评论 下面给出dependency: <!--JettyJSP:根据DependencyHierarchy视图拆分成了七个dependency,-方便项目以及便于导出war的在jetty与tomcat间无缝迁移-Dependencies:http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp<dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-jsp</artifactId><version>8.1.8.v20121106</version><scope>provided</scope></dependency>--><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet.jsp</artifactId><version>2.2.0.v201112011158</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.apache.jasper.glassfish</artifactId><version>2.2.2.v201112011158</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.el</artifactId><version>2.2.0.v201108011116</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>com.sun.el</artifactId><version>2.2.0.v201108011116</version><scope>provided</scope></dependency><dependency><!--jetty-server-8.1.8开发时JSP支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.eclipse.jdt.core</artifactId><version>3.7.1</version><scope>provided</scope></dependency><dependency><!--JSTL支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet.jsp.jstl</artifactId><version>1.2.0.v201105211821</version><exclusions><!--避免导出servletjar包--><exclusion><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet</artifactId></exclusion></exclusions></dependency><dependency><!--JSTL支持--><groupId>org.eclipse.jetty.orbit</groupId><artifactId>org.apache.taglibs.standard.glassfish</artifactId><version>1.2.0.v201112081803</version><exclusions><!--避免导出servletjar包--><exclusion><groupId>org.eclipse.jetty.orbit</groupId><artifactId>javax.servlet</artifactId></exclusion></exclusions>   特别注意,其实最简单的方式,只需要第一个 jetty-jsp即可,但war包打出来会包含很多jetty的东东,而通常你的生产环境用的是tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将scope全部声明为了provided,打war包时不会包含这些东东。 回复 @如梦技术:嗯嗯intellij右边有很方便的菜单单击即可如图,点一下那个红框框里面的就好,不用自己敲命令。 @如梦技术,问一个相关问题intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 引用来自“sucanber”的评论 @如梦技术,问一个相关问题intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 这里再补充一下,新版本jfinal在用整合的 Jetty启动时,需要使用下面的depencency,前面给出的不再适用: <!--jspsupportbyjetty--><dependency><groupId>org.eclipse.jetty</groupId><artifactId>jetty-jsp</artifactId><version>8.1.8.v20121106</version><scope>provided</scope></dependency> 如果是IDEA下开发,要将scope改成compile,在打war包时注意要再改回来成为provided,独立部署用的容器大多都有jsp支持的jar包

爱吃鱼的程序员 2020-06-09 12:46:28 0 浏览量 回答数 0

问题

spring与struts2整合之后,404错误,控制台不报错 ?报错

爱吃鱼的程序员 2020-06-23 01:11:06 0 浏览量 回答数 1

回答

Re2008R2IIS7.5与Tomcat整合详细总结版 我按这个配置,也报错啊 HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。 模块    StaticFileModule 通知    ExecuteRequestHandler 处理程序    StaticFile 错误代码    0x80070032 请求的 URL    xxx.com:80/login.jsp 物理路径    E:\Tools\apache-tomcat-7.0.68\webapps\xxxxx\login.jsp 登录方法    匿名 登录用户    匿名

rydit 2019-12-02 01:37:15 0 浏览量 回答数 0

回答

用上 FreeMarker 后,再也不需要 JSP了,JSP相对来说弱爆了,连 layout 功能都没有,layout 现在是基本配置了###### 引用来自“爪哇老妖”的答案 这个真可以有,JSP、Velocity、Freemarker这些都属于动态模版技术,HTML呢,直接就是静态模版技术,也许你会反问我可以用ajax来实现后台调用数据啊,可是我很担心你那页面的加载速度和用户体验,情况更严重的是,有些页面的效果是根据后台数据或参数来展示的,对于你的这个想法,持保留意见。。。 从加载速度方面来说,并没有想像中那么慢,在Chrome和Firefox上速度飞快,加载HTML的时候根本感觉不到它做了些什么,只是在IE上不太理想,页面巨大的话有时候确实会卡一下,不过随着IE版本的更新这个情况可能会慢慢解决掉。 用户体验方面感觉比原来刷页面的方式好的多,Ajax与后台交互,所以根本看不到讨厌的500错误页面了,用JS处理好后台返回的错误,提示信息更加易懂。 至于页面显示内容与数据库有关的问题,这都是交给后台组织好数据用JSON返回的,例如:{userid:1,operation: {'查询'}}和{userid:2,operation: {'查询','删除'}}之类,这样JS拿到JSON数据之后就知道该怎么构建页面了,当然,这些页面元素级的控制,完全可以放到数据库中去,动态的实时控制用户权限。 ######楼主说的情况跟extjs一样,抛弃动态页面,所有数据用js控制,展现,IE处理js虽然慢一点,但这是可控的,在加载的时候给个loading图片用户看起来比浏览器加载动态页面效果好些。要是js功底好,还可以写一些特效,用户体验就更好了。######+freemarker###### 看情况啊,可以有。 不过你说的情况,也有很多,尤其是网站很大,甚至页面的不同部分都是不同的小组做的话。 这时候不用落伍的iframe,就用ajax,jsonp了。 ###### 引用来自“闫晓沛”的答案 +freemarker 是直接访问freemarker的模板吗?这样也确实可以代替JSP,不过还是得走一下Java容器,感觉不如直接让Apache处理HTML的好 ###### 这个真可以有,JSP、Velocity、Freemarker这些都属于动态模版技术,HTML呢,直接就是静态模版技术,也许你会反问我可以用ajax来实现后台调用数据啊,可是我很担心你那页面的加载速度和用户体验,情况更严重的是,有些页面的效果是根据后台数据或参数来展示的,对于你的这个想法,持保留意见。。。 ######回复 @lovinglily : ”世界上不会有一个页面是预先设计好的,因为它有数据“乔布斯说的######意思是,静态页面预先设计好布局的话,并不是根本意义上根据后台数据动态改变,这对页面数据显示有影响是吧..######你能保证所有用户的浏览器都能处理你的这些数据?######跨浏览器确实是一个大问题,可以借助jQuery这样的JS库来解决,虽然有些时候也不是很完美,但是够用了######对于jsp freemarker 等之类的都是属于动态模板,要知道它们最终都是翻译成html代码给浏览器,所以没有替代这种说法。只能说哪种情况更适合你的应用了。如果动态交互更多 且动态判断多的情况下 你用ajax动态请求的方式显得很蹩脚,这中间有个取舍和平衡点######同意你的观点###### 引用来自“爪哇老妖”的答案 这个真可以有,JSP、Velocity、Freemarker这些都属于动态模版技术,HTML呢,直接就是静态模版技术,也许你会反问我可以用ajax来实现后台调用数据啊,可是我很担心你那页面的加载速度和用户体验,情况更严重的是,有些页面的效果是根据后台数据或参数来展示的,对于你的这个想法,持保留意见。。。 我能保证所有用户浏览器都能处理服务器发给它的HTML,很难保证用户浏览器能处理我页面里的所有Ajax数据请求。 ######回复 @xmut : js不可能运行的很慢,就算被我们喷的无地自容的IE6,其实也是大量的js在运行。一个页面的js不可能很多,多到不能处理的地步,否则是本身就设计有问题的######啥年代了,还在纠结浏览器能不能运行js。######没错,这样的项目架构确实存在禁用JS之后玩不转的情况,但是现在有几个项目不用JS的呢,我们可以把“开启JS”作为项目运行必需的环境提出来######确实!楼主把页面控制逻辑全部交给javascript,万一客户端javascript被禁用,或者javascript运行速度很慢,这反而影响了客户体验!######有还是没有 ,看项目的需要,没有不能替代的技术方案。

爱吃鱼的程序员 2020-06-04 16:49:07 0 浏览量 回答数 0

问题

Apache警告:Tomcat存在远程代码执行漏洞

虎笑 2019-12-01 21:04:02 6843 浏览量 回答数 2

回答

拦截的是请求request,你返回响应response了,自然不拦截。这样容易理解,与正确的原理还是有差距的。######重定向之后,流览器会重新去请求你返回的地址吧?怎么不会被拦截呢?###### web.xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> ###### springmvc-servlet.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" default-autowire="byName"> <!-- SpringMVC相关Bean配置 --> <!-- View Resolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello.do">c</prop> </props> </property> </bean> <bean id="c" class="test.TestController" /> </beans> ###### test.TestController public class TestController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("redirect:/1.jsp"); } } ###### 启动服务器之后,输入hello.do,流览器发生跳转,变成1.jsp,404了. 后台输出 WARNING: No mapping found for HTTP request with URI [/1.jsp] in DispatcherServlet with name 'springmvc' 也就是说,跳转之后又被拦截,但是无法处理这个请求. 还请各位示下. ######把你的1.jsp放到  /WEB-INF/ 下面,改成 return new ModelAndView("redirect:1.jsp");######回复 @java9 : 路径看下。。。。######恩.已经放了.改成你说的这样,结果还是404###### 你好,你自己写得 servlet urlmapping @java9 问题解决了吗###### 你去掉.jsp吧      ###### 我也遇到这个问题,在模仿spring mvc的前端控制器,结果也是拦截所有请求,就算是重新forward,还是会被拦截,LZ有解决吗?@java9 ######把servlet 的映射改成 / ,不要后面的* 号。

kun坤 2020-06-06 18:59:38 0 浏览量 回答数 0

回答

拦截的是请求request,你返回响应response了,自然不拦截。这样容易理解,与正确的原理还是有差距的。######重定向之后,流览器会重新去请求你返回的地址吧?怎么不会被拦截呢?###### web.xml <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> ###### springmvc-servlet.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" default-autowire="byName"> <!-- SpringMVC相关Bean配置 --> <!-- View Resolver --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello.do">c</prop> </props> </property> </bean> <bean id="c" class="test.TestController" /> </beans> ###### test.TestController public class TestController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("redirect:/1.jsp"); } } ###### 启动服务器之后,输入hello.do,流览器发生跳转,变成1.jsp,404了. 后台输出 WARNING: No mapping found for HTTP request with URI [/1.jsp] in DispatcherServlet with name 'springmvc' 也就是说,跳转之后又被拦截,但是无法处理这个请求. 还请各位示下. ######把你的1.jsp放到  /WEB-INF/ 下面,改成 return new ModelAndView("redirect:1.jsp");######回复 @java9 : 路径看下。。。。######恩.已经放了.改成你说的这样,结果还是404###### 你好,你自己写得 servlet urlmapping @java9 问题解决了吗###### 你去掉.jsp吧      ###### 我也遇到这个问题,在模仿spring mvc的前端控制器,结果也是拦截所有请求,就算是重新forward,还是会被拦截,LZ有解决吗?@java9 ######把servlet 的映射改成 / ,不要后面的* 号。

montos 2020-05-30 23:52:21 0 浏览量 回答数 0

回答

看懂了你的意思, nginx自身的缓存 ,适合于 图片服务器 与 动态服务器不在一个机器上的情况!懂了吗? 比如联通的一台机器 反向代理 电信的主站 ,将图片神马的根据一定的规则存到联通这台机器的硬盘上 ,这样联通的访问图片的速度能快点。不用再到电信区拉取图片,还是就是合适集群了,前面是一台nginx当入口,反向代理tomcat 和 实际文件服务器,这个情况就复杂了,这就是 服务器端的缓存。简单讲就是跟 squid 一样的玩意。 你上面的代码只是 设置一个 http头 ,告诉浏览器 这个文件 多久到期 ,没到期之前 不向服务器再次请求 ,这是 浏览器端 缓存 明白这些 ,你不用 开启 服务器端缓存  ,等有 几台服务器在说。 ######哦,了然了,我是单台服务器做的测试,确实是你说的这个道理,谢了啊,也谢谢一楼的回答###### 动静分离 静态文件走NGINX    静态文件包括gif|jpg|jpeg|png|bmp|swf|ico  js css 动态走tomcat         动态文件 JSP NGINX发现是动态的JSP 交给tomcat处理,处理完后返回给NGINX 静态文件就NGINX直接读取   ######

kun坤 2020-06-07 00:30:41 0 浏览量 回答数 0

回答

Idea你就用你的jetty-maven-plugin插件启动就好了。 pom里面jetty-server scope加上另外把JFinal和junit留下,其他的去掉。加上这个: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 启动方法看图。 ###### 下面给出 dependency: <!-- Jetty JSP:根据 Dependency Hierarchy 视图拆分成了七个 dependency, - 方便项目以及便于 导出 war的在jetty与tomcat间无缝迁移 - Dependencies: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> --> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp</artifactId> <version>2.2.0.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.jasper.glassfish</artifactId> <version>2.2.2.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>com.sun.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.7.1</version> <scope>provided</scope> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp.jstl</artifactId> <version>1.2.0.v201105211821</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.taglibs.standard.glassfish</artifactId> <version>1.2.0.v201112081803</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions>     特别注意,其实最简单的方式,只需要第一个 jetty-jsp 即可,但 war 包打出来会包含很多 jetty 的东东,而通常你的生产环境用的是 tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将 scope 全部声明为了 provided,打 war 包时不会包含这些东东。 ###### 引用来自“JFinal”的评论 下面给出 dependency: <!-- Jetty JSP:根据 Dependency Hierarchy 视图拆分成了七个 dependency, - 方便项目以及便于 导出 war的在jetty与tomcat间无缝迁移 - Dependencies: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> --> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp</artifactId> <version>2.2.0.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.jasper.glassfish</artifactId> <version>2.2.2.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>com.sun.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.7.1</version> <scope>provided</scope> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp.jstl</artifactId> <version>1.2.0.v201105211821</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.taglibs.standard.glassfish</artifactId> <version>1.2.0.v201112081803</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions>     特别注意,其实最简单的方式,只需要第一个 jetty-jsp 即可,但 war 包打出来会包含很多 jetty 的东东,而通常你的生产环境用的是 tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将 scope 全部声明为了 provided,打 war 包时不会包含这些东东。 谢谢2位的仔细回答,我综合了一下,既能达到最简配置又能在开发(jetty)和生产(tomcat)切换,选择通过jetty-maven-plugin 启动项目而不是在java运行Main方法启动。(后者需要去掉provide scope才能正常启动,但这样又会造成package时候有多余jar)为方便后来者,这里贴出: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.3.10.v20160621</version> <configuration> <httpConnector> <port>8080</port> </httpConnector> <stopPort>9966</stopPort> <stopKey>stop</stopKey> <scanIntervalSeconds>5</scanIntervalSeconds> <webApp> <contextPath>/</contextPath> </webApp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> 运行mvn jetty:run命令即可启动工程 ######回复 @如梦技术 : 嗯嗯 intellij 右边有很方便的菜单 单击即可######如图,点一下那个红框框里面的就好,不用自己敲命令。###### @如梦技术 , 问一个相关问题 intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 ###### 引用来自“sucanber”的评论 @如梦技术 , 问一个相关问题 intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 我是intellij 14###### 这里再补充一下,新版本 jfinal 在用整合的 Jetty 启动时,需要使用下面的 depencency,前面给出的不再适用: <!-- jsp support by jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> 如果是 IDEA 下开发,要将 scope 改成 compile,在打 war 包时注意要再改回来成为 provided,独立部署用的容器大多都有 jsp 支持的 jar 包

montos 2020-05-31 09:26:58 0 浏览量 回答数 0

回答

Idea你就用你的jetty-maven-plugin插件启动就好了。 pom里面jetty-server scope加上另外把JFinal和junit留下,其他的去掉。加上这个: <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 启动方法看图。 ###### 下面给出 dependency: <!-- Jetty JSP:根据 Dependency Hierarchy 视图拆分成了七个 dependency, - 方便项目以及便于 导出 war的在jetty与tomcat间无缝迁移 - Dependencies: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> --> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp</artifactId> <version>2.2.0.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.jasper.glassfish</artifactId> <version>2.2.2.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>com.sun.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.7.1</version> <scope>provided</scope> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp.jstl</artifactId> <version>1.2.0.v201105211821</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.taglibs.standard.glassfish</artifactId> <version>1.2.0.v201112081803</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions>     特别注意,其实最简单的方式,只需要第一个 jetty-jsp 即可,但 war 包打出来会包含很多 jetty 的东东,而通常你的生产环境用的是 tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将 scope 全部声明为了 provided,打 war 包时不会包含这些东东。 ###### 引用来自“JFinal”的评论 下面给出 dependency: <!-- Jetty JSP:根据 Dependency Hierarchy 视图拆分成了七个 dependency, - 方便项目以及便于 导出 war的在jetty与tomcat间无缝迁移 - Dependencies: http://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jsp <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> --> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp</artifactId> <version>2.2.0.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.jasper.glassfish</artifactId> <version>2.2.2.v201112011158</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>com.sun.el</artifactId> <version>2.2.0.v201108011116</version> <scope>provided</scope> </dependency> <dependency><!-- jetty-server-8.1.8 开发时JSP 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.7.1</version> <scope>provided</scope> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet.jsp.jstl</artifactId> <version>1.2.0.v201105211821</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions> </dependency> <dependency><!-- JSTL 支持 --> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>org.apache.taglibs.standard.glassfish</artifactId> <version>1.2.0.v201112081803</version> <exclusions><!-- 避免导出 servlet jar 包 --> <exclusion> <groupId>org.eclipse.jetty.orbit</groupId> <artifactId>javax.servlet</artifactId> </exclusion> </exclusions>     特别注意,其实最简单的方式,只需要第一个 jetty-jsp 即可,但 war 包打出来会包含很多 jetty 的东东,而通常你的生产环境用的是 tomcat,所以又需要去掉这些东东,所以上面做了一个拆分,并将 scope 全部声明为了 provided,打 war 包时不会包含这些东东。 谢谢2位的仔细回答,我综合了一下,既能达到最简配置又能在开发(jetty)和生产(tomcat)切换,选择通过jetty-maven-plugin 启动项目而不是在java运行Main方法启动。(后者需要去掉provide scope才能正常启动,但这样又会造成package时候有多余jar)为方便后来者,这里贴出: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.3.10.v20160621</version> <configuration> <httpConnector> <port>8080</port> </httpConnector> <stopPort>9966</stopPort> <stopKey>stop</stopKey> <scanIntervalSeconds>5</scanIntervalSeconds> <webApp> <contextPath>/</contextPath> </webApp> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> 运行mvn jetty:run命令即可启动工程 ######回复 @如梦技术 : 嗯嗯 intellij 右边有很方便的菜单 单击即可######如图,点一下那个红框框里面的就好,不用自己敲命令。###### @如梦技术 , 问一个相关问题 intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 ###### 引用来自“sucanber”的评论 @如梦技术 , 问一个相关问题 intellij如何设置自动编译,像这样设置无效:http://www.360doc.com/content/14/1110/08/16002580_423959393.shtml 否则每次改java需要手动点make麻烦 我是intellij 14###### 这里再补充一下,新版本 jfinal 在用整合的 Jetty 启动时,需要使用下面的 depencency,前面给出的不再适用: <!-- jsp support by jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jsp</artifactId> <version>8.1.8.v20121106</version> <scope>provided</scope> </dependency> 如果是 IDEA 下开发,要将 scope 改成 compile,在打 war 包时注意要再改回来成为 provided,独立部署用的容器大多都有 jsp 支持的 jar 包

kun坤 2020-06-06 22:47:29 0 浏览量 回答数 0

回答

<spanstyle="color:#333333;font-family:Helvetica,Tahoma,Arial,sans-serif;font-size:14px;background-color:#F5F5F5;">http://198.10.1.221/C:/Oracle/Middleware/user_projects/domains/jrbb_domain/runqian/reportJsp/showReport.jsp?raq=${rpt_url}这是神马部署回复<aclass='referer'target='_blank'>@茶_壶:哎呀!我二了。。。谢谢回复<aclass='referer'target='_blank'>@言午草民:你链接地址貌似不对,C:是物理路径吧就是把raq=${rpt_url}提交到jrbb_domain下​runqian这个应用​去用showReport.jsp展示出来,这段代码在与​runqian同一级的应用下​,至于地址是在我自己的电脑上随便部署的,还不是正式环境。

爱吃鱼的程序员 2020-06-10 15:19:31 0 浏览量 回答数 0

问题

关于jsp<c:if test标签对比字符串问题? 400 报错

爱吃鱼的程序员 2020-06-22 23:10:28 0 浏览量 回答数 1

问题

关于jsp<c:if test标签对比字符串问题? 400 报错

爱吃鱼的程序员 2020-06-02 14:14:46 0 浏览量 回答数 1

问题

阿里云ecs中javaweb项目无法访问servlet

刘刚_ 2020-05-23 14:36:15 0 浏览量 回答数 0

回答

java.sql.SQLException:找不到合适的驱动程序 此异常可能有2个原因: 完全不加载JDBC驱动程序。 URL与任何已加载的JDBC驱动程序都不匹配。 由于驱动程序似乎已加载(尽管以错误的方式),因此该URL显然是错误的。确保url变量的值与以下格式匹配 jdbc:mysql://localhost:3306/dbname 也可以看看: 将Java连接到MySQL数据库 与具体问题无关:Java代码不属于JSP文件。也要努力。您的异常处理也很糟糕,您应该抛出异常(以使其阻止执行代码的剩余部分),而不是打印消息/跟踪,然后继续执行代码。来源:stack overflow

保持可爱mmm 2020-05-17 11:09:15 0 浏览量 回答数 0

回答

每次填写完表单后单击提交后,struts中action执行相关业务逻辑,通过forward对象转到某个页面。这时若刷新页面后,会再执行同样的逻辑。比如录数据到数据库,按照上面的情况,数据库中会有两条同样的数据。为了避免这种情况,有几种解决办法: 1 :在执行业务逻辑后,返回一个Forward对象,这个forward对象的path属性应该配置一个幂等的XXX.do操作,这样可以解决,但是有可能不符合用户的要求,所以还有其他方法。 2:重定向,在配置文件里配置redirect属性,重定向到xxx.jsp。这种情况下会丢失request范围内的参数,若xxx.jsp不要求这些参数就可以,如操作的数据保存在session范围内,就不会影响整体效果。但还是有弊端。 3:利用struts1.x令牌能很好解决这类问题。 必要条件:在表单内,必须使用struts的库标签如:。 如下例子: LoginAction: package com.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; public class LoginAction extends DispatchAction { public ActionForward get(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //保存令牌(保存在jsp动态生成的32位jsessionid)\ this.saveToken(request); System.out.println("begin save"); return mapping.findForward("login"); } public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { /**//*if(this.isTokenValid(request)) { System.out.println("valid"); this.resetToken(request); return mapping.findForward("ok"); }*/ //这个写法和上面注释部分一样效果 if(this.isTokenValid(request,true)) { System.out.println("valid"); return mapping.findForward("ok"); } else { System.out.println("invalid"); return mapping.findForward("error"); } } } struts-config.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans> <form-bean name="loginForm" type="com.web.form.LoginForm"></form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/login" parameter="method" name="loginForm" type="com.web.action.LoginAction"> <forward name="login" path="/login.jsp" /> <forward name="ok" path="/ok.jsp" /> <forward name="error" path="/error.jsp" /> </action> </action-mappings> <message-resources parameter="" /> </struts-config> index.jsp: <% @page contentType="text/html; charset=GBK"%> <% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c:set var="ctx" value="${pageContext.request.contextPath}" /> <html> <head> <title>My Jsp</title> </head> <body> <a href="${ctx}/login.do?method=get">发言</a> </body> </html> login.jsp: <% @page contentType="text/html; charset=GBK"%> <% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% @taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <html> <head> <title>My Jsp</title> </head> <body> <c:set var="ctx" value="${pageContext.request.contextPath}"/> <!-- 此处必须使用html标签,否则token不能用 --> <html:form action="login.do?method=login" method="post"> <html:submit value="提交"></html:submit> </html:form> </body> </html> 当你运行第一次的时候,会提示你"成功".这时我们退到login.jsp查看一下源代码: <html> <head> <title>My Jsp</title> </head> <body> <form name="loginForm" method="post" action="/strutsToken/login.do?method=login"> <div><input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="d7484f95247cf242a6f35107a1c7ac25"></div> <input type="submit" value="提交"> </form> </body> </html> 对比一下我们写的login.jsp多了一个隐藏域: 此时生成了一个32位的唯一的JsessionID做为值.与LoginAction中的get方法的saveToken(request)是一样的.此句的作用就是把一个jsessionid保存到request范围里.在我们后退重新调用: if(this.isTokenValid(request,true)) { System.out.println("valid"); return mapping.findForward("ok"); } 时,就会拿login.jsp里传过来的jsessionid和request的进行比较,如果一样,说明不合法.因为我们的操作都是在一个请求会话里操作的.说明你在重复提交.如果不一样,说明重新生成了一个唯一的jsessionid(新开一个浏览器),开启了一个新会话,重新提交,这是合法的.这样就防止了表单重复提交问题. 为了防止表单重复提交,一般在设计action方法时:如录入数据,设计成两个方法,add()和insert(),在add方法中保存令牌并转到页面,在页面提交到insert方法中,判断令牌。

小旋风柴进 2019-12-02 02:16:00 0 浏览量 回答数 0

回答

这像是路由问题######路由应该是没问题的,我把ueditor.all.js访问的地址粘贴出来直接访问,结果是把controller.jsp下载下来了。红色框内 就是 ueditor.all.js访问的路径###### ueditor 里的jsp代码很简单,建议你用一个Controller来代替一下,同时 JFinal 已经有对应的方案,无需引入 ueditor 的jar包,可以自己百度下。  ###### 下面给出 jfinal 俱乐部项目中的在 UploadController 中直接接管文件上传的代码,同时也不需要 ueditor 的 jar 包: /** * 接管 ueditor 上传图片服务端 * * 1:该 action 与 ueditor.config.js 中的 serverUrl: "/upload/ueditor" 对应 * * 2:ueditor 页面加载时会向后端发送 "/xxx?action=config 请求用来获取服务端 * /ueditor-home/jsp/config.json 中的配置,后续的上传将受该配置的影响 * * 3:ueditor1_4_3_2-utf8-jsp 版本测试上传图片成功所返回的 json 数据格式如下: * { * "state": "SUCCESS", * "title": "1461249851191086496.png", * "original": "qr.png", * "type": ".png", * "url": "/ueditor/jsp/upload/image/20160421/1461249851191086496.png", * "size": "58640" * } * * 4:如果上传出现错误,直接响应如下的 json 即可: * {"state": "错误信息"} * */ public void ueditor() { /** * ueditor 在页面加载时会向后端请求获取 config.json 内容 */ if ("config".equals(getPara("action"))) { render("/assets/ueditor/jsp/config.json"); return; } /** * 对应 config.json 配置的 imageActionName: "uploadimage" */ if ( ! "uploadimage".equals(getPara("action"))) { renderJson("state", "UploadController 只支持图片类型的文件上传"); return ; } /** * uploadType 是通过如代码令 ueditor 在上传图片时通过问号挂参的方式传递过来的自定义参数 * ue.ready(function() { * ue.execCommand('serverparam', { * 'uploadType': 'project' * }); * }); */ String uploadType = getPara("uploadType"); if (StrKit.isBlank(uploadType)) { renderJson("state", "上传类型参数缺失"); return ; } if (notLogin()) { renderJson("state", "只有登录用户才可以上传文件"); return ; } UploadFile uploadFile = null; try { // "upfile" 来自 config.json 中的 imageFieldName 配置项 uploadFile = getFile("upfile", UploadService.uploadTempPath, UploadService.imageMaxSize); Ret ret = srv.ueditorUpload(getLoginAccount(), uploadType, uploadFile); // renderJson(ret); render(new JsonRender(ret).forIE()); // 防止 IE 下出现文件下载现象 } catch(com.jfinal.upload.ExceededSizeException ex) { renderJson("state", "上传图片只允许 200K 大小"); } catch(Exception e) { if (uploadFile != null) { uploadFile.getFile().delete(); } renderJson("state", "上传图片出现未知异常,请告知管理员:" + e.getMessage()); LogKit.error(e.getMessage(), e); } }     关键在于前面的几个判断,根据 ueditor js 中的不同请求,render 不同的数据过去即可接管,正式的上传请求通过  getFile() 即可接管,注意这个是 UploadController extends Cotroller 中的代码。     如果实在搞不定,只能建议你加入俱乐部了:http://www.jfinal.com/club######感谢波总,解决了

爱吃鱼的程序员 2020-06-05 13:07:23 0 浏览量 回答数 0

问题

jfinal maven项目jetty如何使用支持jsp 403.10 禁止访问:配置无效 

kun坤 2020-05-27 20:04:05 7 浏览量 回答数 1

回答

<p>这像是路由问题</p> 路由应该是没问题的,我把ueditor.all.js访问的地址粘贴出来直接访问,结果是把controller.jsp下载下来了。红色框内 就是 ueditor.all.js访问的路径 <p>ueditor 里的jsp代码很简单,建议你用一个Controller来代替一下,同时 JFinal 已经有对应的方案,无需引入 ueditor 的jar包,可以自己百度下。</p>   <p>下面给出 jfinal 俱乐部项目中的在 UploadController 中直接接管文件上传的代码,同时也不需要 ueditor 的 jar 包:</p> /** * 接管 ueditor 上传图片服务端 * * 1:该 action 与 ueditor.config.js 中的 serverUrl: "/upload/ueditor" 对应 * * 2:ueditor 页面加载时会向后端发送 "/xxx?action=config 请求用来获取服务端 * /ueditor-home/jsp/config.json 中的配置,后续的上传将受该配置的影响 * * 3:ueditor1_4_3_2-utf8-jsp 版本测试上传图片成功所返回的 json 数据格式如下: * { * "state": "SUCCESS", * "title": "1461249851191086496.png", * "original": "qr.png", * "type": ".png", * "url": "/ueditor/jsp/upload/image/20160421/1461249851191086496.png", * "size": "58640" * } * * 4:如果上传出现错误,直接响应如下的 json 即可: * {"state": "错误信息"} * */ public void ueditor() { /** * ueditor 在页面加载时会向后端请求获取 config.json 内容 */ if ("config".equals(getPara("action"))) { render("/assets/ueditor/jsp/config.json"); return; } /** * 对应 config.json 配置的 imageActionName: "uploadimage" */ if ( ! "uploadimage".equals(getPara("action"))) { renderJson("state", "UploadController 只支持图片类型的文件上传"); return ; } /** * uploadType 是通过如代码令 ueditor 在上传图片时通过问号挂参的方式传递过来的自定义参数 * ue.ready(function() { * ue.execCommand('serverparam', { * 'uploadType': 'project' * }); * }); */ String uploadType = getPara("uploadType"); if (StrKit.isBlank(uploadType)) { renderJson("state", "上传类型参数缺失"); return ; } if (notLogin()) { renderJson("state", "只有登录用户才可以上传文件"); return ; } UploadFile uploadFile = null; try { // "upfile" 来自 config.json 中的 imageFieldName 配置项 uploadFile = getFile("upfile", UploadService.uploadTempPath, UploadService.imageMaxSize); Ret ret = srv.ueditorUpload(getLoginAccount(), uploadType, uploadFile); // renderJson(ret); render(new JsonRender(ret).forIE()); // 防止 IE 下出现文件下载现象 } catch(com.jfinal.upload.ExceededSizeException ex) { renderJson("state", "上传图片只允许 200K 大小"); } catch(Exception e) { if (uploadFile != null) { uploadFile.getFile().delete(); } renderJson("state", "上传图片出现未知异常,请告知管理员:" + e.getMessage()); LogKit.error(e.getMessage(), e); } }     关键在于前面的几个判断,根据 ueditor js 中的不同请求,render 不同的数据过去即可接管,正式的上传请求通过  getFile() 即可接管,注意这个是 UploadController extends Cotroller 中的代码。     如果实在搞不定,只能建议你加入俱乐部了:http://www.jfinal.com/club 感谢波总,解决了

爱吃鱼的程序员 2020-06-06 15:47:01 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板