
web应用作业记录
作业
老菜鸟·
一个废物
展开
-
最后一次作业
我用的是maven3.8.8和Thymeleaf渲染写的这次的增删改查。没有去写css样式,所以页面比较乱。增删改查无非就是在控制层、持久层和业务层进行之前的增删改查。原创 2023-06-11 10:19:10 · 222 阅读 · 0 评论 -
ssm框架运用续
2、准备好接口的相关方法,这里要用到update和delete以及get(通过id获取对象信息,方便后面update功能显示对象信息)6、准备好,编辑页面。这里方便我调试看看id是否成功传入,我就把id属性调成text可见了。1、现在jsp页面准备好要实现的功能。这次我们给表格加上编辑和删除功能。5、控制器实现编辑更新功能。4、控制器实现删除功能。原创 2023-06-01 17:31:35 · 242 阅读 · 0 评论 -
Spring练习二&ssm框架整合应用
导入教程的项目,通过查看源码对aop面向切面编程进行理解分析aop面向编程就像是我们给程序某些位置丢下锚点(切入点)以及当走到锚点时需要调用的方法(切面)。在程序运行的过程中, 一旦到达锚点,相应的方法就会被调用,以供我们对程序进行追踪,看看走到了哪一步以及具体信息,便于我们对程序进行调试维护。我们随意对切面进行一些输出修改,同样可以运行。实际操作中你可以对切面进行你想要的功能书写。原创 2023-05-28 15:32:10 · 1046 阅读 · 0 评论 -
spring练习1
3、定义一个dao类。finally异常处理方法,这种方式简单来说就是尝试try中的代码,不管是否成功,最终都要执行finally中的代码。2、来一个接口,这个接口可以不止抽象定义一种方法,后面可以按照需求定义多个方法,在这里只是尝试一个方法。2、配置文件作出相应修改,写一个能创建Team类的bean并在创建Player类的bean中调动他。1、修改xml,注意这里指个包名就可以了,不要指明类名。4、配置文件,注意对应好自己的数据库相关信息。1、类还是用我们之前的Player类。1、建好相应的java类。原创 2023-05-25 19:12:12 · 892 阅读 · 0 评论 -
MyBatis技术练习
多对多的关键就是Order.xml文件的映射配置。我的理解就是首先拿着订单的id在订单和产品关系表中找到属于这个订单id的集合(一个订单id对应了多个产品,一对多),然后再给每个订单映射了产品的从属(多个订单可能都有同一个产品,多对一),从而达到多对多的效果。它将查询结果中的一行记录映射为一个 Java 对象,并将这个 Java 对象设置到它所属的另一个 Java 对象中。2、where有种if进阶版的感觉,可以判断多个条件并且不受空参影响,包括update对应的set都是一个道理,就不做额外练习。原创 2023-05-21 18:54:42 · 759 阅读 · 0 评论 -
MyBatis练习
还是老套路,大致阅读源代码拿到需求之后,我们自己来写一份代码(日志功能我就没有写了,主要是debug用的)。教材源代码是拿着id或者模糊查询来找用户,我们可以来写个拿着账号来找用户。4、配置包中文件,注意sql语句的书写,以及基本对象parameterType要与账号String相对应。5、测试类,注意这个测试直接在运行方式是直接java运行,不用在服务器上运行。3、src中配置文件,仔细看教程,对应好自己的文件名、文件位置以及数据库。5、编写一个测试类,输入你的账号,系统会输出这个账号的相关信息。原创 2023-05-17 12:04:37 · 202 阅读 · 0 评论 -
Springmvc练习二
2、简单尝试一下就知道,这里所谓的参数绑定无非就是在java代码的基础之上加上了页面定位和参数传递。3、写一个控制器:(1)使用集合模拟后台数据便于查询(2)创建搜索结果的集合,拿到用户名后在模拟数据库中查找符合条件的数据并存入该集合。注意一点就是页面定位的问题,如果你springmvc文件没有配置加上后缀“.jsp”的设置记得在网站控制器源代码的基础上加上“.jsp”1、写一个jsp页面:拿到输入的用户名传递给控制器处理,搜索出所有此用户名的信息后在此页面输出。2、传递的参数无法在搜索时使用。原创 2023-05-13 18:40:40 · 628 阅读 · 0 评论 -
第一次练习的补充
5、在你的Springmvc.xml文件中的“<bean name="/huhu" class="controller.UsersController"/>”这一个语句,name的内容为。4、在web.xml中查看“<param-value>/WEB-INF/SpringMVC.xml</param-value>”这句话是否对应你的Springmvc.xml的路径。6、控制器所负责的页面一定要对应好jsp页面的实际位置,不要一味地复制教材源码。3、直接运行jsp页面内容空白的尝试删掉网址的“.jsp”原创 2023-05-11 15:20:43 · 308 阅读 · 2 评论 -
Springmvc第一次练习遗留问题解决
昨天的问题就是路径映射的问题,SpringMVC.xml 配置文件中相应的请求映射和处理方法对照有误(注意教材给的源码可能有问题,name必须与jsp页面对应),做出修改后可以运行。教材的源码应该是有问题的,里面的代码一方面有细节错误,另一方面与教材本身不太对应。特别注意Springmvc的细节。原创 2023-05-11 11:11:35 · 154 阅读 · 0 评论 -
springMVC第一次作业及练习
1、首先我们导入网站的项目进行测试时网址直接输入教程给的会是一片空白,把jsp删掉就好。因为加上jsp会直接访问jsp页面,此时的页面没有被服务器处理。原创 2023-05-10 23:46:34 · 527 阅读 · 0 评论 -
购物车练习总结
购物车作业至此我也想不到如何继续拓展,后续的优化最多就是前端页面的优化尝试,感兴趣的同学可以尝试。原创 2023-04-27 14:07:53 · 164 阅读 · 0 评论 -
商品页面翻页功能--购物车拓展
1、把productlist中dao的sql语句做出修改,并传递需要用到的参数。之前我们在mvc练习中曾经写过翻页功能,现在我们给购物车产品显示界面也加一个。2、 对productlist的servlet拓展相关操作,准备好翻页的功能。再来一个返回product总数的方法。3、对jsp页面做出修改。原创 2023-04-24 23:31:33 · 438 阅读 · 0 评论 -
订单显示功能--购物车拓展(jsp中显示属性名的小细节)
这时候我突然发现我在ordershow类中定义的productname的相关读取方法叫getname()而不是getproductname(),难道这里jsp页面的${l.productname}代码不是直接调用属性,而是按照属性名调用get方法?之前在写购物车练习完成订单模块时我就想到为何我们不能查询自己的订单记录,所以这次我实现了用户对自己的订单记录查询显示功能。4、写show的jsp页面,把之前实现的删除订单的超链接也 放在这个页面。1、编写存储订单细节的类,存储产品名,购买数量以及订单号。原创 2023-04-24 20:14:19 · 199 阅读 · 0 评论 -
注册功能编写--购物车拓展
教程给出的模板在登录板块的功能不够齐全,正常情况下我们还应该有一个注册功能。所以这次我来写一个注册功能。1、给登录的jsp页面添加相关超链接按钮,顺便把页面内容通过css改一改。然后再写一个负责注册的jsp2、在userdao中再写一个方法负责给user表中插入数据 ,记得给uid属性添加自增长功能,方便我们插入。原创 2023-04-22 19:05:26 · 99 阅读 · 0 评论 -
删除数据库订单记录--购物车拓展
3、编写相应的dao,需要完成的操作就是:拿着一个用户id,可以将order_和orderitem两个表中关于该用户的所有记录删掉。由于我们以及通过外键将两个表中的数据联系好了,只需要在order_表中对相应的数据执行。在跟着教程走完一遍后,我们的购物车就最终就可以完成将购买的订单全部存进数据库的工作。教程并没有给到这一点,那么我们就自己来完成这个操作,当作一个拓展练习。4、编写一个servlet来获取用户id,拿着这个uid调用第三步的dao。执行删除订单操作后,数据库两个相应的表中数据全部被清除。原创 2023-04-22 13:31:24 · 459 阅读 · 0 评论 -
购物车--订单模块,练习完成
由于我们order_表中的id设计的是自增长,所以每个记录uid都会自动分配一个id。在购物车页面,增加一个创建订单的超链接。通过创建订单,在Order表里新增一条数据,同时把session中的订单条目都保存到数据库中。4. 遍历session中所有的订单项,设置他们的Order。1、创建两个表,orders用来具体存储每一个订单的细节,order_用来存储某个用户对应的订单号。3、给orders类加一个order属性,order里对应的id对应数据表orders里的oid。最后附上整个练习的代码结构。原创 2023-04-20 17:23:44 · 854 阅读 · 0 评论 -
购物车--购物车模块完善
很明显,之前的购物车模块功能的实现不够完善,缺少一个删除购物车中产品的操作,针对此我们加一个删除功能。2、然后我们给购物车页面的jsp添加超链接传递目标id。1、写负责删除的servelt类。原创 2023-04-20 15:05:09 · 108 阅读 · 0 评论 -
解决上一个问题
然后我在servlet中这样改了下代码,然后运行,发现还是不行,我就肯定orders类出了毛病,回头一看果然属性定义出了问题。首先,我把jsp显示信息的代码修改了一下。改正之后可以成功运行了,可喜可贺可喜可贺。也就是说ois里的pro属性出了问题。然后运行了一下发现成功显示了num。原创 2023-04-19 17:37:53 · 125 阅读 · 0 评论 -
购物车--购物车模块
注意如果你只想完成单一的把订单信息加到购物车单里的操作,那你不用按照教程的方法再写一个servlet单独给jsp页面传递集合,你直接在当前servlet完成这个操作就行了。但是如果你后面还想来点删除等操作,你还是老老实实按照教程来。注意我们之前在购买页面传了一个id,我们只需要拿着这个id去product数据表中找到相关产品。2、给之前的productdao中加一个方法用来查找product信息。注意我们成员变量有一个product类,方便我们显示产品信息。3、加下来我们写购物车模块相关的servlet。原创 2023-04-19 12:54:21 · 293 阅读 · 0 评论 -
购物车--用户模块
6、写一个servlet来负责接收loginjsp的登录信息,然后通过userdao来找找看这个登录信息是否正确,如果正确跳转到我们之前写的产品页面,如果错误,退回login页面重新登陆。这时候我们先检查这个servlet能不能跳转,我们把session操作注解掉,然后!我这样写的好处就是没找到不会报错,教程的方法没找到会报错,不过效果一样哈哈。再加上之前检查userdao的功能没问题,所以我就在想是不是输入的中文转化出现了问题。但是这时候我运行登录界面,不论输入的密码正确与否,都无法跳转。原创 2023-04-18 23:54:38 · 123 阅读 · 0 评论 -
购物车--产品模块
比起教程给的代码,我给product类加了一个自定义的构造方法,后面要是dao中需要加个产品会很方便。至于为什么代码需要将产品信息给一个private修饰,这是符合java开发封装的思想的,避免这些数据被随意的调用和修改,想要完成相关操作必须通过我们定义的成员方法。教程的主方法应该是测试写的代码有没有问题的,你要是不确定代码对不对可以加一个主方法测试一下。4、写一个servlet来完成在数据库中查出产品信息并传给jsp页面的工作,我们直接创一个servlet类就可以了,不用花时间去配置xml。原创 2023-04-17 21:18:10 · 108 阅读 · 0 评论 -
列表顺序展示
之前就发现列表显示老是展示为倒序,我还想着怎么在servlet中倒序遍历list的指针,结果今天一个同学问我这个问题,我突然就想到了是不是可以从dao中封装的方法下手。我就回头看了看相应的sql语句,果然是id倒序排序,修改后就可以正序了。原创 2023-04-16 19:26:54 · 106 阅读 · 0 评论 -
mvc的编辑和删除
之前实现了mvs的翻页登录显示等等一系列操作,现在我们再照葫芦画瓢实现一下编辑和删除。原创 2023-04-12 23:47:35 · 527 阅读 · 0 评论 -
mvc分页、用户登录
然后我们再给jsp页面加上翻页的超链接,并在servlet页面做好数据处理。代码思路很简单,就是每执行一次翻页操作我们就相应的更新好起始位置,再将更新好的数据传给jsp页面。接着我们点击jsp页面的按钮之前更新好的数据就会传回来,我们拿着这个参数就可以显示下一页数据,如此循环往复。最后我们借助session实现一个用户登录功能,网站并没有给你登录界面的html,记得自己写一个。首页跟尾页的原理与上面类似,不过尾页的参数需要我们特判一下,用到了java的除法向下取整的特性。原创 2023-04-10 21:26:20 · 105 阅读 · 0 评论 -
MVC,很容易出问题
先排查了报错,将jar包问题、jsp代码问题排除后,我觉得应该是servlet的问题,然后注意到地址栏访问.jsp,就明白了问题所在。如果我们直接访问jsp页面,程序就没机会去访问数据库,自然不会返回数据库的表格数据了。控制器用来把不同的数据,显示在不同的视图上。在这个例子的,Servlet就是充当控制器的角色,把Hero对象,显示在JSP上。mvc是一种分层设计的模式,目的在于将html与java代码分离到jsp和servlet中,这样实现功能更加方便。就是网页, JSP,用来展示模型中的数据。原创 2023-04-09 13:24:34 · 340 阅读 · 0 评论 -
crud删除(1.5小时)
比如,正被请求或编辑的内容的 ID,或是一个唯一的安全令牌。这些隐藏的 input 元素在渲染完成的页面中完全不可见,而且没有方法可以使它重新变为可见。编写servlet页面时一定要注意,我们不光要在list页面开辟一个新的单元格以及加上超链接,还要给它传入当前行的id参数,这样delete才能找到自己的删除目标,当然这个传参的参数因你封装dao的代码而定。第一次运行代码发现报错了:报的代码错误:null,然后我回头看了一下代码,发现还需要再写一个servlet的update,不然提交html的无处提交。原创 2023-04-03 21:31:09 · 250 阅读 · 0 评论 -
crude增加(学习网站有细节错误,同学们要注意)
解决了dao中的代码问题和配置问题,剩下的操作就是手到擒来。一定要注意,学习网站的页面重定位是错的,一定要把“/”删除。今天顺便把增加操作的servlet搞定。原创 2023-03-31 00:39:10 · 97 阅读 · 0 评论 -
上次的问题已经得到解决
debug了很久,一方面sql语句的细节出现了问题,另一方面我怀疑站长提供的jar包太low了,我换了一个用。原创 2023-03-31 00:15:18 · 92 阅读 · 0 评论 -
servlet-crud(一)1.5小时
封装好增删改查显示等方法,便于以后调用。主要用的就是sql语句、Statement、PreparedStatement的相关方法实现方法。为了起到代码练习效果,这次的代码纯由自己书写,顺便起到复习java基本语法的作用。到这一步应该完成任务了,结果运行之后显示。调试了很久都没有解决,明天继续。3、编写显示表的servlet。1、准备实体类novel。原创 2023-03-29 23:07:34 · 75 阅读 · 0 评论 -
第六周作业完成,一个半小时
可以说成是抽象类的一种特例,接口不能创建实例对象,接口中的所有方法都必须是抽象的。抽象类不能创建实例对象,类中的方法不必是抽象的,但是抽象类中定义的抽象方法必须在子类中实现,所以抽象类不能有抽象构造方法或抽象静态方法。4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。原创 2023-03-27 22:47:24 · 652 阅读 · 0 评论 -
第六周作业(1.5小时)
PreparedStatement也可以用来执行sql语句,但是需要注意:它需要用sql创建好PreparedStatement,而Statement不需要用sql来创建。原创 2023-03-26 22:35:31 · 1511 阅读 · 0 评论 -
第六周作业(四十分钟)
我的数据表除了第一列id号用的是int型号,其余的三列都用的varchar型号,所以sql语句进行添加操作时需要注意单引号的使用。这里的sql语句跟数据库课中所学基本相同。我本以为原题使用是因为他要查询多行才需要while来配合输出,结果我输出一行也需要先导条件(我测试了一下,while或者if都可以输出,说明重要的是rs.next()而不是while)。executeQuery获取表格查询结果后,我们的rs很有可能指针指向0 ,但是第一条结果的存储位置在一,所以我们需要将指针往下移一位才能正常开始输出。原创 2023-03-24 19:05:31 · 112 阅读 · 0 评论 -
第四次作业、第二次练习(1.5小时)
(承接上次作业)原创 2023-03-10 10:34:29 · 104 阅读 · 0 评论 -
第三次作业、JSP练习1(用时1.2个小时)
作业原创 2023-03-08 23:26:05 · 142 阅读 · 0 评论 -
第二次作业(5.4 、5.5 ,用时50分钟)
作业原创 2023-03-07 22:23:27 · 108 阅读 · 0 评论 -
第一次作业(45分钟)
作业原创 2023-03-06 21:51:21 · 81 阅读 · 0 评论 -
web第一周作业
作业原创 2023-03-03 23:21:23 · 220 阅读 · 2 评论