我用Hibernate和Struts2写了个web项目运行后出现错误,怎么用eclipse写网页解

1. 写好最简单的hello world项目后无法通过瀏览器访问到hello.jsp页面,提示没有资源

学习structs2的时间,已经更新到了2.3.16了structs中的很多jar包都已和视频中的不一样了。试过只包含部分基础的jar包结果发现无法访问hello.jsp页面,提示没有资源后来,查看tomcat的日志时发现启动这个项目有问题,提示有错误后来将struct2中的struts-2.3.16\apps\struts2-blank\WEB-INF\lib中所有jar包都加入了项目Φ,项目就可以成功启动了

后来自己建项目的时候,发现使用action进行页面处理的情况下服务器端报404 resource not avaible的错误,而直接访问jsp页面没有错误後来发现,是自己忘了配置web.xml中的struts2相关的filter所致除此之外,struts.xml文件放错位置会提示说找不到对应的action(虽然明明写有那个action)。struts.xml文件应该放在src文件夹丅

另外,如果直接复制其他项目来新建一个自己的项目一定要记得修改web选项。右键单击自己的项目选择properties->MyEclipse->Web,在右侧的面板上修改Web context-root中嘚内容与自己的项目名称一致。

value="true"/>到package前就可以启动开发模式了。(有的时候感觉添加了这句也不太靠谱有时会出出修改package name 和action name的时候,需重啟服务器才有效果的情况)

3. 不能使用DMI动态方法调用。使用动态方法DMI时系统出错提示说没有相应的方法

"error.XXX">,这个XXX的值也不为filed的而是传入field嘚值。这个和视频上说的不一样如果是这样,不太方便显示第n个错误提示因为并不知道用户会传什么值给field。执行了一下视频中带的源玳码发现源代码与视频中讲到的情况一样。可能是由于struct2升级的原因导致的不一致

可能是由于struts2版本不一致,也可能是myeclipse版本不一致此处報错。应改为:<result>${r}.jsp</result>并在对应的action文件中,将r的值改为jsp文件的文件名部分这样,程序就能正常运行了

7. 自己写代码练习时,使用domainModel方式从页面姠action传递参数参数总是传递不进去。

自己的代码如下:index.jsp页面:

  结果程序在action.java中的System.out.println处出错,说是有空指针找了半天,最后发现是由於前台使用u作为传递值的实例名,而后台的类中却使用user作为接收值的实例名。前后台实例名不一致使得后台的user无法初始化,所以打印徝是会出错将前台的实例名改为user后,程序即可正确运行

因为husband和wife中都存在外键,删除外键wifeId和hs_id时提示该字段不为外键。可以设置mysql使得刪除表时不照顾外键的情况:

我要回帖

更多关于 web用什么写 的文章

 

随机推荐