哈喽铁子们保持发型SpringMVC的上传下载先看看目录
、
目录
- "1.0" encoding="UTF-8"?>
-
"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/xsd/maven-4.0.0.xsd">
-
-
mybatis001 -
org.example -
1.0-SNAPSHOT -
-
4.0.0 -
-
ssm2 -
war -
-
ssm2 Maven Webapp -
-
http://www.example.com -
-
-
UTF-8 -
1.8 -
1.8 -
3.7.0 -
-
-
-
5.0.2.RELEASE -
-
3.4.5 -
-
5.1.44 -
-
5.1.2 -
-
1.3.1 -
-
2.1.1 -
2.4.3 -
-
2.9.1 -
-
4.12 -
4.0.0 -
1.18.2 -
-
-
-
-
-
org.springframework -
spring-context -
${spring.version} -
-
-
org.springframework -
spring-orm -
${spring.version} -
-
-
org.springframework -
spring-tx -
${spring.version} -
-
-
org.springframework -
spring-aspects -
${spring.version} -
-
-
org.springframework -
spring-web -
${spring.version} -
-
-
org.springframework -
spring-test -
${spring.version} -
-
-
-
-
org.mybatis -
mybatis -
${mybatis.version} -
-
-
-
mysql -
mysql-connector-java -
${mysql.version} -
-
-
-
com.github.pagehelper -
pagehelper -
${pagehelper.version} -
-
-
-
org.mybatis -
mybatis-spring -
${mybatis.spring.version} -
-
-
-
-
org.apache.commons -
commons-dbcp2 -
${commons.dbcp2.version} -
-
-
org.apache.commons -
commons-pool2 -
${commons.pool2.version} -
-
-
-
-
-
org.apache.logging.log4j -
log4j-core -
${log4j2.version} -
-
-
org.apache.logging.log4j -
log4j-api -
${log4j2.version} -
-
-
-
org.apache.logging.log4j -
log4j-web -
${log4j2.version} -
-
-
-
-
junit -
junit -
${junit.version} -
test -
-
-
javax.servlet -
javax.servlet-api -
${servlet.version} -
provided -
-
-
org.projectlombok -
lombok -
${lombok.version} -
provided -
-
-
org.springframework -
spring-webmvc -
${spring.version} -
-
-
-
-
javax.servlet.jsp -
javax.servlet.jsp-api -
2.3.3 -
-
-
jstl -
jstl -
1.2 -
-
-
taglibs -
standard -
1.1.2 -
-
-
-
commons-fileupload -
commons-fileupload -
1.3.3 -
-
-
-
-
-
ssm2 -
-
-
-
src/main/java -
-
**/*.xml -
-
-
-
-
src/main/resources -
-
jdbc.properties -
*.xml -
-
-
-
-
-
-
-
-
org.apache.maven.plugins -
maven-compiler-plugin -
${maven.compiler.plugin.version} -
-
${maven.compiler.source} -
${maven.compiler.target} -
${project.build.sourceEncoding} -
-
-
-
org.mybatis.generator -
mybatis-generator-maven-plugin -
1.3.2 -
-
-
-
mysql -
mysql-connector-java -
${mysql.version} -
-
-
-
true -
-
-
-
-
maven-clean-plugin -
3.1.0 -
-
-
-
maven-resources-plugin -
3.0.2 -
-
-
maven-compiler-plugin -
3.8.0 -
-
-
maven-surefire-plugin -
2.22.1 -
-
-
maven-war-plugin -
3.2.2 -
-
-
maven-install-plugin -
2.5.2 -
-
-
maven-deploy-plugin -
2.8.2 -
-
-
-
springmvc-servlet.xml
- "1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
-
-
-
-
package="com.tsq"/> -
-
-
-
-
-
-
-
"org.springframework.web.servlet.view.InternalResourceViewResolver"> -
-
"viewClass" - value="org.springframework.web.servlet.view.JstlView">
-
"prefix" value="/"/> -
"suffix" value=".jsp"/> -
-
generatorConfig.xml
- "1.0" encoding="UTF-8" ?>
- "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
- "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" >
-
-
"jdbc.properties"/> -
-
-
"E:\\maven\\maven_ localRepository\\mysql\\mysql-connector-java\5.1.44\\mysql-connector-java-5.1.44.jar"/> -
-
-
"infoGuardian"> -
-
-
"suppressAllComments" value="true"/> -
"suppressDate" value="true"/> -
-
-
-
"${jdbc.driver}" - connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"/>
-
-
-
-
-
"forceBigDecimals" value="false"/> -
-
-
-
-
-
"com.tsq.model" - targetProject="src/main/java">
-
-
"enableSubPackages" value="false"/> -
-
"constructorBased" value="true"/> -
-
"trimStrings" value="false"/> -
-
"immutable" value="false"/> -
-
-
-
"com.tsq.mapper" - targetProject="src/main/java">
-
-
"enableSubPackages" value="false"/> -
-
-
-
-
-
-
"com.tsq.mapper" - targetProject="src/main/java" type="XMLMAPPER">
-
-
"enableSubPackages" value="false"/> -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
"" tableName="t_struts_class" domainObjectName="Clazz"- enableCountByExample="false" enableDeleteByExample="false"
- enableSelectByExample="false" enableUpdateByExample="false">
-
-
-
-
applicationContext-mybatis.xml
- "1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
-
-
-
-
-
package="com.tsq"/> -
-
"classpath:jdbc.properties"/> -
-
"dataSource" class="org.apache.commons.dbcp2.BasicDataSource" - destroy-method="close">
-
"driverClassName" value="${jdbc.driver}"/> -
"url" value="${jdbc.url}"/> -
"username" value="${jdbc.username}"/> -
"password" value="${jdbc.password}"/> -
-
"initialSize" value="10"/> -
-
"maxTotal" value="100"/> -
-
"maxIdle" value="50"/> -
-
"minIdle" value="10"/> -
-
-
"maxWaitMillis" value="-1"/> -
-
-
-
-
"sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> -
-
"dataSource" ref="dataSource"/> -
-
"mapperLocations" value="classpath*:com/tsq/**/mapper/*.xml"/> -
-
"typeAliasesPackage" value="com/tsq/**/model"/> -
-
"plugins"> -
-
"com.github.pagehelper.PageInterceptor"> -
"properties"> -
- helperDialect=mysql
-
-
-
-
-
-
-
-
-
-
-
-
-
"/> -
" value=" sqlSessionFactory"/> -
-
-
" class=" org.springframework.jdbc.datasource.DataSourceTransactionManager"> -
" ref=" dataSource" /> -
-
" /> -
applicationContext.xml
- "1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
-
- <import resource="applicationContext-mybatis.xml">import>
"http://xmlns.jcp.org/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- version="3.1">
-
Archetype Created Web Application -
-
contextConfigLocation -
classpath:applicationContext.xml -
-
-
-
org.springframework.web.context.ContextLoaderListener -
-
-
-
-
SpringMVC -
org.springframework.web.servlet.DispatcherServlet -
-
-
contextConfigLocation -
/WEB-INF/springmvc-servlet.xml -
-
1 -
-
true -
-
-
SpringMVC -
/ -
-
-
-
-
encodingFilter -
org.springframework.web.filter.CharacterEncodingFilter -
-
true -
-
encoding -
UTF-8 -
-
-
-
encodingFilter -
/* -
PageTag .java
- package com.tsq.util;
-
- import java.io.IOException;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.Set;
-
- import javax.servlet.jsp.JspException;
- import javax.servlet.jsp.JspWriter;
- import javax.servlet.jsp.tagext.BodyTagSupport;
-
-
- public class PageTag extends BodyTagSupport{
- private PageBean pageBean;// 包含了所有分页相关的元素
-
- public PageBean getPageBean() {
- return pageBean;
- }
-
- public void setPageBean(PageBean pageBean) {
- this.pageBean = pageBean;
- }
-
- @Override
- public int doStartTag() throws JspException {
- // 没有标签体,要输出内容
- JspWriter out = pageContext.getOut();
- try {
- out.print(toHTML());
- } catch (IOException e) {
- e.printStackTrace();
- }
- return super.doStartTag();
- }
-
- private String toHTML() {
- StringBuffer sb = new StringBuffer();
- // 隐藏的form表单---这个就是上一次请求下次重新发的奥义所在
- // 上一次请求的URL
- sb.append(");
- sb.append(" ");
- // 上一次请求的参数
- Map
paramMap = pageBean.getParamMap(); - if(paramMap != null && paramMap.size() > 0) {
- Set
> entrySet = paramMap.entrySet(); - for (Entry
entry : entrySet) { - // 参数名
- String key = entry.getKey();
- // 参数值
- for (String value : entry.getValue()) {
- // 上一次请求的参数,再一次组装成了新的Form表单
- // 注意:page参数每次都会提交,我们需要避免
- if(!"page".equals(key)) {
- sb.append(" ");
- }
- }
- }
- }
- sb.append("");
-
- // 分页条
- sb.append("
"
); - sb.append("
- );
- sb.append(" href='javascript:gotoPage(1)'>首页");
- sb.append("
- );
- sb.append(" href='javascript:gotoPage("+pageBean.previousPage()+")'><");// less than 小于号
- // sb.append("
- 1
"); - // sb.append("
- 2
"); - sb.append("
- "
+pageBean.getPage()+""); - sb.append("
- >
"); - sb.append("
- 尾页
"); - sb.append("
- 到第);
- sb.append(" type='text' id='skipPage' name='' />页");
- sb.append("
- );
- sb.append(" hreff='javascript:skipPage()'>确定");
- sb.append("
- 共"
+pageBean.getTotal()+"条"); - sb.append("");
-
- // 分页执行的JS代码
- sb.append("");
-
- return sb.toString();
- }
- }
StringUtils .xml
- package com.tsq.util;
-
- public class StringUtils {
- // 私有的构造方法,保护此类不能在外部实例化
- private StringUtils() {
- }
-
- /**
- * 如果字符串等于null或去空格后等于"",则返回true,否则返回false
- *
- * @param s
- * @return
- */
- public static boolean isBlank(String s) {
- boolean b = false;
- if (null == s || s.trim().equals("")) {
- b = true;
- }
- return b;
- }
-
- /**
- * 如果字符串不等于null或去空格后不等于"",则返回true,否则返回false
- *
- * @param s
- * @return
- */
- public static boolean isNotBlank(String s) {
- return !isBlank(s);
- }
-
- }
PageBean .java
- package com.tsq.util;
-
- import java.util.HashMap;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
-
- /**
- * 分页工具类
- *
- */
- public class PageBean {
-
- private int page = 1;// 页码
-
- private int rows = 10;// 页大小
-
- private int total = 0;// 总记录数
-
- private boolean pagination = true;// 是否分页
-
- private String url; //保存上一次请求的URL
-
- private Map
paramMap = new HashMap<>();// 保存上一次请求的参数 -
- /**
- * 初始化pagebean的,保存上一次请求的重要参数
- * @param req
- */
- public void setRequest(HttpServletRequest req) {
- // 1.1 需要保存上一次请求的URL
- this.setUrl(req.getRequestURL().toString());
- // 1.2 需要保存上一次请求的参数 bname、price
- this.setParamMap(req.getParameterMap());
- // 1.3 需要保存上一次请求的分页设置 pagination
- this.setPagination(req.getParameter("pagination"));
- // 1.4 需要保存上一次请求的展示条目数
- this.setRows(req.getParameter("rows"));
- // 1.5 初始化请求的页码 page
- this.setPage(req.getParameter("page"));
- }
-
- public void setPage(String page) {
- if(StringUtils.isNotBlank(page))
- this.setPage(Integer.valueOf(page));
- }
-
- public void setRows(String rows) {
- if(StringUtils.isNotBlank(rows))
- this.setRows(Integer.valueOf(rows));
- }
-
- public void setPagination(String pagination) {
- // 只有在前台jsp填写了pagination=false,才代表不分页
- if(StringUtils.isNotBlank(pagination))
- this.setPagination(!"false".equals(pagination));
- }
-
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public Map
getParamMap() { - return paramMap;
- }
-
- public void setParamMap(Map
paramMap) { - this.paramMap = paramMap;
- }
-
-
-
- public PageBean() {
- super();
- }
-
- public int getPage() {
- return page;
- }
-
- public void setPage(int page) {
- this.page = page;
- }
-
- public int getRows() {
- return rows;
- }
-
- public void setRows(int rows) {
- this.rows = rows;
- }
-
- public int getTotal() {
- return total;
- }
-
- public void setTotal(int total) {
- this.total = total;
- }
-
- public void setTotal(String total) {
- this.total = Integer.parseInt(total);
- }
-
- public boolean isPagination() {
- return pagination;
- }
-
- public void setPagination(boolean pagination) {
- this.pagination = pagination;
- }
-
- /**
- * 获得起始记录的下标
- *
- * @return
- */
- public int getStartIndex() {
- return (this.page - 1) * this.rows;
- }
-
- /**
- * 最大页
- * @return
- */
- public int maxPage() {
- // total % rows == 0 ? total / rows : total / rows +1
- return this.total % this.rows == 0 ? this.total / this.rows : this.total / this.rows + 1;
- }
-
- /**
- * 下一页
- * @return
- */
- public int nextPage() {
- // 如果当前页小于最大页,那就下一页为当前页+1;如果不小于,说明当前页就是最大页,那就无需+1
- return this.page < this.maxPage() ? this.page + 1 : this.page;
- }
-
- /**
- * 上一页
- * @return
- */
- public int previousPage() {
- return this.page > 1 ? this.page - 1 : this.page;
- }
-
- @Override
- public String toString() {
- return "PageBean [page=" + page + ", rows=" + rows + ", total=" + total + ", pagination=" + pagination + "]";
- }
-
- }
zking.tld
- "1.0" encoding="UTF-8" ?>
-
"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-jsptaglibrary_2_0.xsd"
- version="2.0">
-
-
zking 1.1 core library -
zking core -
1.1 - <short-name>zkingshort-name>
-
http://jsp.veryedu.cn -
-
-
-
page -
com.cxy.util.PageTag -
JSP -
-
pageBean -
true -
true -
-
-
Clazz.java
- package com.tsq.model;
-
- public class Clazz {
- protected Integer cid;
-
- protected String cname;
-
- protected String cteacher;
-
- protected String pic;
-
- public Clazz(Integer cid, String cname, String cteacher, String pic) {
- this.cid = cid;
- this.cname = cname;
- this.cteacher = cteacher;
- this.pic = pic;
- }
-
- public Clazz() {
- super();
- }
-
- public Integer getCid() {
- return cid;
- }
-
- public void setCid(Integer cid) {
- this.cid = cid;
- }
-
- public String getCname() {
- return cname;
- }
-
- public void setCname(String cname) {
- this.cname = cname;
- }
-
- public String getCteacher() {
- return cteacher;
- }
-
- public void setCteacher(String cteacher) {
- this.cteacher = cteacher;
- }
-
- public String getPic() {
- return pic;
- }
-
- public void setPic(String pic) {
- this.pic = pic;
- }
- }
ClazzMapper.java
- package com.tsq.mapper;
-
- import com.tsq.model.Clazz;
- import com.tsq.util.PageBean;
- import org.springframework.stereotype.Repository;
-
- import java.util.List;
-
- @Repository
- public interface ClazzMapper {
- int deleteByPrimaryKey(Integer cid);
-
- int insert(Clazz record);
-
- int insertSelective(Clazz record);
-
- Clazz selectByPrimaryKey(Integer cid);
-
- int updateByPrimaryKeySelective(Clazz record);
-
- int updateByPrimaryKey(Clazz record);
-
- List
listPager(Clazz record); -
- }
ClazzMapper.xml
- "1.0" encoding="UTF-8" ?>
- "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
"com.tsq.mapper.ClazzMapper" > -
"BaseResultMap" type="com.tsq.model.Clazz" > -
-
"cid" jdbcType="INTEGER" javaType="java.lang.Integer" /> -
"cname" jdbcType="VARCHAR" javaType="java.lang.String" /> -
"cteacher" jdbcType="VARCHAR" javaType="java.lang.String" /> -
"pic" jdbcType="VARCHAR" javaType="java.lang.String" /> -
-
-
"Base_Column_List" > - cid, cname, cteacher, pic
-
-
-
- select
-
"Base_Column_List" /> - from t_struts_class
-
- <if test="cname != null and cname !=''">
- and cname like CONCAT('%',#{cname},'%')
- if>
- <if test="cid != null and cid !=''">
- and cid =#{cid}
- if>
-
-
-
-
- select
-
"Base_Column_List" /> - from t_struts_class
- where cid = #{cid,jdbcType=INTEGER}
-
-
"deleteByPrimaryKey" parameterType="java.lang.Integer" > - delete from t_struts_class
- where cid = #{cid,jdbcType=INTEGER}
-
-
"insert" parameterType="com.tsq.model.Clazz" > - insert into t_struts_class (cid, cname, cteacher,
- pic)
- values (#{cid,jdbcType=INTEGER}, #{cname,jdbcType=VARCHAR}, #{cteacher,jdbcType=VARCHAR},
- #{pic,jdbcType=VARCHAR})
-
-
"insertSelective" parameterType="com.tsq.model.Clazz" > - insert into t_struts_class
-
"(" suffix=")" suffixOverrides="," > - <if test="cid != null" >
- cid,
- if>
- <if test="cname != null" >
- cname,
- if>
- <if test="cteacher != null" >
- cteacher,
- if>
- <if test="pic != null" >
- pic,
- if>
-
-
"values (" suffix=")" suffixOverrides="," > - <if test="cid != null" >
- #{cid,jdbcType=INTEGER},
- if>
- <if test="cname != null" >
- #{cname,jdbcType=VARCHAR},
- if>
- <if test="cteacher != null" >
- #{cteacher,jdbcType=VARCHAR},
- if>
- <if test="pic != null" >
- #{pic,jdbcType=VARCHAR},
- if>
-
-
-
"updateByPrimaryKeySelective" parameterType="com.tsq.model.Clazz" > - update t_struts_class
-
- <if test="cname != null" >
- cname = #{cname,jdbcType=VARCHAR},
- if>
- <if test="cteacher != null" >
- cteacher = #{cteacher,jdbcType=VARCHAR},
- if>
- <if test="pic != null" >
- pic = #{pic,jdbcType=VARCHAR},
- if>
-
- where cid = #{cid,jdbcType=INTEGER}
-
-
"updateByPrimaryKey" parameterType="com.tsq.model.Clazz" > - update t_struts_class
- set cname = #{cname,jdbcType=VARCHAR},
- cteacher = #{cteacher,jdbcType=VARCHAR},
- pic = #{pic,jdbcType=VARCHAR}
- where cid = #{cid,jdbcType=INTEGER}
-
ClazzBiz.xml
- package com.tsq.biz;
-
- import com.tsq.model.Clazz;
- import com.tsq.util.PageBean;
-
- import java.util.List;
-
- public interface ClazzBiz {
- int deleteByPrimaryKey(Integer cid);
-
- int insert(Clazz record);
-
- int insertSelective(Clazz record);
-
- Clazz selectByPrimaryKey(Integer cid);
-
- int updateByPrimaryKeySelective(Clazz record);
-
- int updateByPrimaryKey(Clazz record);
-
- List
listPager(Clazz record, PageBean pageBean); - }
ClazzBizImpl.java
- package com.tsq.biz.impl;
-
- import com.tsq.biz.ClazzBiz;
- import com.tsq.mapper.ClazzMapper;
- import com.tsq.model.Clazz;
- import com.tsq.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- import java.util.List;
- @Service
- public class ClazzBizImpl implements ClazzBiz {
- @Autowired
- private ClazzMapper clazzMapper;
-
- @Override
- public int deleteByPrimaryKey(Integer cid) {
- return clazzMapper.deleteByPrimaryKey(cid);
- }
-
- @Override
- public int insert(Clazz record) {
- return clazzMapper.insert(record);
- }
-
- @Override
- public int insertSelective(Clazz record) {
- return clazzMapper.insertSelective(record);
- }
-
- @Override
- public Clazz selectByPrimaryKey(Integer cid) {
- return clazzMapper.selectByPrimaryKey(cid);
- }
-
- @Override
- public int updateByPrimaryKeySelective(Clazz record) {
- return clazzMapper.updateByPrimaryKeySelective(record);
- }
-
- @Override
- public int updateByPrimaryKey(Clazz record) {
- return clazzMapper.updateByPrimaryKey(record);
- }
-
- @Override
- public List
listPager(Clazz record, PageBean pageBean) { - return clazzMapper.listPager(record);
- }
-
-
- }
ClazzController .java
- package com.tsq.controller;
-
- import com.tsq.biz.ClazzBiz;
- import com.tsq.model.Clazz;
- import com.tsq.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
-
-
- import javax.servlet.http.HttpServletRequest;
- import java.util.List;
-
- @Controller
- @RequestMapping("/clz")
- public class ClazzController {
- @Autowired
- private ClazzBiz clazzBiz;
-
- @RequestMapping("/list")
- public String list(Clazz clazz, HttpServletRequest request){
- PageBean pageBean = new PageBean();
- pageBean.setRequest(request);
- List
list = this.clazzBiz.listPager(clazz,pageBean); - request.setAttribute("lst",list);
- request.setAttribute("pageBean",pageBean);
- return "clzList";
- }
-
- @RequestMapping("/toEdit")
- public String toEdit(Clazz clazz, HttpServletRequest request){
- Integer cid = clazz.getCid();
- if(cid!=null){
- List
lst = this.clazzBiz.listPager(clazz, null); - request.setAttribute("b",lst.get(0));
- }
- return "clzEdit";
- }
-
- @RequestMapping("/add")
- public String add(Clazz clazz, HttpServletRequest request){
- this.clazzBiz.insertSelective(clazz);
- return "redirect:/clz/list";
- }
-
- @RequestMapping("/del")
- public String delete(Clazz clazz, HttpServletRequest request){
- this.clazzBiz.deleteByPrimaryKey(clazz.getCid());
- return "redirect:/clz/list";
- }
-
- @RequestMapping("/edit")
- public String edit(Clazz clazz, HttpServletRequest request){
- this.clazzBiz.updateByPrimaryKeySelective(clazz);
- return "redirect:/clz/list";
- }
-
- }
clzList.jsp(主界面)
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib uri="http://jsp.veryedu.cn" prefix="z"%>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
- "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- "Content-Type" content="text/html; charset=UTF-8">
-
- href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"
- rel="stylesheet">
-
- src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.js">
-
班级列表 -
- action="${pageContext.request.contextPath }/clz/list" method="post">
- "form-group mb-2">
- "text" class="form-control-plaintext" name="cname"
- placeholder="请输入班级名称">
-
-
- "pagination" value="false" type="hidden">
-
-
-
"table table-striped bg-success">-
-
-
"col">ID -
"col">名字 -
"col">教师 -
"col">图片 -
"col">操作 -
-
-
-
var="b" items="${lst }"> -
-
${b.cid } -
${b.cname } -
${b.cteacher } -
${b.pic} -
-
-
"${pageBean }"> -
结果如下
clzEdit.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- "Content-Type" content="text/html; charset=UTF-8">
-
班级编辑界面 - cid:"text" name="cid" value="${b.cid }">
- cname:"text" name="cname" value="${b.cname }">
- cteacher:"text" name="cteacher" value="${b.cteacher }">
- "submit">
二、图片上传
1、步骤
1、springmvc.xml中添加多功能解析器配置
2、前台的页面 添加 多功能表单设置 multipart/form-data
3、后台要利用multipartFile类进行 文件接收
注:multipartFile的属性名一定要跟form中的表单属性名一致
4、在idea中完成图片请求地址与硬盘中地址的映射关系
2、导pom依赖
-
commons-fileupload -
commons-fileupload -
1.3.3
3、springmvc-servlet.xml配置
"multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> -
-
"defaultEncoding" value="UTF-8"> -
-
"maxUploadSize" value="52428800"> -
-
"resolveLazily" value="true"/> -
4、Dto编写
Dto:接收参数,参数不仅仅存在于实体类Model中。
- package com.tsq.util;
-
- import com.tsq.model.Clazz;
- import org.springframework.web.multipart.MultipartFile;
-
- public class ClazzDto extends Clazz {
- private MultipartFile picFile;
-
- public MultipartFile getPicFile() {
- return picFile;
- }
-
- public void setPicFile(MultipartFile picFile) {
- this.picFile = picFile;
- }
- }
将clazz.java 里的属性private 改为 protected
5、编写ClazzController.java
- // 文件上传
- @RequestMapping("/upload")
- public String upload(ClazzDto clazzDto){
- try {
- //前台上传的文件
- MultipartFile picFile = clazzDto.getPicFile();
- //实际应该配置到resource.properties中
- String diskPath="E:/temp/images/";//图片存放地址
- //http://localhost:8080/upload/mvc/...png
- String requestPath="/upload/mvc/";//数据库保存地址,也是访问地址
-
- //拿到上传文件的名字
- String filename = picFile.getOriginalFilename();
- FileUtils.copyInputStreamToFile(picFile.getInputStream(),new File(diskPath+filename));
-
- //将图片上传图片之后,并且将图片地址更新到数据库中
- Clazz clazz=new Clazz();
- clazz.setCid(clazzDto.getCid());
- clazz.setPic(requestPath+filename);
-
- this.clazzBiz.updateByPrimaryKeySelective(clazz);
- }catch (Exception e){
- e.printStackTrace();
- }
- return "redirect:/clz/list";
- }
三、下载
1、步骤
1、点击下载传递文件的ID,通过文件的ID查询出文件的路径
2、通过文件的请求地址,转换成文件存放的硬盘地址
3、将硬盘中文件下载下来——>固定代码
- //文件下载
- @RequestMapping("/download")
- public ResponseEntity download(ClazzDto clazzDto){
- try {
- //1、点击下载传递文件的ID,通过文件的ID查询出文件的路径
- Clazz clazz = this.clazzBiz.selectByPrimaryKey(clazzDto.getCid());
- String pic=clazz.getPic();//
- String diskPath = "F:/刘昊然图片/";
- String requestPath = "/upload/mvc/";
-
- //2、通过文件的请求地址,转换成文件存放的硬盘地址
- String realPath = pic.replace(requestPath, diskPath);
- String fileName = realPath.substring(realPath.lastIndexOf("/")+1);
-
- // 3、将硬盘中文件下载下来——>固定代码
- File file=new File(realPath);
- HttpHeaders headers = new HttpHeaders();//http头信息
- String downloadFileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1");//设置编码
- headers.setContentDispositionFormData("attachment", downloadFileName);
- headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
- //MediaType:互联网媒介类型 contentType:具体请求中的媒体类型信息
- return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);
-
- }catch (Exception e){
- e.printStackTrace();
- }
- return null;
- }
哈喽铁子们今天分享SpringMVC我们下次见
-
相关阅读:
Java 编程问题:一、字符串、数字和数学
css和js放置的位置
分库分表实战
ansible 的安装及常见模块使用
java.lang.unsupportedClassVersionError
【数据结构与算法】十大经典排序算法
中国农业大学:学硕11408复试线上涨40分,今年还会持续涨吗?中国农业大学计算机考研考情分析!
UE5中一机一码功能
密码学系列7-变幻多端的安全性证明
Cheat Engine.exe修改植物大战僵尸阳光与冷却
-
原文地址:https://blog.csdn.net/weixin_65565181/article/details/126416406