目录结构如下

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH8AAAAZCAIAAACXcmYDAAACSklEQVRoge3Zv0vjYBgH8PevObIE7tBiKXJ/gkP2LO924HBk6XI6pCBHHLRLXBQOhwwF6Yu7gkMhkMGhJ8opVbOYq6VcCm+SNgUd3vwy1bTcBd57Y748lDfhfUv4vOkT2oInRnO9WwNBarvXtK/mLwNoX8C7TqlPM/+q/+HHr2JXLspvJQd9w3KKWozpHysfXy3qju9Cv/3903gyTdXP4y9MbQASAGyyqN/aWprVvzmTmdoAlvXd8TRVN2cy2YDW1hJt2ULrHzYq2PWx6zteXO546ng+dv3DRoW2bNH1beyfnN+dnN9dmkMb+5fmkBzaOEO/Ky0DQUNC+PVV0JIWUQIUw0ICqEqawkeTNUhm8HI3+c5tuRqtaooAiGiBtczq722s2NjnoMpBtb5/amO/vn9KDm3s722sZOjHuBoMx0hIgr48D5aVthXaiciwHENX+HiHgmqKgJe7hgaD+fPXsqw/GE04qFbWDyrrB4PRhAw4qA5Gk2z9xP0eHsZkqWlIAFVJT3wOXhmnPj1z50djlvUfhh658Tmo7hwZ0fj3n3Ee+hFQqT+jv12vEf2dI2Nts8VBdW2zRfbgYeht12tZnYd0gBfNeqbzxN0jU1BX+PAk6TxtubroWqb1zX6gT9Cjgdmfoy+IcObp6mQ9dRfQb4phi483uLj6DWnV7Huo09OvHi/ubdTpXdzb+tUj6vTMvteQVhfrPP9Lsad/a7m3lpd4javUTyVn/W9fP2dXqZ9M+Qsz4/rFrlyU30r5zyLNlPo0U+rTTKlPM895EgSpnxXpNAAAAABJRU5ErkJggg==" alt="" />

1.pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>spring_security_1</groupId>
<artifactId>spring_security_1</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring_security_1 Maven Webapp</name>
<url>http://maven.apache.org</url> <properties>
<!-- spring版本号 -->
<spring.version>3.2.4.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.2.4</mybatis.version>
<!-- log4j日志文件管理包版本 -->
<slf4j.version>1.6.6</slf4j.version>
<log4j.version>1.2.9</log4j.version>
</properties>
<dependencies>
<!-- spring核心包 -->
<!-- springframe start -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- springframe end --> <!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis/spring包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.29</version>
</dependency>
<!-- junit测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency> <!-- 日志文件管理包 -->
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- log end --> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.11.0.GA</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
</dependencies> <build>
<finalName>spring_security_1</finalName>
</build>
</project>

2.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>spring_security_1</display-name> <context-param>
<param-name>contextConfigLocation</param-name>
<!-- 应用上下文配置文件 -->
<!-- 两种位置写法 -->
<!-- springMvc和spring security 两个配置文件 -->
<!-- <param-value>/WEB-INF/spring-servlet.xml</param-value> -->
<param-value>classpath:ApplicationContext.xml,classpath:spring-servlet2.xml,classpath:applicationContext-security.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- spring securit start -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- spring securit start --> <!-- 配置spring核心servlet -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <!-- url-pattern配置为/ 拦截 -->
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> </web-app>

3.ApplicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<!-- 配置数据源-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost/spring_security?useUnicode=true&amp;characterEncoding=utf-8</value>
<!--springmybaitis是我的数据库 -->
</property>
<property name="username">
<value>cqyusp_dev</value>
</property>
<property name="password">
<value>cqyusp_dev</value>
</property>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="lqy.UserMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
</beans>

4.applicationContext-security.xml

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd"> <http auto-config="true" >
<access-denied-handler error-page="/accessDenied.jsp"/>
<intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?error=true" default-target-url="/index.jsp" />
</http> <authentication-manager>
<authentication-provider>
<!-- <password-encoder hash="md5">
<salt-source user-property="username"/>
</password-encoder> -->
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username,password,status as enabled
from user
where username=?"
authorities-by-username-query="select u.username,r.name as authority
from user u
join user_role ur
on u.id=ur.user_id
join role r
on r.id=ur.role_id
where u.username=?"/>
</authentication-provider>
</authentication-manager> <!-- ApplicationContext配了数据源了 -->
<!-- <beans:bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<beans:property name="url" value="jdbc:mysql://localhost/spring_security?useUnicode=true&amp;characterEncoding=utf-8"/>
<beans:property name="username" value="cqyusp_dev"/>
<beans:property name="password" value="cqyusp_dev"/>
</beans:bean> --> </beans:beans>

