一、struts2简单样例
步骤1:filter拦截请求,为了防止对初始页面拦截,使用/*.action,而不是/*
步骤2:Action处理,可以继承自xwork2的ActionSupport类;也可以不继承,但必须有public String execute() throws Exception方法
步骤3:在classpath下面(src/main/java或者src/main/resources),配置struts.xml
步骤4:在页面提交表单给action处理(‘/’代表从根webapp开始找,否则代表从当前页面所在目录下找),其中.action是从struts.properties中继承而来的(struts.action.extension=action,,)
步骤5:取得属性
username:${param.username}
【注意】EL表达式在Servlet2.5中默认禁用,需要开启:
【注意】
(1)获取从ActionContext中获取session,而不需要直接使用HttpServletRequest和HttpServletResponse。
二、Spring MVC使用样例
步骤1:添加Spring的相关依赖
步骤2:在web.xml中配置spring mvc的入口
也可以指定spring servlet拦截之后,Spring mvc的配置文件
【注意】
1、在src源下面的文件,都将被映射到/WEB-INF/classes/下面,可以使用通配符。
2、让容器启动的时候就加载配置文件
步骤3:如果没有指定spring mvc的映射文件名称,默认使用:在WEB-INF目录下的*-servlet.xml文件,其中*为web.xml中配置的servlet-name。本例为:springmvc,则寻找的配置文件为:springmvc-servlet.xml,里面的配置如下:
解释:如果start.test访问,则使用com.alibaba.spring.LoginSpringAction进行处理。
处于jsp页面隐藏的考虑,放在/WEB-INF目录下,按照跳转要求,则找决定的。前缀和后缀是在*-servlet.xml中指定的,本例为springmvc-servlet.xml。
【注意】如果需要使用注解annotation的方式,在需要引入context和mvc命名空间,具体如下:
步骤4:LoginSpringAction.java文件
【注意】使用annotation方式,可以避免耦合方式,也方便单元测试
setp 1:为controller的类添加注解:@Controller
setp2:为方法添加@RequestMapping
在类级别定义:@RequestMapping("/test"),该类的根级别,可选
在方法上定义:@RequestMapping("/start"),相对与类级别,网站空间,必选,访问方式:/test/start.do
setp3:在spring servlet配置文件中添加扫描功能,使annotation产生作用
<!–把标记了@Controller注解的类转换为bean–>
setp4:在spring servlet中使用视图解析类,如
步骤5:启动jetty访问,url::8080/start.test, 则后台输出:Controller is working
补充:制作一个index.jsp页面开始运转
访问::8080/index.jsp
【补充】
(1)对于不需要的controller的login.jsp页面,香港虚拟主机,可以使用spring自带的org.springframework.web.servlet.mvc.ParameterizableViewController,而不需要自己再写controller的实现。具体配置如下:
它会根据策略寻找到/WEB-INF/jsp/login.jsp
(2)如果login.test直接找login.jsp,即login是一致的,不需要改变,网站空间,则可以更加省略,直接写为:
三、Webx MVC(以webx3为基础)
1、webx3的入口点
webx.xml:每个webx应用,都需要有一个webx.xml配置文件。这个文件定义了Webx所用到的所有services的配置。
pipeline.xml:即管道,它是由一个或多个“阀门Valve”构成的。可以看做webx框架的总控文件。
log4j.xml:日志系统配置文件。对于程序的排错至关重要。
在乎的应该是沿途的风景以及看风景的心情。