SpringMVC

来源:互联网 发布:编程之魂 译者 编辑:程序博客网 时间:2024/06/03 11:16

一、 通过maven导入Spring bean jar包,
二、 通过web.xml配置DispatcherServlet,与普通的Servlet创建一样,需要我们去写
<servlet></servlet>和<servlet-maping></servlet-maping>。
我们还可以给他加上自定义的初始化参数<init-param></init-param>标签,这样可以自定义servlet.xml配置文件的位置和名称,默认的话是在WEB-INF目录下,例子如下:
<inti-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-servlet.xml</param-value>
</init-param>
同时把<servlet-mapping></servlet-maping>下的<url-pattern></url-pattern>改为/,意味着所有请求发送给web容器的时候先走一遍DispatcherServlet。
三、接着配置我的spring.xml文件,在上面我没有修改他的默认路径,于是我到WEB-INF下直接创建一个spring-servlet.xml文件,如果修改了web.xml下的初始化参数的spring.xml路径则这里也必须创建在你修改的路径下。
首先配置一个视图解析器,即在模型视图加上前后缀,springmvc在处理视图做页面转发跳转的时候把视图分为逻辑视图和物理视图,物理视图即真实存在于项目中的视图文件,比如jsp、html。在springmvc中对于每一个物理视图都有一个逻辑视图,逻辑视图名称必须通过视图解析器解析为物理视图,这里加一个视图解析器。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
这里两个property分别为对逻辑视图进行解析的时候需要加上的前缀和后缀。
接着再写访问静态文件(js,css,jpg)的方法。
<mvc:resouces mapping="/css/**" location="/WEB-INF/statics/css/" />
<mvc:resouces mapping="/js/**" location="/WEB-INF/statics/js/" />
<mvc:resouces mapping="/image/**" location="/WEB-INF/statics/image/" />
我们还需要启动扫包功能,以便注册注册带有@Controller @Service @Compoent等注解类成为spring的bean类。
<context:component-scan base-package="com.springmvc.handler" />
这里注意下,我的class文件是放在com.springmvc.handler下的,但是如果填*他并不能给我识别,而要我具体的填写类的路径下去,否则就会报404错误了,不知道为啥。
四、接着我们就可以写我们的控制器了,我在com.springmvc.handler这个目录下建了HelloWorldHandler,
具体如上,现在说明下,首先我们需要通过注解方式将其定义为控制类,也就是上面写的@Controller。控制器处理请求的业务方法格式如上,当前方法处理完毕之后需要返回的逻辑视图名称。他会根据当前方法的返回值和我们在spring配置文件中配置的视图解析器进行解析,定位到物理视图上,完成页面转发。我这里返回的是"success",这意味着在经过解析后他会被添加上前缀/和后缀.jsp,也就是/success.jsp,因为我们在spring配置文件中写的前缀并没有写上具体的文件路径,所以取的是默认的路径也就是与WEB-INF同级目录下
这里我们在webapp下创建一个jsp叫作success.jsp,这个名字需要与前面控制类返回的逻辑视图名称一致,然后随便写点内容,以便后面启动看到效果。
这里说明下,任何javabean都可以作为控制器,通过@Controller。
方法可以接受请求并作出响应,修饰符必须为public,否则咋接受任何请求啊,然后返回值类型暂写为String,方法的返回值为跳转的视图名称。
最后我们就可以测试下了,配置下tomcat,然后在index.jsp中写个<a>标签跳转到接受请求的方法中。我这里写的是<a href="/SpringMVC/hello">,这里SpringMVC是配置tomcat的时候写上的项目名称,然后hello即为接受请求的方法名,接着就可以启动tomcat服务器进行测试了。

原创粉丝点击