how2j.cn

下载区
文件名 文件大小
请先登录 18m
增值内容 18m
18m
步骤 1 : 准备数据   
步骤 2 : 先运行,看到效果,再学习   
步骤 3 : 效果截图   
步骤 4 : 模仿和排错   
步骤 5 : User   
步骤 6 : UserService   
步骤 7 : UserServiceImpl   
步骤 8 : Action4Pojo   
步骤 9 : Action4Service   
步骤 10 : UserAction   
步骤 11 : listUser.jsp   
步骤 12 : 查询功能讲解   
步骤 13 : 增加,删除,修改功能   

增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
insert into user values(null,'测试用户1','password1'); insert into user values(null,'测试用户2','password2'); insert into user values(null,'测试用户3','password3'); insert into user values(null,'测试用户4','password4'); insert into user values(null,'测试用户5','password5');
insert into user values(null,'测试用户1','password1');
insert into user values(null,'测试用户2','password2');
insert into user values(null,'测试用户3','password3');
insert into user values(null,'测试用户4','password4');
insert into user values(null,'测试用户5','password5');
步骤 2 :

先运行,看到效果,再学习

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
效果截图
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.pojo; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int id; private String password; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAnonymousName(){ if(null==name) return null; if(name.length()<=1) return "*"; if(name.length()==2) return name.substring(0,1) +"*"; char[] cs =name.toCharArray(); for (int i = 1; i < cs.length-1; i++) { cs[i]='*'; } return new String(cs); } }
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.service; public interface UserService extends BaseService{ }
package com.how2java.tmall.service;

public interface UserService extends BaseService{

}
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.service.impl; import org.springframework.stereotype.Service; import com.how2java.tmall.service.UserService; @Service public class UserServiceImpl extends BaseServiceImpl implements UserService { }
package com.how2java.tmall.service.impl;

import org.springframework.stereotype.Service;

import com.how2java.tmall.service.UserService;

