很难受的一次实验,本来我是对着笨手笨脚学长/学姐的HTML以及J2EE简单编程:使用Java进行JSP、Servlet的编写web应用并将其部署到Tomcat上做的。但是遇见了一些问题,改了很多很多的代码,但是最后还是没有解决【明明我已经赋值了但是我的st还是空值】这个问题,结果是我的servlet链接数据库是失败的,花了好几天问了好多大佬重新构建了好几次都解决不了,搞得我真的好难受好难受。
(注意!这里不是说博文有问题,只是我参考这篇博文出现了问题,但是我的室友参考这个就成功了)
因为实验验收时间要到了,再加上期中考试的问题,只能选择参考其他人的博客了,然后我参考了辉月姬学长/学姐的编程新技术实务实验二这篇博文,不过在这个过程中遇到了一些问题,然后就先记录一下遇见的问题和解决吧。
【1】首先是在新建工程文件的时候,如果是按照前辈那样的话,生成的图标是这个样子的:
而且文件里面是标红:
不过也可能是我的版本的问题?(我的版本是2021.1)和前辈的文件框架里的图标不一样。
然后我是在新建的时候只点了Spring Web,然后就正常了:
出大问题!当我按照我的方法搞完所有的时候运行出现了错误,就是.xml最后面的两段标红了,然后就按照前辈的方式又重新新建了项目,结果图标又显示的是正常图标了???
我不能理解!!!
【2】
在尝试前辈的写法的时候,bean里遇见了标红:
这个的话其实添加上javaee.jar这个jar包就行,但是除了这个之外在mapper也有标红:
然后我就在网上找了一个ibatis的jar包,但是问题依然得不到解决。 :
然后我就找到了另外一种办法,这个办法连javaee.jar都不需要加上去。
就是直接修改l,前面部分的你们就用自己文件的就行
然后后面的直接cv:
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId&batis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.25</version><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
应该会出现标红问题,就按照这个方法 对于maven中l依赖报红问题 解决就可以了。
这样子之后bean和mapper里面标红的问题就解决了。
给学弟学妹们推荐几个工具吧
W3SCHOOL的html这个可以左边写代码,右边运行出来结果(我就是用的这个,超级好用)
Element这个用的是vue的模板,可以搞分页之类的(我没有尝试过,不过朋友是用的这个)
(1)前端校验部分可以做一个小修改,这样子在主界面的时候可以直接限制输入以及可以显示提示信息:
<tr><td>username</td><td><input type="text" name="username" id="inputUsername" placeholder="请输入10个以内字符" maxlength="10"></td></tr><tr><td>name</td><td><input type="text" name="name" id="inputName" placeholder="请输入20个以内字符" maxlength="20"></td></tr><tr><td>age</td><td><input type="tel" name="age" id="inputAge" placeholder="请输入1~120中的一个数字" maxlength="3"></td></tr><tr><td>teleno</td><td><input type="tel" name="teleno" id="inputTeleno" placeholder="请输入11个数字" maxlength="11"></td></tr>
然后后面的判断就改成这样子了:
function addCheck(){var teleReg = /^([0-9]{11})$/;const checkTeleno = ElementById("inputTeleno").value)var ageReg = /^(?:[1-9][0-9]?|1[01][0-9]|120)$/;const checkAge = ElementById("inputAge").value)if(!checkTeleno){alert("手机号不符合规范")return false}if(!checkAge){alert("年龄不符合规范")return false}
(2)增添一个删除不存在的数据时的前端校验
我是按照deleteOperationResult.html又写了一个deleteOperationResultt.html来作为失败时的一个返回页面:
<!DOCTYPE html><html xmlns:th="www.thymeleaf">
<head><meta charset="UTF-8"><title>数据库操作结果</title>
</head>
<body>
<div align="center"><text style="size: 20px;font-weight: bolder" >操作结果</text><div><span>删除username: </span><text th:text="${user.username}"></text><span>失败</span></div><a href="/databaseDetail">查看数据库数据</a>
</div>
</body><body background="/jpg/1.jpg" style=" background-repeat:no-repeat ;background-size:100% 100%;background-attachment: fixed;">
</body></html>
然后在UsersService里修改:
@Transactionalpublic int deleteUsers(String username) {Users users = findByUsername(username);if (users != null) {System.out.println("users表删除数据 " + username);usersMapper.deleteUsers(username);System.out.println("person表删除数据 " + username);personService.deletePerson(username);return 1;}else return 0;}
在UserController里修改:
@RequestMapping("/deletePersonAndUser")public String delete(Users users, Map<String,Object> map) {map.put("user",users);int i=usersService.Username());if(i==1) return "deleteOperationResult";else return "deleteOperationResultt";}
本文发布于:2024-02-02 12:09:53,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170684699343701.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |