打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Web之简单表格控制器实例
SimpleFormController”,他是一个简单表单控制器,这种控制器有三个基本的属性需要指定。这三个属性都是simpleFormController这个父类自带属性,即当一个类继承了SimpleFormController类时,这三个属性就存在,用户不需要再自行定义。
1        commandClass 这个属性规定了存放表单数据的bean。便于spring 容器识别用户定义的数据接口。(是一个简单的bean)
2        formView 这个属性规定了控制器执行失败时返回到的视图。由于其值是“form”,又由于名为viewResolver的bean规定了后缀是.jsp,因此控制器执行成功时,打开名为”form.jsp”的网页.
3        successView这个属性规定了控制器执行成功时返回的视图。在这里,由于其值是“success”,又由于名为viewResolver的bean规定了后缀是.jsp,控制器成功执行时,打开名为“success.jsp”网页。
 
ID 名为“viewResolver”的Bean
由于其类型是“InternalResourceViewResolver”,这个bean指定了视图命名规则。即指出了视图文件所在文件位置。视图名:前缀+视图名+后缀。前缀指定了视图所在的文件夹,后缀指定了视图类型。
 
 
功能:当用户输入http://localhost:8084/WebApplication4/login.do网址时,
展现给用户的是有“用户名”、“密码”的网页。当用户分别输入“admin”、“123”时,显示另一个含有“当前用户:123”及“返回的信息:msg1”的网页。如果用户输入的用户名或密码出错时,继续打开最初网页。
其中:工程名为WebApplication4.
      Jsp 文件位于WEB-INF\jsp文件夹下
      Web.xml与dispatcher-servlet.xml位于WEB-INF文件夹下。
      Java类位于action包中
包含的资源文件有:spring web mvc 2.5 spring framework 2.5两个包。Netbean6.1自带
 
执行过程:用户输入http://localhost:8084/WebApplication4/login.do,web服务器在web.xml查找与login.do相匹配的servlet服务器,找到发现是dispatcher,而这个服务器用户没有批指该服务器的配置文件文件,故按缺省命名处理,找到dispatcher-servlet.xml配置文件。在dispatcher-servlet.xml发现,与login.do相匹配的spring 控制器是loginCtl,查找loginCtl控制器的bean配置情况。发现是表单控制器,所用到的表单数据接口是fuser类,执行失败时,打开form.jsp网页;
当执行成功时,打开success.jsp网页。
Web.xml 配置内容:
指定了所有含有.do的请求都交给dispatcher servlet服务器处理。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns=http://java.sun.com/xml/ns/javaee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <session-config>
        <session-timeout> 30</session-timeout>
    </session-config>
    <servlet>
         <servlet-name>dispatcher</servlet-name>       <servlet-class>org.springframework.web.servlet.DispatcherServlet
</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
     </welcome-file-list>
</web-app>
 
<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
      
    <bean id="urlMapping1" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/login.do">loginCtl</prop>
            </props>
        </property>
    </bean>
   
    <bean name="loginCtl"  class="action.Login" >
          <property name="commandClass">
              <value>action.Fuser</value>
         </property>
          <property name="formView">
              <value>form</value>
          </property>
           <property name="successView">
              <value>success</value>
          </property>
    </bean>   
 
     <bean id="viewResolver"         class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
          p:prefix="/WEB-INF/jsp/"
          p:suffix=".jsp" />
 </beans>
 
Login.java表单控制类
package action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import java.util.HashMap;
import java.util.List;
import java.util.LinkedList;
 
 
publicclass Login extends SimpleFormController{
    protected ModelAndView onSubmit(HttpServletRequest arg0, HttpServletResponse arg1, Object cmd, BindException ex) throws Exception {
        Fuser fuser=(Fuser) cmd;
        if (loginCheck(fuser)==0 ){
            HashMap result_map=new HashMap();
            result_map.put("fuser", fuser);
           
            List msgList=new LinkedList();
            msgList.add("msg1");
           
            result_map.put("messages", msgList);
            return new ModelAndView(this.getSuccessView(),result_map);
        }       
        returnnew ModelAndView(this.getFormView());
    }
    
   privateint loginCheck(Fuser fuser){
       if ( ("admin".equals(fuser.getUsername()) )  
               && ("123".equals(fuser.getPassword()) ) ){
           return 0;
       }
       return 1;
   }
 
}
 
Fuser.java表单数据接口类
package action;
public class Fuser {
    private String username="";
    private String password="";
    public String getUsername(){
        return username;
    }
    public void setUsername(String username){
        this.username=username;
    }
    public String getPassword(){
        return password;
    }
    public void setPassword(String password){
        this.password=password;
    }
       
}
 
 
form.jsp视图---登陆视图 
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
         <form method="post" action="login.do">
             <p align="center">登陆</p>
             <br> 用户名:
                <input type="text" name="username" >
             </br>
              <br> 密码:
                <input type="text" name="password" >
              </br>
              <p>
                 <input type="submit" value="提交" name="B1" >
                 <input type="reset" value="重置" name="B2" >
              </p>
         </form>
    </body>
</html>
 
success.jsp 登陆成功视图
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
 
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
       <p> 当前用户:${fuser.username} <p/>
       <p>返回的信息</p>
       <p>
           <% java.util.List mes = ( java.util.List)request.getAttribute("messages"); 
              out.print(mes.get(0).toString());
           %>
       </p>
       
    </body>
</html>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
开发Spring MVC应用程序(2)
Spring MVC 注解开发备忘录
spring security 3.1配置过程从简单到复杂详细配置
SimpleUrlHandlerMapping的一个简单例子
spring Mvc 教程框架实例以及系统演示下载
史上最全最强SpringMVC详细示例实战教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服