springmvc的基本使用

目前市面上基本就是SSH和SSI的天下好像离开了这些东西开发项目就会觉得不踏实,这几年陆续爆出了struts2的一些漏洞,这些漏洞还挺严重的。如果对struts感到厌倦我建议试试springmvc, 因为它足够让我们惊叹,下面分享下我学习它的心得。

1.下载springmvc的开发包

现在要下载spring貌似比较困难了,那个下载速度简直叫人受不了,这里我推荐使用maven来得到依赖,springmvc所需要的依赖如下

        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-core</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aop</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-asm</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-beans</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <!-- end spring 核心依赖包 -->  
        <!-- start spring mvc -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-web</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>3.0.5.RELEASE</version>  
        </dependency>  

这个版本也许有点古老,我建议下载版本稍微高一点的

2 配置web.xml

        <listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
        <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:applicationContext.xml
		</param-value>
	</context-param>
	<!--DispatcherServlet的相关配置 -->
	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:/spring-servlet.xml</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>

dispatcherservlet的配置算是springmvc的核心


3  spring-servlet.xml文件的相关配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	  http://www.springframework.org/schema/context
	  http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<bean id="localeResolver"
		class="org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver" />
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!-- <property name="viewClass"> <value>org.springframework.web.servlet.view.InternalResourceView</value> 
			</property> -->
		<!-- 界面的存放位置 -->
		<property name="prefix" value="/WEB-INF/jsp/" />
		<!-- 界面文件的后缀 -->
		<property name="suffix" value=".jsp" />
		<!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" 
			/> -->
	</bean>
	<!-- url映射 -->
	<bean id="urlMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<!-- interceptors根据实际情况来配置 -->
		<property name="interceptors">
			<list>
				<bean class="org.lxh.inteceptor.MyInteceptor"></bean>
			</list>
		</property>
		<property name="mappings">
			<props>
				<prop key="user*.action">userAction</prop>
			</props>
		</property>
	</bean>
</beans>

4  action的配置以及action的写法

这一块是springmvc比较重要的部分,这部分类似于servlet,是界面和DAO交互的桥梁。来看下这个action要怎么写

package org.lxh.action;

import org.lxh.info.UserInfo;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

public class UserController {

	private String regist;
	private UserInfo userInfo;
	//success和action里面配置的属性名称应该一致
	private String success;

	@RequestMapping("/userRegist.action")  //配置action的名称
	public ModelAndView toRegist() throws Exception {
		return new ModelAndView(regist, "title", "用户注册");
	}

	@RequestMapping("/userAdd.action") 
	public String addUser(@ModelAttribute("userInfo") UserInfo userInfo,@RequestParam("username") String username) throws Exception {
		//通过@ModelAttribute取得表单参数
		System.out.println(userInfo.getUsername()+","+userInfo.getPassword());
		//crud相关操作
		//重定向
		return "redirect:/userAddSuccess.action";
		
	}
	@RequestMapping("/userAddSuccess.action") 
	public ModelAndView toTipPage() {  
	  
	    return new ModelAndView(success, "flag", "用户注册成功");
	    
	}
	public String getSuccess() {
		return success;
	}

	public void setSuccess(String success) {
		this.success = success;
	}

	public UserInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UserInfo userInfo) {
		this.userInfo = userInfo;
	}

	public String getRegist() {
		return regist;
	}

	public void setRegist(String regist) {
		this.regist = regist;
	}

}

看起来是不是挺简单的呢,要注意的就是怎么取得表单的信息以及重定向

action.xml的配置如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:p="http://www.springframework.org/schema/p"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <!-- 控制器的相关配置 -->
    <bean id="userAction" class="org.lxh.action.UserController">
        <property name="regist">
            <value>regist</value>  
        </property> 
         <property name="success">
            <!-- 跳转到success.jsp -->
            <value>success</value>  
        </property> 
    </bean>
</beans>

5  先来通过访问action转到注册界面

填写相应信息点击确定之后的界面如下

springmvc是不是挺强大的呢!


代码我没有全部贴出来有需要的话点这个链接下载源码

http://download.youkuaiyun.com/detail/smartcodekm/7589165

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值