JAVA入门[5]-初步搭建SpringMVC站点

简介:

一、新建Module

1.新建Module,类型如下图所示:

Image(25)

Image(26)

 

2.为项目添加Spring框架支持,操作步骤如下:

首先在Module右键->Add Framework Support:

Image(28)

 

2.Spring节点,选中Create empty spring-config.xml

Image(29)

3.微调站点代码结构,添加controller和jsp文件存放目录。调整后的代码结构如下:

Image(30)

4.在pom.xml引入springmvc依赖包:

复制代码
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>4.3.5.RELEASE</version>
</dependency>
复制代码

二、配置web.xml

Spring MVC自带了一个Dispatcher Servlet,全名是org.springframework.web.servlet.DispatcherServlet。

1.我们在web.xml中配置节点servlet和servlet-mapping:

复制代码
<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
复制代码

2.说明:

  • url-pattern为 /表示所有请求都被映射到DispatcherServlet。
  • 按照约定,初始化时会自动查找WEB-INF下命名规则为{servletname}-servlet.xml的文件,本例中对应springmvc-servlet.xml。

3.如果想放在其他目录下,需要在servlet中的init-param节点进行设置,param-name必须为contextConfigLocation,param-value为目标路径。比如我们想把spring配置文件放在/WEB-INF/config/springmvc.xml,可以如下配置:

复制代码
<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
复制代码

在该项目中我们使用第一种方式。

三、controller和view

MVC框架有model、view、controller三部分组成。model一般为一些基本的Java Bean,controller用于处理网站的请求,view用于进行相应的页面显示。

1.controller

在src\main\java中新建一个package名称为com.cathy.controller,然后新建类CategroyController.java。

复制代码
@Controller
public class CategoryController {

    @RequestMapping(value = "/category/edit")
    public String Edit() {
        return "edit";
    }

    @RequestMapping("/category/detail")
    public String Detail(){
        return "detail";
    }
}
复制代码

 

几点说明:

①@Controller注解:采用注解的方式,可以明确地定义该类为处理请求的Controller类;

②@RequestMapping()注解:用于定义一个请求映射,value为请求的url;

③return "edit":处理完该请求后返回的页面,此请求返回 edit.jsp页面。

2.view

在WEB-INF/jsp/目录下新建两个jsp页面:edit.jsp和detail.jsp

3.配置springmvc-servlet.xml

回到mvc-dispatcher-servlet.xml,进行相关配置。首先加入component-scan标签,指明controller所在的包,并扫描其中的注解

<context:component-scan base-package="com.cathy.controller"></context:component-scan>

<mvc:annotation-driven></mvc:annotation-driven>

然后配置ViewResolver

复制代码
<!--View Resolver-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>
复制代码

3.遇到问题:

①运行报错:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'cacheManager' available

②解决方法:

修改springmvc-servlet.xml

xmlns:mvc="http://www.springframework.org/schema/cache

改为

xmlns:mvc="http://www.springframework.org/schema/mvc

xsi也相应修改

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"

 

③完整的xml文件如下:

  springmvc-servlet.xml

四、运行

按照上一篇 JAVA入门[4]-IntelliJ IDEA配置Tomcat 配置Run Configuration,然后ctrl+f5运行,测试url:

http://localhost:8091/category/detail/

http://localhost:8091/category/edit/





    本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/p/6405595.html,如需转载请自行联系原作者


相关文章
|
1月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
ssh(Spring+Spring mvc+hibernate)——DeptDaoImpl.java
12 0
|
1月前
|
网络安全
ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java
ssh(Spring+Spring mvc+hibernate)——BaseDaoImpl.java
12 0
|
2天前
|
Java 开发工具 Windows
Java入门及环境变量
Java入门及环境变量
|
2天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
2天前
|
Java 程序员 数据库连接
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互