我正在尝试建立一个框架Spring 3 MVC项目,但我很难获得渲染视图.我按照mvc-basic示例项目和http://blog.springsource.com/2009/12/21/mvc-simplifications-in-spring-3-0/?utm_source=feedburner&utm_medium=feed&utm_campaign中所述的结构进行了操作.= Feed%3A + Interface21TeamBlog +%28SpringSource + Team + Blog%29设置web.xml,app-config.xml和mvc-config.xml文件.控制器被调用,但当它到达查找视图并呈现它时,我得到404错误.文件如下:
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">
<!-- Handles all requests into the application -->
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/app-config.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/app/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
APP-config.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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- Scans the classpath of this application for …Run Code Online (Sandbox Code Playgroud) Hii,我是C++编程的新手,需要一些关于我在下面编写的代码的帮助....它是一个基本的异常处理程序
#include<iostream>
class range_error
{
public:
int i;
range_error(int x){i=x;}
}
int compare(int x)
{
if(x<100)
throw range_error(x);
return x;
}
int main()
{
int a;
std::cout<<"Enter a ";
std::cin>>a;
try
{
compare(a);
}
catch(range_error)
{
std::cout<<"Exception caught";
}
std::cout<<"Outside the try-catch block";
std::cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我编译这个...我得到这个......
第11行的返回类型中可能未定义新类型(在比较函数的开头).
请解释我有什么问题......
更新:Albert D. Kallal友好地开始讨论,并获得更多意见,我正在增加赏金.
这是一个关于自己维护遗留应用程序和其他两个开发人员支持的重要问题.我们不是最初的开发人员,代码库是300,000行MFC和业务逻辑紧密耦合在一起.我们不知道100%的每一行代码.
我们知道主要组件背后的代码,并且我们知道它编写得很糟糕.我们的目标是在1995年之前和2010年之前重构应用程序.在我们三个人之间(总计)有足够的软件架构和数据库设计经验,以便我们修复在代码中构造不良或在模型中错误建模的组件.数据库,但我们没有很多现代报告系统的经验.因此,我的问题(一旦你到达终点......)就是报告系统.
对于任何读完这篇文章的人,我都很感激你的时间.对于任何阅读这篇文章并回答解决方案,经验(或同情!)的人,我都很感激和感激.
在工作中,我继承了Access 2003数据库的维护,该数据库包含大约250个报告(以及数千个支持查询),作为我们应用程序的报告引擎.
报告中都有大量的VBA用于特定格式化或将额外信息提取到报告中.出于这个原因,我们完全被锁定在Access平台中,我们不能使用像BIDS这样的工具来导入Access报表对象,而不会搞乱使报表在没有VBA的情况下显示相同.
因此,为了让自己摆脱这种Access解决方案,我们需要花一些时间来审阅每一份报告.这意味着我们希望选择最好的长期解决方案,因为无论我们选择哪个平台,我们都必须重新开发每个报告.
此外,我们的客户可以选择Microsoft Access或SQL Server作为其数据库.这意味着我们所有的SQL都必须考虑到最低的公分母--JET SQL.我们有一些摆脱空间来放弃对Microsoft Access的支持,但我们需要为它构建一个案例.如果我们可以识别的最佳报告系统对SQL Server有很强的支持,但很少或不支持Microsoft Access,这将加速我们放弃对Microsoft Access作为数据库的支持.
报告系统的整体实现相当平庸,当我们想要在我们的应用程序中显示报告时,我们启动Microsoft Access进程,找到它的窗口并将其重新显示到我们的应用程序,剥离其窗口样式,然后使用Access.ApplicationCOM接口调用一些VBA创建链接表到数据库(Microsoft Access MDB或SQL Server数据库),然后打开我们想要的报表.可能该过程中唯一受支持的部分是使用公共COM接口,其余部分是丑陋的黑客.应用程序中的其他组件同样令人印象深刻.
为了"修复"我们的应用程序,我们有了一个新的开发计划,我们的应用程序开发每年分成(大约)三个部分.
我们目前处于第3位(今年),我们真的希望利用停机时间来修复应用程序,重构主要组件.我们有三个开发人员,并希望在2012年底推出AppName v5.0(目前是AppName v4.12).这为我们提供了36个月的开发工作,以便在我们之前的三个合并期间对几个组件(用户界面,底层数据库结构,报告等)进行比较.我们修复的组件总和将为我们提供v5.0.
除了我们的报告引擎之外,我们已经确定了我们想要对大多数组件做什么,并且我发布了SO以期获得一些好的想法,或者至少感觉到所需的工作.
我有两个改进报告系统的想法.它们都涉及适量的工作,并且有一个考虑因素,两个解决方案都没有完全解决:除了我们开发的报告之外,我们的客户还有机会请求定制开发报告.它们是特定于客户的,我们使用他们的Access数据库,使用他们的报告对其进行扩充并将其返回给客户.有数百个独特的报告 - 如果我们关闭旧系统就无法使用.(我们最终必须关闭旧系统 - 我们不知道我们能够多长时间使用Microsoft Access窗口使其看起来像嵌入式报告.我们已经有两个不同的代码Access 2003和2007的路径.如果我们可以'
对于这两种想法,目的是停止支持我们当前的报告系统,让它在没有维护的情况下运行.也许我们可以破解Access 2010和Access 2014支持,并且开发的客户报告继续推出5年以上.随着时间的推移,我们会将旧的Access数据库中最常用的报告迁移到新格式中.
想法1: Microsoft.Reporting.WinForms.ReportViewer
第一个想法是在
ReportViewer控件周围编写一个包装器作为替换报告引擎.我们需要将项目移动到C++/CLI(已经在卡上),而不是每次我们需要查看报告时都必须启动整个过程,我们可以简单地实例化该控件.这是一个额外的好处
RDLC,包含报告的文件在Subversion中比我们当前拥有的Access 2003数据库更容易进行版本控制(我们使用Visual SourceSafe,因为将SVN与Access集成的工具与我们的大小不一致访问数据库).RDLC文件的可视化设计器也很好地集成到Visual Studio中.这更像是对我们报告方式的进化而非革命性的改变,
ReportViewer控件将采用RDLC具有报告布局的文件,我们的应用程序将负责查询数据.因为我们的数据库可能是SQL Server或Microsoft Access,所以我们仍然需要编写简单的JET SQL.我们正在获得更好的报告(向下钻取看起来不错),更强大的创作工具和更简单的版本控制,但这是值得的吗?
想法2:SQL Server Reporting Services和带有Access Services的SharePoint 2010
第二个想法是将Access作为数据库平台杀死并将我们所有客户迁移到SQL Server(我们已经为没有设置自己的SQL Server实例的技能的客户托管了我们的应用程序实例).迁移后,我们将使用SQL Server Reporting Services作为报告引擎,
ReportViewer …
假设我有一个类框,用户可以创建框.怎么做?我理解我是className objectName(args);根据用户输入创建对象但是如何动态创建对象?
#include <stdio.h>
int main(){
struct word1{
char a;
int b;
char c;
};
struct word2{
char a;
char b;
int c;
};
printf("%d\t%d\n", sizeof(int), sizeof(char)); //Output : 4 1
printf("%d\t%d\n", sizeof(struct word1), sizeof(struct word2)); //Output: 12 8
return 0;
}
Run Code Online (Sandbox Code Playgroud)
代码可在IDEONE获得.
为什么struct 1(word1)的大小大于struct 2(word2)的大小?
这是编译器问题吗?
有一个HTML文件(我不控制其内容)有几个input元素都具有相同的固定id属性"search_query".文件的内容可以更改,但我知道我总是希望获得input带有id属性的第二个元素"search_query".
我需要一个XPath表达式来执行此操作.我尝试//input[@id="search_query"][2]但是这不起作用.以下是此查询失败的示例XML字符串:
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
<div>
<form>
<input id="search_query" />
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
请记住,上面只是一个示例,其他HTML代码可能完全不同,input元素可以出现在任何地方,没有一致的文档结构(除了我保证总会有至少两个inputid属性为"search_query").
什么是正确的XPath表达式?
我想在before_save上添加一个钩子.验证在调用"before_save"之前发生,因此我将其移至before_validation:on =>:save.
现在问题是,当我做@ object.save_without_validation时(有时我不得不使用它).我的before_validation挂钩不会被调用.
我是否遗漏了某些内容,或者是否有更强大的方法来添加适用于这两种情况的前挂钩?
我正在尝试为一个小型战舰游戏构建一个游戏板8x8,其中有游戏部件(有点像跳棋)所以我可以用MySQL移动棋子,玩家可以在棋盘上自由移动以对抗彼此的战列舰.
这些部分将被放置在预定的空间中,而其他空间将是空的并由mysql处理
$pieces = array(
//battleship 1 player 1
"b1" => '<img src="images/b1.jpg" width="100" height="100" alt="b1">',
//battleship 2 player2
"b2" => '<img src="images/b1.jpg" width="100" height="100" alt="b1">',
);
// 'es' represents empty squares
$board = array(
array('b1','es','b1','es','b1','es','b1','es'),
array('es','b1','es','b1','es','b1','es','b1'),
array('b1','es','b1','es','b1','es','b1','es'),
array('es','es','es','es','es','es','es','es'),
array('es','es','es','es','es','es','es','es'),
array('es','es','es','es','es','es','es','es'),
array('b2','es','b2','es','b2','es','b2','es'),
array('es','b2','es','b2','es','b2','es','b2'),
array('b2','es','b2','es','b2','es','b2','es')
);
Run Code Online (Sandbox Code Playgroud)
我已经有一个循环显示板我要问的是如何放置($ piece - > $ board)我知道你可以使用array_replace将元素和数组放入另一个数组中,但我不知道知道如何使用多维数组.
我也试图使用mysql在棋盘内移动
在部署时,Heroku似乎没有更新我的数据库架构.以下是详细信息:
以下是User类的内容:
create_table "users", :force => true do |t|
t.string "username"
t.datetime "created_at"
t.datetime "updated_at"
t.string "email"
t.string "encrypted_password"
t.string "salt"
t.string "remember_token"
t.boolean "admin", :default => false
Run Code Online (Sandbox Code Playgroud)
结束
这是我的部署过程:
git push heroku master
heroku rake db:migrate
heroku db:push
Run Code Online (Sandbox Code Playgroud)
一切似乎都很顺利...除非我检查db中的实际User表...
heroku console User
Run Code Online (Sandbox Code Playgroud)
...我得到了旧版本的用户...
User(id: integer, username: string, created_at: datetime, updated_at: datetime)
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?非常感谢你的帮助!
西蒙