springmvc之HelloWorld

1、创建一个web工程
2、导入springmvc相关包
3、在web.xml中配置使用SpringMVC的前端控制器处理所有请求(给提示(DispatcherServlet提示项))
          注意:指定springmvc配置文件位置,所有请求写/而不是/*
4、随便写一个类一个方法就来处理请求
 
流程:
1)、发请求
2)、SpringMVC根据请求地址找到哪个Controller的RequestMapping注解就是这个地址
3)、找到就执行方法处理请求
4)、方法执行完成的返回值,作为页面地址直接转发到这个页面(配置视图解析器可以帮我们进行简化拼串)

环境:

windonws 7 ,  jdk 1.7  , tomcat 7.0  ,eclipse 

1、导包

  首先spring四大核心架包,包括(beans , core , expression ,aop ),加上日志记录(commons-logging),

在加上springweb(web)和webmvc(webmvc)整合jar包。

2.写配置文件

  web.xml:

      alt+/  倒数第二个 

  自动配置springmvc的前端控制器,作用是用DispatcherServlet处理所有的应用程序的请求。

  只需修改2处,参数值:类路径下的配置文件 ,和 

  <url-pattern> / <url-pattern>       /* : 导致.jsp页面不能访问  /:但是如果写/,jsp页面就能访问 

 1 <servlet>
 2       <servlet-name>springDispatcherServlet</servlet-name>
 3       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 4           <init-param>    <!-- 指定springmvc 配置文件位置 -->
 5               <param-name>contextConfigLocation</param-name>
 6               <param-value>classpath:springmvc.xml</param-value>
 7           </init-param>
 8                   <!-- load-on-startup:springDispatcherServlet默认项项目启动的时候就创建 -->
 9           <load-on-startup>1</load-on-startup>
10   </servlet>
11   <servlet-mapping> <!-- Map all requests to the DispatcherServlet for handling -->
12   
13       <servlet-name>springDispatcherServlet</servlet-name>
14       <url-pattern>/</url-pattern> 

配置springmvc.xml:

   新建一个源码包config,InternalResourceViewResolver  翻译: 内部资源视图解析器 

关键代码如下: 如何写InternalResourceViewResolver ,<bean class="internalRsesource">alt+/

记得在配置文件勾选 context,

<!--包扫描  -->
<context:component-scan base-package="com.atguigu.controller"></context:component-scan>
    <!--视图解析器:简化我们方法的返回值,帮我们自动拼接页面地址  -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- mm -->
        <!--prefix  加前缀-->
   <property name="prefix" value="/WEB-INF/pages/"> </property>
     <!--suffix 加后缀-->
   <property name="suffix" value=".jsp"></property>

</bean>
</beans>

 3.建立一个index.jsp  //首页,服务器启动的窗口

<body>
<a href="lookmm">看美女</a>   //超链接跳转
</body>

4. 在/WEB-INF目录下建一个包,/pages, 在包内建立两个jsp文件,用于跳转的目的地。

  1)、mm.jsp  关键代码如下:

<body>
    <h1>看我美吗?</h1>
</body>

  2)、success.jsp

<body>
    <h3>成功</h3>
</body>

5.在src包下建一个类,

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller   //翻译:控制器, 标注在类名上,映射成功,会有 s 的标记
public class MMController {

    @RequestMapping("/lookmm")  //RequestMapping 翻译:请求映射 标注在方法上
    public String hahaha() {
        System.out.println("哈哈,我要去看MM了");
        return "success";  //也可以换成 "mm" 则跳转到--看我美吗?
            //        /WEB-INF/pages/mm.jsp
            //    /WEB-INF/pages/success.jsp
            //直接写页面地址。从当前项目的根目录下开始写
            //视图解析器会帮我们根据前后缀自动拼串
    }
}
 
隐私数据设置:
   有些数据,不能让用户直接敲地址就能访问,所以设置如下:
1、不允许用户直接可以敲页面地址来访问页面
2、将其作为受保护的页面(/WEB-INF/下即可);受保护的资源只有程序帮我们转发我们才能过去;
3、我们可以不指定【】配置文件的位置,默认找
/WEB-INF/springDispatcherServlet-servlet.xml
 
 
1、转发重定向?
  敲地址---看到页面(一次请求)转发
 
   敲地址---看到页面(二次请求)重定向
 

 

 
原文地址:https://www.cnblogs.com/JavaBlackHole/p/7381434.html