本#文将简介如何在idea下配置自己的jar包非自动生成的spring mvc项目以
-
首先废话不多说,先下spring mvc必备的jar包。PS:这是我踩坑后下的idea适用的jar包。
-
打开idea,创建一个普通的webapp项目,不选spring。如图
step 1
step 2 -
项目创建好了之后就是导入jar包了,在web文件夹下的WEB-INF下创建一个lib文件夹如图:
step 3
之后导入jar包。
下面在WEB-INF里创建一个springmvc核心配置文件springmvc-servlet.xml,代码如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.2.xsd">
</beans>
**下面的步骤都是要在Project Structure中进行配置。点击⌘;快捷键或者file-->Project Structure进入配置,在此期间要是Problems出现气泡点击进去Fix就可以了
-
把刚刚增加的lib添加到编译环境中,在Project Structure的Libraries中完成:
1
2
选择刚刚的lib里的所有jar包,取个名字,点击Apply。
-
之后配置spring相关的配置。。如图首先配置Modules
增加spring
之后出现下图点击spring图标关联配置文件:
step 1
勾选相关选项
step 2
点击ok完成相关配置。 -
进入Facets查看
1
接下来可以在红框标明处更改web项目xml的路径和web资源路径。(我这里是默认的web文件夹)
2 -
打开Artifacts查看是否有配置
1
2
之后默认项目就可以了。
-
添加Tomcat服务器:
1
2
3
若上一步点击的是Deployment,则执行下图步骤:
3.5
-
返回Project Structure,进入Modules里
1
到此为止,Mac idea最详细spring mvc非maven配置到此就结束了。
下面就是配置spring mvc 下的Hello world程序,我采用的是注解形式来开发
** 1. 打开刚刚项目里的WEB-INF下的web.xml配置文件,配置相关配置。
代码如下(相关的用法已经在注释中给出了):**
<servlet>
<!--类名-->
<servlet-name>DispatcherServlet</servlet-name>
<!--对应类的全类名
用中央处理器DispatcherServlet来拦截请求
-->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--init-param
配置默认初始化参数
<param-name>配置容器的名字
<param-value>放置配置文件
1. load-on-startup 元素标记容器是否应该在web应用程序启动的时候就加载这个servlet,(实例化并调用其init()方法)。
2. 它的值必须是一个整数,表示servlet被加载的先后顺序。
3. 如果该元素的值为负数或者没有设置,则容器会当Servlet被请求时再加载。
4. 如果值为正整数或者0时,表示容器在应用启动时就加载并初始化这个servlet,值越小,servlet的优先级越高,就越先被加载。值相同时,容器就会自己选择顺序来加载。
-->
<init-param>
<!--
<param-name>这个配置容器的名字是给出的不能修改
-->
<param-name>contextConfigLocation</param-name>
<!--
<param-value>要填写spring mvc的配置文件的放的位置
-->
<param-value>/WEB-INF/springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<!--请求的路径匹配
以正则的形式,来匹配请求
-->
<url-pattern>*.action</url-pattern>
</servlet-mapping>
2. 首先在src创建如下形式的包结构
之后配置springmvc-servlet.xml文件,代码如下(关键部分已经由注解给出)
<!--
配置处理器映射器和处理器适配器
使用<mvc:annotation-drvier/>配置注解映射器和注解适配器
-->
<mvc:annotation-driven ></mvc:annotation-driven>
<!--
配置视图解析器
要求:
1、配置解析JSP的视图解析器,默认使用JSTL,因此需要有JSTL的包
2、根据后缀匹配jsp文件
-->
<!-- 响应的配置 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="suffix" value=".jsp" />
</bean>
<!--
组件扫描的形式管理所有控制器
配置处理器
使用<context:component-sacn/>组件扫描器自动扫描包中标记为@Controller的注解类,
注意:多个包中间使用半角逗号分隔
要求:base-package对应的包中应该是controller包
-->
<context:component-scan base-package="springmvc.controller"></context:component-scan>
3. 在web文件夹下创建一个test.jsp文件,代码如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>test</title>
</head>
<body>
<form method="post" action="test.action">
<button type="submit">提交</button>
</form>
</body>
</html>
之后再创建一个helloworld.jsp文件,代码如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello world</title>
</head>
<body>
<h1>Hello wolrd in spring</h1>
</body>
</html>
4.完成以上步骤后在刚刚的src的包controller下创建一个helloworldController类
添加代码如下:
package springmvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class helloworldController {
@RequestMapping("test")
public ModelAndView test(){
System.out.println ("进入Controller");
ModelAndView mav = new ModelAndView ();
mav.setViewName("helloworld");
return mav;
}
}
网友评论