spring mvc demo

Spring MVC 模式

springMVC模式在Spring2.5X以后的版本里就有了该功能

1。新建项目、导入相关的jar包(spring官方下载)

2。配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <!-- 使用Spring 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>/WEB-INF/spring.xml</param-value>
   </init-param>
   
   <!-- 加载级别 -->
   <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
   <servlet-name>dispatcherServlet</servlet-name>
   <url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>

 

在这里要说明一下 由于使用了spring的DispatcherSergvlet 因此你的   <servlet-name>dispatcherServlet</servlet-name> 叫什么 就要在你的root/下创建一个dispatcherServlet-servlet.xml文件

 3。页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
  </head>
 
  <body>
 <p>用户登录</p>
 <form action="login.do" method="post">
  Username: <input type="text" name="username"/><br/>
  Password: <input type="password" name="password"/><br/>
  
  <input type="submit" value="OK" /><input type="reset" value="NO">
 </form>
  </body>
</html>

 

4.bean

public class LoginForm implements  Serializable{
 

 private String username;
 
 private String password;

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public String getUsername() {
  return username;
 }

 public void setUsername(String username) {
  this.username = username;
 }

 @Override
 public String toString() {
  // TODO Auto-generated method stub
  return super.toString();
 }
 
}
5 Action(controller) 

package net.xiaxin.action;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

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 test.LoginForm;

public class LoginAction extends SimpleFormController {

 private String fail_view;

 private String success_view;

 @Override
 protected ModelAndView onSubmit(HttpServletRequest request,
   HttpServletResponse response, Object command,
   BindException exception) throws Exception {
  // TODO Auto-generated method stub
  
  LoginForm login=(LoginForm)command;
  
  if(log(login)==0){
   
   HashMap map=new HashMap();
   
   map.put("login", login);
   List list=new LinkedList();
   
   list.add("msg1");
   list.add("msg2");
   list.add("msg3");
   
   map.put("message", list);
   
   return new ModelAndView(this.getSuccess_view(),map);
   
   
  }
  else{
   
   return new ModelAndView(this.getFail_view());
  }
 }

 private int log(LoginForm login) {

  if("chenboning".equalsIgnoreCase(login.getUsername())&&"123456".equalsIgnoreCase(login.getPassword())){
   
   return 0;
  }
  return 1;
  
  
 }

 public String getFail_view() {
  return fail_view;
 }

 public void setFail_view(String fail_view) {
  this.fail_view = fail_view;
 }

 public String getSuccess_view() {
  return success_view;
 }

 public void setSuccess_view(String success_view) {
  this.success_view = success_view;
 }

}
6.spring.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 
 <!-- 视图 -->
 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass">
   <value>org.springframework.web.servlet.view.JstlView</value>
  </property>
  
  <property name="prefix">
   <value>/WEB-INF/JSP/</value>
  </property>
  
  <property name="suffix">
   <value>.jsp</value>
  </property>
 </bean>
 
 <!-- Mapping -->
 
 
 <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
   <props>
    <prop key="/login.do">loginAction</prop>
   </props>
  </property>
  
 </bean>
 
 <!-- Http Servlet -->
 <bean id="loginAction" class="net.xiaxin.action.LoginAction">
  <property name="commandClass">
   <value>test.LoginForm</value>
  </property>
  <property name="fail_view">
   <value>loginfail</value>
  </property>
  <property name="success_view">
   <value>success</value>
  </property>
 </bean>
 
</beans>

 

7。创建页面(WEB-INF/JSP/)

创建两个jsp文件success.jsp、loginfail.jsp

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值