zoukankan      html  css  js  c++  java
  • springMVC获取数据--注意post方法会出现中文乱码问题

    1. 新建web project

    2. 加入jar

    3. 改写web.xml 

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
    	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_3_0.xsd">
      <display-name></display-name>	
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
      	<servlet-name>springMVC</servlet-name>
      	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      	<init-param>
      		<param-name>contextConfigLocation</param-name>
      		<param-value>classpath*:config/spring-servlet.xml</param-value>
      	</init-param>
      	<load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
      	<servlet-name>springMVC</servlet-name>
      	<url-pattern>/</url-pattern>
      </servlet-mapping>
      
    </web-app>
    

    4. src/config  包下写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"    
        xmlns:mvc="http://www.springframework.org/schema/mvc"    
        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    
               http://www.springframework.org/schema/mvc     
               http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
        <!-- 注解扫描包 -->
        <context:component-scan base-package="com.tgb.web.controller" />      
          
        <!-- 开启注解 -->
        <mvc:annotation-driven/>
       
        <!-- 静态资源访问 -->
        <mvc:resources location="/img/" mapping="/img/**"/>
        <mvc:resources location="/js/" mapping="/js/**"/>
        <mvc:resources location="/css/" mapping="/css/**"/>
       
        	
        <!-- ViewResolver 视图解析器 --> 
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/jsp/"/> 
            <property name="suffix" value=".jsp"/> 
        </bean>
         
    </beans>
    

      

    5. controller文件 UserController.java   

    package com.tgb.web.controller;
    import javax.servlet.http.HttpServletRequest;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import com.tgb.web.controller.entity.User;
    
    @Controller
    @RequestMapping("/user")
    public class UserController {
    	@RequestMapping("/addUser")
    	public String addUser(User user,HttpServletRequest request){
    		String result = "this is addUser---------优化版";
    		request.setAttribute("userName", user.getUserName());
    		request.setAttribute("age", user.getAge());
    		return "/userManager"; 
    	}
    	@RequestMapping("/delUser")
    	public String delUser(){
    		return ""; 
    	}
    	
    	@RequestMapping("/toUser")
    	public String toUser(){
    		return "/addUser"; 
    	}
    }
    

    新建一个POJO实体类, 在一个新的包com.tgb.web.controller.entity下, User.java 

    package com.tgb.web.controller.entity;
    
    public class User {
    	private String userName;
    	public String getUserName() {
    		return userName;
    	}
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    	private String age;
    	public String getAge() {
    		return age;
    	}
    	public void setAge(String age) {
    		this.age = age;
    	}
    }
    

      

     

    6. addUser.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'addUser.jsp' starting page</title>   
      </head>  
      <body>
    	  <h> 添加用户 </h> <br>
    	  <form action="/springMVC5/user/addUser">
    	  	姓名: <input type="text" name="userName">
    	  	年龄: <input type="text" name="age">
    	  	<input type="submit" value="添加">
    	  </form>   		
      </body>
    </html>
    

    或者:

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
        <title>My JSP 'addUser.jsp' starting page</title>
        <script type="text/javascript">
    	    function addUser(){
    	    	var form=document.forms[0];
    	    	form.action="/springMVC5/user/addUser";
    	    	form.method="get";
    	    	form.submit();    	
    	    }    	
        </script>
      </head>  
      <body>
    	  <h> 添加用户 </h> <br>
    	  <form action="">
    	  	姓名: <input type="text" name="userName">
    	  	年龄: <input type="text" name="age">
    	  	<input type="button" value="添加" onClick="addUser()">
    	  </form>
       		
      </body>
    </html>
    

    7. userManager.jsp    

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      <script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
        <title>My JSP 'addUser.jsp' starting page</title>
        <script type="text/javascript">
        </script>
      </head>  
      <body>
    	  <h> 用户管理  </h> <br/>
    	  	姓名: ${userName }<br/>
    	  	年龄: ${age }   		
      </body>
    </html>
    

    8. IE端访问   

    http://localhost:8080/springMVC5/user/toUser
    

      

    如果把get改成post会出现乱码的情况, 但是参数传递不会再URL上, get就会显示在URL地址栏里.  

    web.xml配置一下就可以解决中文乱码问题

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" 
    	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_3_0.xsd">
      <display-name></display-name>	
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
      
      <servlet>
      	<servlet-name>springMVC</servlet-name>
      	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      	<init-param>
      		<param-name>contextConfigLocation</param-name>
      		<param-value>classpath*:config/spring-servlet.xml</param-value>
      	</init-param>
      	<load-on-startup>1</load-on-startup>
      </servlet>
      
      <filter>  
            <filter-name>characterEncodingFilter</filter-name>  
            <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
            <init-param>  
                <param-name>encoding</param-name>  
                <param-value>UTF-8</param-value>  
            </init-param>  
            <init-param>  
                <param-name>forceEncoding</param-name>  
                <param-value>true</param-value>  
            </init-param>  
        </filter>  
        <filter-mapping>  
            <filter-name>characterEncodingFilter</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>
      
      
      <servlet-mapping>
      	<servlet-name>springMVC</servlet-name>
      	<url-pattern>/</url-pattern>
      </servlet-mapping>
      
    </web-app>
    

      

     

  • 相关阅读:
    MFC对话框编程详细学习笔记
    VS2013 MFC基于对话框编程
    Java学到什么程度可以找到第一份工作
    搞定操作系统面试,看这篇就够了
    搞定计算机网络面试,看这篇就够了
    一千行 MySQL 学习笔记
    后端工程师技术面试复习大纲
    爬虫功能
    昨天的一卦,真的太形象,可惜我就是不敢断
    基于maven+ssm的增删改查之批量删除
  • 原文地址:https://www.cnblogs.com/wujixing/p/5600923.html
Copyright © 2011-2022 走看看