持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情
6)开发页面,发出请求。
<a href="${pageContext.request.contextPath}/zar/hello.action">访问action</a>
其中:
/zar 是类上的注解路径
/hello 是方法上的注解路径
7)在webapp目录上新添目录/admin。
8)在/admin目录下新建main.jsp页面。用来进行服务器处理完毕后数据的回显。
9)开发HelloSpringMvc.java-->控制器(相当于以前的servlet)。这是一个普通的类,不用继承和实现接口。类中的每个方法就是一个具体的action控制器。
类中的方法定义有规范:
A. 访问权限是public。
B. 方法名自定义。
C. 方法的参数可以有多个,任意类型,用来接收客户端提交上来的数据。
D. 方法的返回值任意。以返回String居多。
@Controller\
@RequestMapping("/zar")\
public class HelloSpringMvc {\
@RequestMapping("/hello")\
public String one(){\
return "main";\
}\
}
@Controller:表示当前类为处理器,交给Spring容器去创建对象。
@RequestMapping:表示路径映射。该注解可以加在类上相当于包名,还可以加在方法上相当于action的名称,都是来指定映射路径的。
1)完成springmvc.xml文件的配置。在工程的类路径即resources目录下创建 SpringMVC 的配置文件 springmvc.xml。该文件名可以任意命名。推荐使用springmvc.xml.
<context:component-scan base-package="com.bjpowernode.controller"></context:component-scan>\
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">\
<property name="prefix" value="/WEB-INF/jsp/"></property>\
<property name="suffix" value=".jsp"></property>\
</bean>
SpringMVC框架为了避免对于请求资源路径与扩展名上的冗余,在视图解析器
InternalResouceViewResolver 中引入了请求的前辍与后辍。而action中只需给出要跳转页面的文件名即可,对于具体的文件路径与文件扩展名,视图解析器会自动完成拼接。
context:component-scan:用来进行包扫描,这里用于指定@Controller注解所在的包路径。