5.mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="lqy/User.xml"/>
</mappers>
</configuration>

6.spring-servlet2.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射-->
<mvc:annotation-driven />
<!-- 启动包扫描功能,以便注册带有@Controller、@Service、@repository、@Component等注解的类成为spring的bean -->
<context:component-scan base-package="lqy" /> <!--这个包根据自己的项目来配置,我的是lqy-->
<!-- 对模型视图名称的解析,在请求时模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
</beans>

再看看java文件

User.java

package lqy;

public class User {

    private String id;
private String username;
private String password;
private String status;
private String descn;
/**
* @return 返回 id。
*/
public String getId() {
return id;
}
/**
* @param id 设置 id。
*/
public void setId(String id) {
this.id = id;
}
/**
* @return 返回 username。
*/
public String getUsername() {
return username;
}
/**
* @param username 设置 username。
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return 返回 password。
*/
public String getPassword() {
return password;
}
/**
* @param password 设置 password。
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return 返回 status。
*/
public String getStatus() {
return status;
}
/**
* @param status 设置 status。
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return 返回 descn。
*/
public String getDescn() {
return descn;
}
/**
* @param descn 设置 descn。
*/
public void setDescn(String descn) {
this.descn = descn;
} }

UserMapper.java

package lqy;

public interface  UserMapper {
public User getUser(User user);
public void addUser(User user);
}

User.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="lqy.UserMapper">
<select id="getUser" parameterType="lqy.User" resultType="lqy.User">
SELECT id,username,password,status,descn FROM user WHERE id=#{id}
</select>
<insert id="addUser" parameterType="lqy.User" flushCache="true">
INSERT INTO user (id,username,password,status,descn) VALUES (
#{id},#{username},#{password},#{status},#{descn}
)
</insert> </mapper>

WelcomeConstroller.java

package lqy;
import java.util.Collection; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; @Controller
public class WelcomeConstroller { @Autowired
private UserMapper userMapper; @RequestMapping(value = "/welcome", method = RequestMethod.GET)
public String welcome(HttpServletRequest request,Model model) {
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext()
.getAuthentication()
.getPrincipal();
Collection<? extends GrantedAuthority> authorities = userDetails.getAuthorities();
model.addAttribute("authorities", authorities.toString());
model.addAttribute("username", userDetails.getUsername());
model.addAttribute("userDetails", userDetails);
return "/hello";
} @RequestMapping(value = "/testUser", method = RequestMethod.GET)
public String testUser(HttpServletRequest request,Model model) {
User user=new User();
//添加两条数据
user.setId("11");
user.setUsername("testUser");
userMapper.addUser(user);
return "/hello";
} @SuppressWarnings("resource")
public static void main(String[] args) {
ApplicationContext ctx=null;
ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
UserMapper userMapper=(UserMapper) ctx.getBean("userMapper");
User user=new User();
//添加两条数据
user.setId("10");
user.setUsername("123");
userMapper.addUser(user);
System.out.println("添加成功"); } }

运行main方法,成功

sql建表