@Service
public class UserServiceImpl  extends BaseServiceImpl implements UserService {

}
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; import java.util.List; import com.how2java.tmall.pojo.Category; import com.how2java.tmall.pojo.Product; import com.how2java.tmall.pojo.ProductImage; import com.how2java.tmall.pojo.Property; import com.how2java.tmall.pojo.PropertyValue; import com.how2java.tmall.pojo.User; public class Action4Pojo extends Action4Pagination { protected Category category; protected Property property; protected Product product; protected ProductImage productImage; protected PropertyValue propertyValue; protected User user; protected List<Category> categorys; protected List<Property> propertys; protected List<Product> products; protected List<ProductImage> productSingleImages; protected List<ProductImage> productDetailImages; protected List<PropertyValue> propertyValues; protected List<User> users; public Category getCategory() { return category; } public void setCategory(Category category) { this.category = category; } public List<Category> getCategorys() { return categorys; } public void setCategorys(List<Category> categorys) { this.categorys = categorys; } public Property getProperty() { return property; } public void setProperty(Property property) { this.property = property; } public List<Property> getPropertys() { return propertys; } public void setPropertys(List<Property> propertys) { this.propertys = propertys; } public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public List<Product> getProducts() { return products; } public void setProducts(List<Product> products) { this.products = products; } public ProductImage getProductImage() { return productImage; } public void setProductImage(ProductImage productImage) { this.productImage = productImage; } public List<ProductImage> getProductSingleImages() { return productSingleImages; } public void setProductSingleImages(List<ProductImage> productSingleImages) { this.productSingleImages = productSingleImages; } public List<ProductImage> getProductDetailImages() { return productDetailImages; } public void setProductDetailImages(List<ProductImage> productDetailImages) { this.productDetailImages = productDetailImages; } public PropertyValue getPropertyValue() { return propertyValue; } public void setPropertyValue(PropertyValue propertyValue) { this.propertyValue = propertyValue; } public List<PropertyValue> getPropertyValues() { return propertyValues; } public void setPropertyValues(List<PropertyValue> propertyValues) { this.propertyValues = propertyValues; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } }
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; import java.lang.reflect.Method; import org.apache.commons.lang3.text.WordUtils; import org.springframework.beans.factory.annotation.Autowired; import com.how2java.tmall.service.CategoryService; import com.how2java.tmall.service.ProductImageService; import com.how2java.tmall.service.ProductService; import com.how2java.tmall.service.PropertyService; import com.how2java.tmall.service.PropertyValueService; import com.how2java.tmall.service.UserService; public class Action4Service extends Action4Pojo{ @Autowired CategoryService categoryService; @Autowired PropertyService propertyService; @Autowired ProductService productService; @Autowired ProductImageService productImageService; @Autowired PropertyValueService propertyValueService; @Autowired UserService userService; /** * transient to persistent * 瞬时对象转换为持久对象 * @param o */ public void t2p(Object o){ try { Class clazz = o.getClass(); int id = (Integer) clazz.getMethod("getId").invoke(o); Object persistentBean = categoryService.get(clazz, id); String beanName = clazz.getSimpleName(); Method setMethod = getClass().getMethod("set" + WordUtils.capitalize(beanName), clazz); setMethod.invoke(this, persistentBean); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; import org.apache.struts2.convention.annotation.Action; import com.how2java.tmall.util.Page; public class UserAction extends Action4Result { @Action("admin_user_list") public String list() { if(page==null) page = new Page(); int total = userService.total(); page.setTotal(total); users = userService.listByPage(page); return "listUser"; } }
package com.how2java.tmall.action;

import org.apache.struts2.convention.annotation.Action;

import com.how2java.tmall.util.Page;

public class UserAction extends Action4Result {
	
	@Action("admin_user_list")
	public String list() {
		if(page==null)
			page = new Page();
		int total = userService.total();
		page.setTotal(total);
		users = userService.listByPage(page);
		return "listUser";
	}
}
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@include file="../include/admin/adminHeader.jsp"%> <%@include file="../include/admin/adminNavigator.jsp"%> <script> $(function(){ $("#addForm").submit(function(){ if(checkEmpty("name","用户名称")) return true; return false; }); }); </script> <title>用户管理</title> <div class="workingArea"> <h1 class="label label-info" >用户管理</h1> <br> <br> <div class="listDataTableDiv"> <table class="table table-striped table-bordered table-hover table-condensed"> <thead> <tr class="success"> <th>ID</th> <th>用户名称</th> </tr> </thead> <tbody> <c:forEach items="${users}" var="u"> <tr> <td>${u.id}</td> <td>${u.name}</td> </tr> </c:forEach> </tbody> </table> </div> <div class="pageDiv"> <%@include file="../include/admin/adminPage.jsp" %> </div> </div> <%@include file="../include/admin/adminFooter.jsp"%>
步骤 12 :

查询功能讲解

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
查询功能讲解
public String list() { if(page==null) page = new Page(); int total = userService.total(); page.setTotal(total); users = userService.listByPage(page); return "listUser"; }
	
	public String list() {
		if(page==null)
			page = new Page();
		int total = userService.total();
		page.setTotal(total);
		users = userService.listByPage(page);
		return "listUser";
	}
<c:forEach items="${users}" var="u"> <tr> <td>${u.id}</td> <td>${u.name}</td> </tr> </c:forEach>

				<c:forEach items="${users}" var="u">
				
				<tr>
					<td>${u.id}</td>
					<td>${u.name}</td>
				</tr>
				</c:forEach>
步骤 13 :

增加,删除,修改功能

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2019-09-12 这段代码好像没用的吧。。。。。
俗人




<script> $(function(){ $("#addForm").submit(function(){ if(checkEmpty("name","用户名称")) return true; return false; }); });
<script>
$(function(){
     
    $("#addForm").submit(function(){
        if(checkEmpty("name","用户名称"))
            return true;
        return false;
    });
});

							


1 个答案

how2j
答案时间:2019-09-13
e ? 是的,没有用到



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-04-07 才想起这几点
sharpo

增加交由前台用户注册功能 删除不提供(用户信息是最重要的资料) 修改不提供,应该由前台用户自己完成 一股脑的下来才发现这几个点自己居然没考虑到- -




1 个答案

how2j
答案时间:2019-04-08
经验就是这样一点一滴积累的嘛



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2019-03-20 站长,为什么我用户管理是乱码?




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 已下架实践项目-天猫整站SSH-用户管理 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图