-
Javaweb实训项目
2019-12-05 11:40:27一 测试userdaoimpl 1. 测试login方法 2. 测试插入用户 3. 测试删除用户 4 测试更新用户 5 测试ID查找用户 6 测试按照用户名查找用户 7 测试查找全部用户 二 测试CategoryDaoImpl ......一 测试userdaoimpl
1. 测试login方法
2. 测试插入用户
3. 测试删除用户
4 测试更新用户
5 测试ID查找用户
6 测试按照用户名查找用户
7 测试查找全部用户
二 测试CategoryDaoImpl
1 测试插入
id因为是自增,所有为什么是7
2 测试删除
3 测试更新
4 测试查找
5 测试查找全部
三 测试ProductDaoImpl
1 测试插入
2 测试删除
3 测试更新
4 测试查找
5 测试按照findByCategoryId查找
6 测试查找all
四 测试OrderDaoImpl
1 测试插入
2 测试删除
3 测试更新
4 测试查找
5 测试查找最后一个
6 测试查找全部
五 测试userservice
1 测试添加用户
2 测试删除
3 测试更新
4 测试查找
5 测试查找按照姓名
6 测试查找全部
7 测试登录
六 测试CategoryService
1 测试添加
2 测试删除
3 测试更新
4 测试查找安id
5 测试查找全部
七 测试ProductService
1 测试添加
2 测试删除
3 测试更新
4 测试查找id
5 测试findProductsByCategoryId
6 测试查找全部
八 测试OrderService
1 测试添加
2 测试删除
3 测试更新
4 测试查找安id
5 测试findLastOrder
6 测试查找全部
以上是全部测试内容,还有问题数据库编码和乱码问题!!!
-
JavaWeb实训项目:网上购书城平台系统
2019-06-18 19:13:18文章目录JavaWeb实训项目:购书城部署Tomcat服务器简介:Tomcat下载及配置设置Tomcat热部署修改Tomcat终端窗口的名字Tomcat终端乱码问题Tomcat初步使用Idea创建Maven项目流程IDEA 配置Tomcat测试 JavaWeb实训项目:...文章目录
JavaWeb实训项目:网上购书城平台系统
这是应付学校实训写的辣鸡项目,用的是Servlet+JSP这样过时的技术。。。无聊的话可以看下,源码链接:here
部署Tomcat服务器
简介:
Tomcat目录结构 bin 一些启动/关闭脚本,运行Tomcat的可执行程序和相关内容 conf Tomcat服务器的配置文件,包括 server.xml(Tomcat的主要配置文件)和为不同的Tomcat配置的web应用设置缺省值的文件web.xml lib Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。unix平台此目录下的任何文件都被加到Tomcat的classpath中 logs Tomcat的日志文件 temp 存放临时文件 webapps 默认的站点根目录(可以更改)。当发布web应用时,默认情况下把web文件夹放于此目录下 work Tomcat自动生成,用于在服务器运行时过度的临时文件,就是存储jsp、servlet翻译、编译后的结果。如在Tomcat运行时删除此目录,JSP页面将不能运行, jsp生成的sevlet放在此目录下
Tomcat常用端口号 (ps:修改了这三个端口号,就可以在一台主机上启动多个Tomcat了 8005 Tomcat 监听的关闭端口 8080 Tomcat的服务端口 8009 接受其他服务器转发过来的请求 如果你想要运行多个Tomcat,就修改其他Tomcat的端口号使之不重复即可
修改文件位置:apache-tomcat-9.0.21\conf\server.xml
Tomcat环境编码设置(可选)
还是上面那个文件,添加内容:
URIEncoding="UTF-8"
Tomcat下载及配置
在的官方网站下载Tomcat。下载最新的解压版本后,本地直接解压即可。建议下载8或9版本。
配置环境变量:
的环境变量默认大家都配置好了。
的环境变量:变量名:
CATALINA_HOME
,变量值(你的解压目录):E:\ashixun\apache-tomcat-9.0.21
启动Tomcat:
在目录
apache-tomcat-9.0.21\bin
下双击startup.bat文件或者命令行输入startup
或start tomcat9.exe
或者catalina run
都可以。输入网址:
localhost:8080
看是否启动成功,成功界面如下:设置Tomcat热部署
如何我们修改了文件,可以让自动重启生效;
修改文件位置:
apache-tomcat-9.0.21\conf\server.xml
在
<host></host>
内部添加<context/>
标签:<Context debug="0" docBase="D:\test\demo" path="/demo" reloadable="true"/>
docBase
:项目路径,可以使用绝对路径或相对路径,相对路径是相对于
path
:访问项目的路径
reloadable
:是否自动加载新增或改变的文件
debug
:属性与这个关联的记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为0。 也就是程序异常时写入日志文件里的详细程度。修改Tomcat终端窗口的名字
文件位置:
apache-tomcat-9.0.21\bin\catalina.bat
Tomcat终端乱码问题
问题原因在tomcat默认是UTF-8编码,而win的终端默认是GBK编码。
解决:找到如下
logging.properties
文件,将第51行的控制台UTF-8编码改为GBK即可。
Tomcat初步使用
参考:purplestone,http简介,其他
点击以下超链接,出现登录窗口,然后点击取消。
会弹出这个页面,复制以下代码到comf/tomcat-users.xml
,再进行登录即可进入管理页面。
<role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/>
可以看到当前有哪些项目部署在tomcat ,也可以从这里进入某个项目中
http://localhost:8080/manager/html
IDEA创建Maven项目
流程
新建项目,那个
create from archetype
暂时不用选。
(一般是公司域名的倒写)和(一般是你的项目名字)被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到本地仓库去,你想要找到你的项目就必须根据这两个去查找。添加项目,右键项目
Add Framework Support
然后就出现了一个web项目如下:
IDEA 配置Tomcat
点击界面
Run
,然后选择Run...
,再点Edit Configurations...
(你的应该不会显示bookcity
这一项的,因为我之前编辑过所以有,你执行完以下步骤就有了)然后点
+
号,找到最下面的Tomcat Server
。先选中你的服务器,然后修改URL,设置项目发布路径,即虚拟路径。
点击
Deployment
,注意保持Application context内容和前面虚拟路径内容相同,我这里都是bookcity
确认后返回。点击界面Run
,然后选择Run...
,再点bookcity
运行,默认浏览器就会打开一个界面,显示index.jsp
的网页效果。
需要注意的是此时发布的项目其目录为localhost:8080/bookcity
,而项目的根目录即localhost:8080
为中自带的项目,具体原因涉及到的配置文件。测试
在
src->main->java
下新建一个包com.demo.servlet
,然后在此包下新建一个HelloServlet
类首先让
HelloServlet
类继承HttpServlet
:
不出意外应该idea不会给你自动补全·HttpServlet·这个类并且还会报错。因为这个项目没有导入对
servlet
支持的jar包。而项目的方便就在于他可以自动帮你导入各种你需要jar包!
你只需导入相应的代码即可,查询jar包对应代码的网站:here
<dependencies> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> </dependencies>
将代码复制到
pom.xml
文件即可:
下面是web.xml
的内容,配置web.xml
后,才能让别人调用:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="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_4_0.xsd" version="4.0"> <display-name>bookcity</display-name> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.demo.servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
下面是
HelloServlet
的完整内容:/** * Copyright (C), 2018-2019, csust * FileName: HttpServlet * Author: Cwolf9 * Date: 2019/06/18 16:06 * Description: * History: * <author> <time> <version> <desc> * Cwolf9 2019/06/18 2018.3 * <p> * 〈可怕的是比你强的人比你还努力〉 * 〈〉 * * @author Cwolf9 * @create 2019/06/18 * @since 1.0.0 */ /** * 〈可怕的是比你强的人比你还努力〉 * 〈〉 * * @author Cwolf9 * @create 2019/06/18 * @since 1.0.0 */ package com.demo.servlet; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); try { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=utf-8"); response.setCharacterEncoding("UTF-8"); String userId = request.getParameter("userId"); String pwd = request.getParameter("pwd"); if("admin".equals(userId) && "password".equals(pwd)){ out.println("success"); }else{ out.println("fail"); } out.println("<br/>"); String servletPath = this.getServletContext().getRealPath("/"); out.println(servletPath); out.close(); } catch (Exception e) { // TODO: handle exception } } }
启动服务器,然后访问:http://localhost:8080/bookcity/hello ,页面如下:
按照HelloServlet 中的写法,你应该这么访问:http://localhost:8080/bookcity/hello?userId=admin&pwd=password,这样返回的页面就是success:
welcome-file-list设置与url-pattern匹配规则
https://blog.csdn.net/qq_15237993/article/details/72868089
https://blog.csdn.net/xybz1993/article/details/81023955
MYSQL8配置
创建用户:
create user 'xxx'@'%' identified by 'xxx';
赋予权限:
grant all privileges on *.* to xxx@"%";
使之生效:
flush privileges;
修改密码:
alter user'xxx'@'%' IDENTIFIED BY '1234567';
删除用户:
drop user'xxx';
MYSQL远程连接
要让别人能远程连接你本地的数据库,你们得在同一个局域网下,其次你要开放你的一个端口。
windows查看端口命令:
netstat -an
,netstat -ano
,netstat -an|findstr "3306"
linux查看端口:
nmap -sP ip地址
,lsof -i:8000
win开放端口:
win+s
搜索:高级,点进去设置一个出站规则,创建类型选择端口,然后设置TCP端口3306,规则名叫3306in,保存即可。
搞完这些同局域网下的其他人应该就可以通过你的ip地址和端口连接上你本机的数据库了。
Host填你想连接的主机的ip地址
User填其数据库的一个账户名
Password填密码
点击
Test Connection
查看是否成功。 -
Javaweb实训项目-《贵美商城*源码》Myeclipse+MySQL
2017-07-09 23:07:03Javaweb实训项目-贵美商城源码,采用Myeclipse+MySQL,正则表达式优化注册,基本实现增删改查,适合初学者练习使用,仅供参考 -
JavaWeb实训项目案例开发之在线图书网站开发【非常适合初学者】
2018-11-13 22:24:51须知: 本篇教程仅限功能性开发,不包括真实业务逻辑,非常适合初学者上手开发。 手写代码从前台贯串后台...网上书店: 使用所学的javaweb知识 邮件的发送 在线支付 添加分类 查询分类 添加图书 查询书籍...须知:
本篇教程仅限功能性开发,不包括真实业务逻辑,非常适合初学者上手开发。
手写代码从前台贯串后台,没有花哨的界面和友好性的js脚本提示
由于功能性较多,目前只手写了添加和查询功能。
修改和删除功能后续上线
—
有疑问、或者又更简单、更优秀的方法请在下方评论区留言!感谢支持!1.项目分析
网上书店: 使用所学的javaweb知识 邮件的发送 在线支付 添加分类 查询分类 添加图书 查询书籍 分页显示和分类名称获取 权限控制
功能思维导图
项目原型预览
1、项目前台预览
1.1前台首页展示:
1.2内容页展示:
1.3分类展示:
1.4购物车展示:
1.5个人用户注册展示:
1.6个人用户登录展示:
并自动跳转到主页:
1.7我的订单展示:
1.2、项目后台预览
1.2.1 后台首页展示
1.2.2 后台添加分类
1.2.3 后台查询分类
- 2.4 后台添加图书
1.2.5 后台查询图书
2.编程准备
|--- 开发环境: Java环境 1.8 JDK 安装|--- 链接:https://pan.baidu.com/s/1FSeR4KYZwl2dg6btBkN80Q 提取码:ftav 复制这段内容后打开百度网盘手机App,操作更方便哦 数据库环境: 5.6版本 安装|--- 链接:https://pan.baidu.com/s/16uuaxxu12td5EczlwGVAvQ 提取码:21pv 复制这段内容后打开百度网盘手机App,操作更方便哦 |--- 采用IDE: Java's IDE: MyEclipse2016 软件|--- 链接:https://pan.baidu.com/s/1LZWkopNa6mEAmFndQjDSSg 提取码:g1gt 复制这段内容后打开百度网盘手机App,操作更方便哦 破解|--- 链接:https://pan.baidu.com/s/1OtE2jFCPMrEWH9rIrPYmAw 提取码:heva 复制这段内容后打开百度网盘手机App,操作更方便哦
Navicat for Mysql 软件|--- 链接:https://pan.baidu.com/s/1YMXyfPWZqXrp7NOblhyGGg 提取码:qufy 复制这段内容后打开百度网盘手机App,操作更方便哦
-
项目编码:
-
程序编码设置为UTF-8
步骤:
|-- window - perferences - General - Workspace - Text File Encoding(右侧)
-
jsp 模板编码设置UTF-8
|-- window - perferences - MyEclipse - File and Editors - JSP - Encoding(UnicodeUtf-8) (右侧)
-
导入Jar和配置文件:
所需哪些jar包?
|----1. MySQL驱动
|----2. dbcp和pool
|----3. dbUtils
|----4. beanUtils和logging配置文件
|----1. jdbc.properties大家可以通过apache 网站,访问
http://commons.apache.org
进行下载http://commons.apache.org/
大家也可以通过百度云链接进行下载当前文章所需Jar包:
链接:https://pan.baidu.com/s/1h-geYZTe9v9BO4cdeDmR3w
提取码:3jfz
复制这段内容后打开百度网盘手机App,操作更方便哦
-
4. 编程思想
程序使用分层思想及三层架构的MVC模式进行开发 
5. 程序编码
5.1实体类 - 分类管理
```java package com.ambow.entity; import java.io.Serializable; @SuppressWarnings("serial") public class Category implements Serializable { private String id;//UUID private String name; private String description; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } } ```
5.2 数据访问层 dao ```java package com.ambow.dao; import java.util.List; import com.ambow.entity.Category; public interface CategoryDao { /** * 添加分类 * @param category */ void save(Category category); /** * 查询所有分类 * @return 没找到返回null */ List<Category> getAllCategories(); /** * 根据主键查找主键 * @param categoryId * @return 没找到返回null */ Category getCategoryById(String categoryId); } ```
DAO实现类 ```java package com.ambow.dao.impl; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanHandler; import org.apache.commons.dbutils.handlers.BeanListHandler; import com.ambow.dao.CategoryDao; import com.ambow.entity.Category; import com.ambow.util.DbcpUtils; public class CategoryDaoImpl implements CategoryDao { QueryRunner queryRunner = new QueryRunner(DbcpUtils.getDataSource()); @Override public void save(Category category) { try { queryRunner.update("insert into categories(id,name,description) values (?,?,?)",category.getId(),category.getName(),category.getDescription()); } catch (SQLException e) { throw new RuntimeException(e); } } @Override public List<Category> getAllCategories() { try { return queryRunner.query("select * from categories", new BeanListHandler<Category>(Category.class)); } catch (SQLException e) { throw new RuntimeException(e); } } @Override public Category getCategoryById(String categoryId) { try { return queryRunner.query("select * from categories where id = ?", new BeanHandler<Category>(Category.class),categoryId); } catch (SQLException e) { throw new RuntimeException(e); } } } ```
5.3 工具类:数据源连接池DbcpUtil ```java package com.ambow.util; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp2.BasicDataSourceFactory; public class DbcpUtils { public static DataSource dataSource; static { try { InputStream in = DbcpUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); Properties properties = new Properties(); properties.load(in); dataSource = BasicDataSourceFactory.createDataSource(properties); } catch (Exception e) { throw new RuntimeException(e); } } public static DataSource getDataSource() { return dataSource; } public static Connection getConnection() { try { return dataSource.getConnection(); } catch (SQLException e) { throw new RuntimeException(e); } } } ```
配置文件: ```xml driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:///webbookstore username=root password=sorry ``` 5.4 业务逻辑服务层 service ```java package com.ambow.service; import java.util.List; import com.ambow.commons.Page; import com.ambow.entity.Book; import com.ambow.entity.Category; public interface BusinessService { /*-------------------图书分类逻辑--------------------*/ /** * 添加分类 * @param category */ void addCategory(Category category); /** * 查询所有分类 * @return 没找到返回null */ List<Category> findAllCategories(); /** * 根据主键查找主键 * @param categoryId * @return 没找到返回null */ Category findCategoryById(String categoryId); } ```
Service 实现类 ```java package com.ambow.service.impl; import java.util.List; import java.util.UUID; import com.ambow.commons.Page; import com.ambow.dao.BookDao; import com.ambow.dao.CategoryDao; import com.ambow.dao.impl.BookDaoImpl; import com.ambow.dao.impl.CategoryDaoImpl; import com.ambow.entity.Book; import com.ambow.entity.Category; import com.ambow.service.BusinessService; /** * 业务逻辑接口的实现类 * @author Mryang * */ public class BusinessServiceImpl implements BusinessService { CategoryDao categoryDao = new CategoryDaoImpl(); BookDao bookDao = new BookDaoImpl(); /*-------------------图书分类逻辑--------------------*/ @Override public void addCategory(Category category) { category.setId(UUID.randomUUID().toString()); categoryDao.save(category); } @Override public List<Category> findAllCategories() { return categoryDao.getAllCategories(); } @Override public Category findCategoryById(String categoryId) { return categoryDao.getCategoryById(categoryId); } ```
5.5 控制器 servlet ```java package com.ambow.controller; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; import java.io.ObjectOutputStream; import java.io.OutputStream; import java.io.Reader; import java.lang.reflect.InvocationTargetException; import java.nio.channels.FileChannel; import java.util.List; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileItemIterator; import org.apache.commons.fileupload.FileItemStream; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.apache.commons.fileupload.util.FileItemHeadersImpl; import org.apache.commons.fileupload.util.Streams; import org.apache.commons.io.FilenameUtils; import com.ambow.commons.Page; import com.ambow.entity.Book; import com.ambow.entity.Category; import com.ambow.service.BusinessService; import com.ambow.service.impl.BusinessServiceImpl; import com.ambow.util.FilePathUtil; import com.ambow.util.FillBeanUtils; public class ControlServlet extends HttpServlet { private static final long serialVersionUID = 1L; BusinessService service = new BusinessServiceImpl(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String op = request.getParameter("op"); if("addCategory".equals(op)){ addCategory(request, response); }else if("showAllCategories".equals(op)){ showAllCategories(request, response); }else if("showAllBooks".equals(op)){ showAllBooks(request, response); } else{ System.out.println("error"); } } /***************************图书分类**********************************/ /** * 查询所有分类 * @param request * @param response * @throws ServletException * @throws IOException */ public void showAllCategories(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { List<Category> categoryList = service.findAllCategories(); request.setAttribute("categoryList", categoryList); request.getRequestDispatcher("/admin/listCategory.jsp").forward(request, response); } /** * 添加分类 * @param request * @param response * @throws ServletException * @throws IOException */ public void addCategory(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Category category = FillBeanUtils.fillBean(request,Category.class); service.addCategory(category); request.setAttribute("msg", "保存成功"); request.getRequestDispatcher("/message.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } ``` 5.6 工具类 封装对象的工具类:FillBeanUtils ```java package com.ambow.util; import javax.servlet.http.HttpServletRequest; import org.apache.commons.beanutils.BeanUtils; /** * 使用自定义泛型进行封装JavaBean * @author Mryang */ public class FillBeanUtils { public static <T> T fillBean(HttpServletRequest request, Class<T> clazz) { try { T bean = clazz.newInstance(); BeanUtils.copyProperties(bean, request.getParameterMap()); return bean; } catch (Exception e) { throw new RuntimeException(e); } } } ``` 5.7 前台页面: jsp 注: 在WebRoot下创建文件夹 命名为admin,在admin下创建jsp:index.jsp ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/admin/header.jsp"%> <br /> <h2>欢迎光临趣读书屋</h2> </body> </html> ``` 在admin下创建jsp:header.jsp ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; pageContext.setAttribute("basePath", basePath); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>趣读书屋后台管理</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="${basePath}css/main.css"> </head> <body> <br /> <br /> <h1>趣读书屋后台管理</h1> <br /> <a href="${basePath}admin/addCategory.jsp">添加分类</a> <a href="${basePath}servlet/ControlServlet?op=showAllCategories">查询分类</a> <a href="">添加书籍</a> <a href="">查询书籍</a> <a href="">待处理订单</a> <a href="">已处理订单</a> <br /> <hr/> </body> </html> ```
addCategory.jsp ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/admin/header.jsp"%> <form action="${basePath}/servlet/ControlServlet?op=addCategory" method="post"> <table border="1px" width="438px"> <tr> <td>添加分类</td> <td><input type="text" name="name"></td> </tr> <tr> <td>查询分类</td> <td><textarea rows="3" cols="38" name="description"></textarea> </td> </tr> <tr> <td colspan="2"><input type="submit" value="保 存"></td> </tr> </table> </form> </body> </html> ```
查询分页:listCategory.jsp ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/admin/header.jsp"%> <br /> <table border="1" width="438"> <tr> <th>选择</th> <th>分类名称</th> <th>分类描述</th> <th>操作</th> </tr> <c:forEach items="${categoryList}" var="cl" varStatus="vcl"> <tr class="${vcl.index%2==0?'odd':'even' }"> <td><input type="checkbox" name="ids" value="${cl.id}"> </td> <td>${cl.name }</td> <td>${cl.description }</td> <td> <a href="javascript:alert('略')">修改</a> <a href="javascript:alert('略')">删除</a> </td> </tr> </c:forEach> </table> <br /> </body> </html> ``` 注: 在WebRoot下创建jsp:message.jsp ```jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ include file="/admin/header.jsp" %> <h1> ${msg } </h1> </body> </html> ```
5.8 在WebRoot下创建一个文件夹,命名为css,在css下创建一个文件,命名为main.css ```css @CHARSET "UTF-8"; body{ font-size: 12px; text-align: center; } table{ font-size: 12px; margin: 0 auto; } .odd{ background-color: f3c3f3; } .even{ background-color: c3f3c3; } ```
6. 运行项目
7. 效果
8.下载
https://github.com/yangsir1688/jlnk-school/tree/master/BookStore-teach
作者: 杨校
出处: https://blog.csdn.net/kese7952
分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询
-
《JavaWeb实训项目》需求分析
2021-01-09 18:37:00我们小组三个人所确定所做的项目为酒店管理系统 由于学习资源以及时间有限,我们所选择所做的项目准确来说算是“酒店后台管理系统” 用户的基本需求大致如下 住房管理: 房间预定管理:顾客信息填写,预定可入住...酒店管理系统
我们小组三个人所确定所做的项目为酒店管理系统
由于学习资源以及时间有限,我们所选择所做的项目准确来说算是“酒店后台管理系统”用户的基本需求大致如下
-
住房管理:
- 房间预定管理:顾客信息填写,预定可入住房间
- 入住登记管理:顾客信息填写,安排可入住房间
- 账单结算管理:账单信息更新
-
房间管理:
-
房型管理:基本的房间添加,删除以及改查操作
-
房间设置管理 :对房间进行基本设置
-
系统管理:
-
员工管理
-
顾客管理
我们所采取的开发模式是快速开发模式,即先建立一个满足用户主要需求的原型系统,通过实践不断修改,直到满足用户的需求为止。
由于现阶段缺乏项目开发经验,我们在一边学习框架的同时,不断借鉴别人项目采取合适的技术
-
-
2016年9月 javaweb实训项目
2017-03-16 16:52:46项目简介:此项目为大三开学的一个实训项目,运用mybatis构建的一个简单网站。 部分源码:http://pan.baidu.com/s/1i48RuK1 -
javaweb实训项目做法及源码_王者之战 | 2017级NIIT专业综合实训完美收官
2020-12-26 11:53:01记得先点蓝字关注我哦~2020年12月11日早上8时30分,宁夏大学智能工程与技术学院2017级NIIT专业综合实训项目答辩评审在中卫校区一号教学楼顺利开展。智工学院院长王怀柱、副院长马强、NIIT中国大区技术总监李经纬、... -
Javaweb实训项目中使用到的ajax
2016-03-25 21:58:441,下拉框 2,传值 -
javaweb实训项目做法及源码_Spring Boot 构建Java Web 平台快速开发脚手架,项目搭建利器...
2020-12-26 13:27:11项目脚手架的作用:脚手架提供的都是普遍意义上的最佳实践,但是我在开发中发现,随着业务的不断发展,必然会出现需要针对业务开发的实际情况来进行调整。例如:通过调整插件与配置实现 Webpack 打包性能优化后删除... -
javaweb项目实训总结_javaweb实训总结
2020-12-24 13:48:12javaweb实训总结javaweb实训总结实训已经进行两周多了,还有一周就要正式结束了,突然发现自己似乎又重蹈覆辙了,再一次一次的不经意中和某些人的就距离却是越来越来大,总是想偷一下懒,总是想着马马虎虎过去算了,... -
javaweb项目实训总结_JAVAWEB实训心得体会
2021-01-14 09:31:51jsp+servlet+mysql论坛项目实训总结实训人:程路峰学号通过为期10天的实训,我学习了很多关于javaweb的知识。在老师的正确指导下,顺利的完成了我的实训内容。在此,也有同学的帮助,在他们的帮助下我也受益匪浅。... -
java实训项目设计文档_javaweb实训报告总结
2020-09-07 23:38:50天津工业大学软件 0918 班五组微博系统开发文档 微博系统实训项目设计 基于 JSP 技术的微博设计与实现 Mail 项目小组 组员刘金兰白皓程清许啸王正辉 1 天津工业大学软件 0918 班五组微博系统开发文档 第一章 绪论 ...