1、添加jar
2、web.xml配置:
<?xml version="1.0" encoding="utf-8"?>
<web-app version="2.5"
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>
<init-param>
<param-name>contextconfiglocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3、springmvc.xml配置
">
<!-- 注解驅動 -->
<mvc:annotation-driven/>
<!-- 元件掃描 -->
<context:component-scan base-package="cn.itcast.springmvc.controller"></context:component-scan>
<!-- 配置内部資源視圖解析器 -->
<bean class="org.springframework.web.servlet.view.internalresourceviewresolver">
<property name="prefix" value="/web-inf/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
4、實體bean
package cn.itcast.springmvc.domain;
public class user {
private string name;
private string address;
private integer age;
private string tel;
public string getname() {
return name;
}
public void setname(string name) {
system.out.println("正在通過setname方法注入name的值:" + name);
this.name = name;
public string getaddress() {
return address;
public void setaddress(string address) {
this.address = address;
public integer getage() {
return age;
public void setage(integer age) {
this.age = age;
public string gettel() {
return tel;
public void settel(string tel) {
this.tel = tel;
@override
public string tostring() {
return "{name:" + name + ",address:" + address + ",age:" + age
+ ",tel:" + tel + "}";
}
5、編寫homecontroller,代碼如下:
package cn.itcast.springmvc.controller;
import java.util.map;
import javax.servlet.http.httpservletrequest;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.requestmethod;
import org.springframework.web.bind.annotation.requestparam;
import cn.itcast.springmvc.domain.user;
/**
* @brief iaccountdao.java 學習spring注解方式
* @attention
* @author 塗作權
* @date 2014-5-18
* @note begin modify null
*/
@controller //添加注解
@requestmapping(value = "/home") // 根路徑,有些類似strut2的命名空間
public class homecontroller {
/**
* 子路徑,表示隻支援get送出
* @param req 可以通過傳遞httpservletrequest的方式獲得參數
* @param name 表示連接配接的地方有:xxx?name=
* @param u 如果url的?後面參數過多,要想獲得參數,可以直接将這個參數寫成user
* @param model :定義一個map對象,可以通過這種方式将之傳遞給jsp頁面
*
* ?name=toto&address=haidian&age=24&tel=136xxx
* 獲得的參數為:正在執行hello方法 name:toto user: {name:toto,address:haidian,age:24,tel:136xxx}
* @return
*/
@requestmapping(value="/hello",method=requestmethod.get)
public string hello(httpservletrequest req,
@requestparam(value = "name")
string name, user u, map<string, object> model) {
//string name = req.getparameter("name");
system.out.println("正在執行hello方法 name:" + name);
system.out.println("user: " + u);
//req.setattribute("msg", "hello " + name);
model.put("msg", "hello " + name);
return "hello";//邏輯名
* \brief 定義方法hi
* @attention url的地方通過/home/hi的方式通路要想通路的位址
* @author 塗作權
* @date 2014-5-18
* @note begin modify by null
@requestmapping(value="/hi") //子路徑
public string hi(){
system.out.println("正在執行hi方法");
return "hi"; //邏輯名
6、編寫的hello.jsp
<%@ page language="java" import="java.util.*" pageencoding="utf-8"%>
<html>
<head>
<title> 'hello.jsp'</title>
</head>
<body>
${requestscope.msg}
</body>
</html>