-- 资源
CREATE TABLE resc(
id BIGINT,
NAME VARCHAR(50),
res_type VARCHAR(50),
res_string VARCHAR(200),
priority INTEGER,
descn VARCHAR(200)
);
ALTER TABLE resc ADD CONSTRAINT pk_resc PRIMARY KEY(id);
ALTER TABLE resc MODIFY id BIGINT AUTO_INCREMENT; -- 角色
CREATE TABLE role(
id BIGINT,
NAME VARCHAR(50),
descn VARCHAR(200)
);
ALTER TABLE role ADD CONSTRAINT pk_role PRIMARY KEY(id);
ALTER TABLE role MODIFY id BIGINT AUTO_INCREMENT; -- 用户
CREATE TABLE USER(
id BIGINT,
username VARCHAR(50),
PASSWORD VARCHAR(50),
STATUS INTEGER,
descn VARCHAR(200)
);
ALTER TABLE USER ADD CONSTRAINT pk_user PRIMARY KEY(id);
ALTER TABLE USER MODIFY id BIGINT AUTO_INCREMENT; -- 资源角色连接表
CREATE TABLE resc_role(
resc_id BIGINT,
role_id BIGINT
);
ALTER TABLE resc_role ADD CONSTRAINT pk_resc_role PRIMARY KEY(resc_id, role_id);
ALTER TABLE resc_role ADD CONSTRAINT fk_resc_role_resc FOREIGN KEY(resc_id) REFERENCES resc(id);
ALTER TABLE resc_role ADD CONSTRAINT fk_resc_role_role FOREIGN KEY(role_id) REFERENCES role(id); -- 用户角色连接表
CREATE TABLE user_role(
user_id BIGINT,
role_id BIGINT
);
ALTER TABLE user_role ADD CONSTRAINT pk_user_role PRIMARY KEY(user_id, role_id);
ALTER TABLE user_role ADD CONSTRAINT fk_user_role_user FOREIGN KEY(user_id) REFERENCES USER(id);
ALTER TABLE user_role ADD CONSTRAINT fk_user_role_role FOREIGN KEY(role_id) REFERENCES role(id); INSERT INTO USER(id,username,PASSWORD,STATUS,descn) VALUES(1,'admin','admin',1,'管理员');
INSERT INTO USER(id,username,PASSWORD,STATUS,descn) VALUES(2,'user','user',1,'用户'); INSERT INTO role(id,NAME,descn) VALUES(1,'ROLE_ADMIN','管理员角色');
INSERT INTO role(id,NAME,descn) VALUES(2,'ROLE_USER','用户角色'); INSERT INTO resc(id,NAME,res_type,res_string,priority,descn) VALUES(1,'','URL','/admin.jsp',1,'');
INSERT INTO resc(id,NAME,res_type,res_string,priority,descn) VALUES(2,'','URL','/**',2,''); INSERT INTO resc_role(resc_id,role_id) VALUES(1,1);
INSERT INTO resc_role(resc_id,role_id) VALUES(2,1);
INSERT INTO resc_role(resc_id,role_id) VALUES(2,2); INSERT INTO user_role(user_id,role_id) VALUES(1,1);
INSERT INTO user_role(user_id,role_id) VALUES(1,2);
INSERT INTO user_role(user_id,role_id) VALUES(2,2);

测试输入 http://localhost:8080/spring_security_1/login.jsp

aaarticlea/png;base64,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" alt="" />

登陆成功

aaarticlea/png;base64,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" alt="" />

剩下jsp页面

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 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></title>
</head>
<body>
<h2>${username }</h2>
<h3>${authorities }</h3>
</body>
</html>

accessDenied.jsp

<%@ page contentType="text/html;charset=UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Access Denied</title>
<style type="text/css">
div.error {
width: 260px;
border: 2px solid red;
background-color: yellow;
text-align: center;
}
</style>
</head>
<body>
<h1>Access Denied</h1>
<hr>
<div class="error">
访问被拒绝<br>
${requestScope['SPRING_SECURITY_403_EXCEPTION'].message}
</div>
<hr>
</body>
</html>

admin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
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>登录首页</title>
</head>
<body>
<span color="red">登录成功!</span>
</body>
</html>

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%String path=request.getContextPath(); %>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!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>登录首页</title>
</head>
<body>
<div>username : <sec:authentication property="name"/></div>
<span color="red">登录成功!</span>
<a href="<%=path %>/welcome">welcome</a>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String path=request.getContextPath(); %>
<!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>login</title>
</head>
<body> <div class="error ${param.error == true ? '' : 'hide'}">
${sessionScope['SPRING_SECURITY_LAST_EXCEPTION'].message}
</div>
<form action="${pageContext.request.contextPath}/j_spring_security_check" method="post">
<fieldset>
<legend>登陆</legend>
用户: <input type="text" name="j_username" style="width:150px;" value="${sessionScope['SPRING_SECURITY_LAST_USERNAME']}"/><br />
密码: <input type="password" name="j_password" style="width:150px;" /><br />
<input type="checkbox" name="_spring_security_remember_me" />两周之内不必登陆<br />
<input type="submit" value="登陆"/>
<input type="reset" value="重置"/>
</fieldset>
</form>
</body>
</html>
05-07 15:47