一个简略的Spring MVC实例(2011.4.12)
一个简单的Spring MVC实例(2011.4.12)
myeclipse里面复制的
刚刚开始接触Spring MVC,下面是一个简单的实例,里面有一些详细的注释,以及疑问,请参考
------------------------web.xml配置----------------------------------------------------
<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:applicationContext.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
---------------------------控制器---------------------
public class LoginController extends SimpleFormController { private String error; public String getError() { return error; } public void setError(String error) { this.error = error; } //优先执行此方法(4个参数) protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception { System.out.println("执行4个参数方法"); Login login=(Login) command; System.out.println("UserName:"+login.getUserName()); System.out.println("PassWord:"+login.getPassWord()); //第一种传值及显示 // request.setAttribute("userName", login.getUserName()); // request.setAttribute("passWord", login.getPassWord()); // return new ModelAndView("ok"); //第二种传值及显示 // return new ModelAndView("ok","loginModel",login); //第三种传值及显示 Map mapModel=new HashMap(); mapModel.put("loginModel", login); return new ModelAndView("ok",mapModel); } protected ModelAndView onSubmit(Object command, BindException errors) throws Exception { System.out.println("执行2个参数方法"); Login login=(Login) command; System.out.println("UserName:"+login.getUserName()); System.out.println("PassWord:"+login.getPassWord()); return new ModelAndView("ok"); } protected ModelAndView onSubmit(Object command) throws Exception { System.out.println("执行1个参数方法"); Login login=(Login) command; System.out.println("UserName:"+login.getUserName()); System.out.println("PassWord:"+login.getPassWord()); return new ModelAndView("ok"); } }
---------------------Spring配置文件---------------------------------------------
<!-- 配置视图的显示 --> <bean id="ViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property><!-- 视图文件的前缀 --> <property name="suffix" value=".jsp"></property><!-- 视图文件的后缀名 --> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property><!-- view是用什么显示,这里是jsp,还可以用velocity之类的 --> </bean> <!-- 配置action的请求路径 --> <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/login.do">loginAction</prop><!-- loginAction必须与下面名称一一对应,key是请求的mapping --> </props> </property> </bean> <bean id="login" class="org.yonge.model.Login"></bean> <!-- 配置action --> <bean id="loginAction" class="org.yonge.action.LoginController"> <property name="commandClass" value="org.yonge.model.Login"></property> <property name="error" value="error"></property> <!-- 这里并没有配置控制器中(return new ModelAndView("ok"))ok对应的 视图,同理,上面也可以不设置error属性--> </bean>
-----------------------index.jsp(首页)----------------------------------------------------
<form action="./login.do" method="post"><!-- 为什么method=post可以正常运行,而method=get不可以 --> <table align="center" width="50%" border="0"> <tr> <td>UserName:</td> <td> <input type="text" name="userName"> </td> </tr> <tr> <td>PassWord:</td> <td> <input type="text" name="passWord"> </td> </tr> <tr> <td colspan="2"> <input type="submit"" value="提交"> </td> </tr> </table> </form>
-----------------------ok.jsp-------------------------------------------------------
<body> 登录成功!!! <!-- UserName:${userName } PassWord:${passWord } --> UserName:${loginModel.userName } PassWord:${loginModel.passWord } </body>
上面的疑问请知道的各位解答一下,谢谢!!!
1 楼
summer1433
2011-04-13
你这代码也贴的太多了吧,哪里copy来的
2 楼
yonge812
2011-04-13
summer1433 写道
你这代码也贴的太多了吧,哪里copy来的
myeclipse里面复制的