SSH中的大概流程:左键点住图片然后往边上移,就会在新的窗口打开,图片就能看清了
注解和Struts的配置
在这块要注意:在spring容器的配置里,把bean配置为scope=prototype多实例的配置。类的全路径直接复制就好。手写难免出错。
Struts的action
<constant name="struts.devMode" value="true" /> //true表示开发模式,修改action不需要重启server
<package name="shop" extends="struts-default" namespace="/"> //namespace为空时,表示找不到路径是就到该namespace的action处理
<action name="index" class="indexAction">
<result name="index">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
不过我们Struts的写法也可以这么写,其中 method的{1},表示前面 action中的 * 。这个*就是我们连接indexAction中的方法名。而result中的name则是方法中返回的字符串。最后字符串有对应WEB-INF中的某个网页。一层套一层,一定要注意大小写,最好复制粘贴,这样不容易出错。
<package name="shop" extends="struts-default" namespace="/">
<action name="index_*" class="indexAction" method="{1}">
<result name="index">/WEB-INF/jsp/index.jsp</result>
</action>
</package>
配置XML的spring的核心监听器和Struts的过滤器。这块一定要复制啊,手写慢不错,还出错,没什么价值。
<!-- 配置Spring的核心监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置Struts2的核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>