,但其他的改了无效,
部署web项目
javaBean数据存储在request作用域里
一个项目可能有多个web框架,我现在访问的地址到底是谁处理的,,看他映射的是什么东西,这就知道这个东西是什么框架
防止struts-:,(如下)
配置action
配置的formbean
人园黑白那么画圆的方法放到哪个类里(面向对象的思想)
因为画圆的方法涉及到圆心和半径,这两个都是圆的属性,所以放到圆的类里,不可能放到人上,再让人去访问圆的两个私有变量
司机汽车那么停车的方法在汽车上(面向对象的思想)
所以Validate校验方法用来校验FormBean里的数据,那么校验方法就放到FormBean里
validate校验方法在FromBean里,会返回一个恩ActionErrors类型对象,如果返回这个ActionErrors对象里有东西说明有错误,如果没有东西就说明没有错误
如果返回这个ActionErrors对象里有错误,就回到input参数配置的页面
validate参数配置的就是控制FormBean是否需要校验,默认false
配置一个action时,有两个属性是必须要配置的path(什么路径)type(交给什么类处理)
调用action默认执行的方法是execute,这个方法会返回一个ActionForward对象,这个对象会对应到一个jsp页面
根据返回的ActionForward对象的值,在action的配置中找到通用的forward,哪个path参数配置的值就要返回的jsp页面,这样实现java代码和jsp页面的解耦
发布web应用程序最好打成war包,这样只要放到webapps目录下会自动展开
,也可以在jsp页面直接配置
在创建jsp页面时选择如下会自动导入struts的标记库
把jsp页面放到web-info目录下,这样在外面不能访问到
服务器端路径永远用斜杠开头,而且这个斜杠代表的是项目的根路径
execute方法用的是带参数HttpServletRequest这个,有四个参数:request,response,formbean,还有一个ActionMapping,这个mapping就是一个对象,里面存放着action在xml文件中的配置信息,所有如果为我们改Struts-
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
return ("xxx");
}
框架来处理xml配置文件第一件事就是把xml里面的每一个元素要做成一个相应的java类,如action就对应有一个actionConfig的java类,这个方法有getPath(),getType(),setType();方法,action里面所有的属性和actionConfig类里的属性一致,
在整个程序启动时,就已经用类把这个xml文件里的元素变成了java类的对象,如果要读取action元素里面的属性值,直接调用对象的get方法即可
.,里面有FormBeanConfig类,ActionConfig类,这些类里就有getName(),getType()方法
路径前面的斜杠
浏览器看:斜杠指整个网站,一定要带上程序的名称
服务器看:项目根路径,这是不能再写上项目名称了
返回的路径就是斜杠"/"+程序名
,
<web-app xmlns="http://java./xml/ns/javaee"
xmlns:xsi="1/XMLSchema-instance"
xsi:schemaLocation="http://java./xml/ns/javaee http://java./xml/ns/javaee/web-"
version="">
如果没有打开,需要手工加上在jsp页面上打开
如
struts12学习笔记 来自淘豆网m.daumloan.com转载请标明出处.