structs2学习-day01

author author     2022-08-15     213

关键词:

要求:

完成Java Web项目开发环境的安装:
JDK的安装
Tomcat的安装
MyEclipse的安装(包括MyEclipse用激活工具激活)
在MyEclipse中配置Tomcat、配置Tomcat的JDK、测试MyEclipse中配置的Tomcat是否配置成功
安装mysql的服务器端、安装mysql的图形用户界面
在安装好的图形用户界面中连接mysql服务器并创建一个数据库,在数据库中创建一个user表(包含username、password、status、age、address五个字段,增加五条记录)

创建一个Web Project,基于MVC设计模式,使用JSP/Servlet及JDBC实现读取数据库user表中存放的数据并以表格的形式展示在页面上的功能。

 

ConnectionFactory.java

技术分享
 1 public class ConnectionFactory {
 2     private static Connection conn;
 3     public static Connection getConn(){
 4 //        加载驱动类
 5         try {
 6             Class.forName("com.mysql.jdbc.Driver");
 7 //            建立与数据库的连接
 8             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo?useUnicode=true&" +
 9                     "characterEncoding=utf-8", "root", "123");
10         } catch (ClassNotFoundException e) {
11             // TODO Auto-generated catch block
12             e.printStackTrace();
13         } catch (SQLException e) {
14             // TODO Auto-generated catch block
15             e.printStackTrace();
16         }
17 
18         return conn;
19     }
20 }
View Code

User.java

技术分享
 1 public class User {
 2     private String username;
 3     private String password;
 4     private int status;
 5     public String getUsername() {
 6         return username;
 7     }
 8     public void setUsername(String username) {
 9         this.username = username;
10     }
11     public String getPassword() {
12         return password;
13     }
14     public void setPassword(String password) {
15         this.password = password;
16     }
17     public int getStatus() {
18         return status;
19     }
20     public void setStatus(int status) {
21         this.status = status;
22     }
23     
24 }
View Code

UserDao.java

技术分享
 1 public class UserDao {
 2     public User getUserByName(User user){
 3 //        建立连接
 4         Connection conn = ConnectionFactory.getConn();
 5         String sql="select * from user where username = ?";
 6 //        获取预编译语句对象
 7         try {
 8             PreparedStatement ps = conn.prepareStatement(sql) ;
 9             ps.setString(1, user.getUsername());
10             ResultSet rs = ps.executeQuery();
11             while(rs.next()){
12                 User result = new User();
13                 result.setUsername(rs.getString("username"));
14                 result.setPassword(rs.getString("password"));
15                 result.setStatus(rs.getInt("status"));
16                 return result;
17             }
18         } catch (SQLException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         }
22         return null;
23     }
24 }
View Code

UserService.java

技术分享
 1 public class UserService {
 2     UserDao ud = new UserDao();
 3     public int getUserByName(User user){
 4         int flag = 0; 
 5         User result = ud.getUserByName(user);
 6         if(result!=null && !"".equals(result)){
 7             if(result.getPassword().equals(user.getPassword())){
 8                 if(result.getStatus()==0){
 9                     flag = 0;//用户信息正在审核中
10                 }else if(result.getStatus()==1){
11                     flag = 1;//用户信息审核通过
12                 }else if(result.getStatus()==2){
13                     flag = 2;//用户信息审核未通过
14                 }
15             }else{
16                 flag = 3;//用户密码错误
17             }
18         }else{
19             flag = 4;//用户名错误
20         }
21         
22         
23         return flag;
24     }
25 }
View Code

LoginServlet.java

技术分享
 1 public class LoginServlet extends HttpServlet {
 2     UserService us = new UserService();
 3 
 4     public void doGet(HttpServletRequest request, HttpServletResponse response)
 5             throws ServletException, IOException {
 6 
 7         response.setContentType("text/html");
 8         this.doPost(request, response);
 9     }
10 
11     /**
12      * The doPost method of the servlet. <br>
13      *
14      * This method is called when a form has its tag value method equals to post.
15      * 
16      * @param request the request send by the client to the server
17      * @param response the response send by the server to the client
18      * @throws ServletException if an error occurred
19      * @throws IOException if an error occurred
20      */
21     public void doPost(HttpServletRequest request, HttpServletResponse response)
22             throws ServletException, IOException {
23 
24         response.setContentType("text/html;charset=utf-8");
25         
26 //        处理中文乱码
27         request.setCharacterEncoding("UTF-8");
28         response.setCharacterEncoding("UTF-8");
29         
30 //        接受请求
31         String username = request.getParameter("username");
32         String password = request.getParameter("password");
33         
34 //        把值封装到对象中
35         User user = new User();
36         user.setUsername(username);
37         user.setPassword(password);
38         
39 //        处理请求
40         int result = us.getUserByName(user);
41         
42 //        实现跳转
43         if(result == 0){
44             request.setAttribute("msg", "用户信息正在审核中!");
45             request.getRequestDispatcher("login.jsp").forward(request, response);
46         }else if(result == 1){
47             request.setAttribute("msg", "用户登录成功!");
48             request.getRequestDispatcher("main.jsp").forward(request, response);
49         }else if(result == 2){
50             request.setAttribute("msg", "用户信息审核失败!");
51             request.getRequestDispatcher("login.jsp").forward(request, response);
52         }else if(result == 3){
53             request.setAttribute("msg", "用户密码错误!");
54             request.getRequestDispatcher("login.jsp").forward(request, response);
55         }else if(result == 4){
56             request.setAttribute("msg", "用户名错误!");
57             request.getRequestDispatcher("login.jsp").forward(request, response);
58         }
59     }
60 
61 }
View Code

login.jsp

技术分享
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>登录页面</title>
13     
14   </head>
15   
16   <body>
17   <div>提示信息:<%=request.getAttribute("msg") %></div>
18     <form action="loginServlet" method="post">
19         <table>
20             <tr>
21                 <td>用户名:</td>
22                 <td><input type="text" name="username"/></td>
23             </tr>
24             <tr>
25                 <td>密码:</td>
26                 <td><input type="password" name="password"/></td>
27             </tr>
28             <tr>
29                 <td></td>
30                 <td><input type="submit" value="登陆"/></td>
31             </tr>
32         </table>
33     
34     </form>
35   </body>
36 </html>
View Code

main.jsp

技术分享
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%
 3 String path = request.getContextPath();
 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
 5 %>
 6 
 7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 8 <html>
 9   <head>
10     <base href="<%=basePath%>">
11     
12     <title>登录页面</title>
13     
14   </head>
15   
16   <body>
17         登录成功!<br/>
18         欢迎<%=request.getParameter("username") %>登录!
19         
20   </body>
21 </html>
View Code

 







spring学习-day01

<!--配置beanclass:bean的全类名,通过反射的方式在IOC的容器中创建Bean. 所以要求中必须有无参数的构造器id:标识容器中的bean.id是唯一的--><!--使用setter方法进行属性注入--><beanid="helloWorld"class="com.atguigu.spring.beans.HelloWor... 查看详情

java学习笔记day_01

Java学习笔记(复习整理)虽然不知道该怎么写,但是不起步就永远不知道该怎么做。.刚开始可能会写的很差劲,但会一点一点变好的。本笔记是以我按照传智播客的视频和Java核心思想来学习,前面的基础部分主要是用于个人的... 查看详情

struts基础开发---day01

 前言我是一个小白,今天首次学习Struts的基本内容,是看视频和看书相结合的,主要是记录这个学习的过程以及学习的过程中遇到的问题。---------------------------------------------------------------------------------------------------------------... 查看详情

java基础学习笔记day01

      java基础学习笔记day011.软件开发:  软件:按照特定顺序组织的计算机数据和指令的集合  开发:软件的制作过程  软件开发:借助开发工具和计算机语言制作软件2.java概述:  java之父:詹姆斯·高斯林 ... 查看详情

动手学深度学习diveintodeeplearning--day01--学习资料环境配置

正式开始《动手学深度学习v2-从零开始介绍深度学习算法和代码实现》的学习惊诧于李沐老师2021年的视频里就已经提到DALL·E2、ChatGPT等相关的内容了闲话休叙,先贴一下学习资料链接:课程主页:OpenLearningCamp-《动手学深度学习... 查看详情

学习爬虫的day01

反扒1.浏览器伪装加一个协议头(即浏览器的协议头)火狐的浏览器协议头=‘User-Agent‘:‘Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;rv:1.9.1.6)Gecko/20091201Firefox/3.5.6‘ headers={‘User-Agent‘:‘Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;r 查看详情

react学习day01(代码片段)

文章目录React学习一、Reacte二、JSX三、显示数据调用函数四、虚拟DOM和diff算法五、函数组件六、调动组件传值(props)七、组件状态(State)八、事件this指向九、事件传参问题小总结组件的数据形式propsstate组件的... 查看详情

react学习day01(代码片段)

文章目录React学习一、Reacte二、JSX三、显示数据调用函数四、虚拟DOM和diff算法五、函数组件六、调动组件传值(props)七、组件状态(State)八、事件this指向九、事件传参问题小总结组件的数据形式propsstate组件的... 查看详情

ubuntu(16.04.01)学习-day2

1。建立硬链接:lnmain.cmainsoft2.建立软链接:ln-smain.csoft3.对文档进行统计wcmain.c返回行、单词数和字符数4.查看相应命令的描述  whatispython5.查看程序位置  whichpython6.查找二进制文件、源和命令的手册页文件。  whereispython7.... 查看详情

springcloud学习笔记day01(代码片段)

1.技术要求:java8+mven+git、github+Nginx+RabbitMQ+SpringBoot2.02.JVM/JUC/JMM/GC/Nginx……2.微服务架构理论入门2.1.微服务架构概述什么是微服务?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服... 查看详情

springcloud学习笔记day01(代码片段)

1.技术要求:java8+mven+git、github+Nginx+RabbitMQ+SpringBoot2.02.JVM/JUC/JMM/GC/Nginx……2.微服务架构理论入门2.1.微服务架构概述什么是微服务?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服... 查看详情

java基础语法学习day01---初学者必看详解(代码片段)

java基础语法学习day01---初学者必看详解1.初识java1)什么是java1.1)计算机语言1.2)高级的1.3)编程2)编写第一个java程序2.1)创建java项目2.2)创建package包2.3)创建Class类2.4)编写程序并运行3)调整字体3.1)菜单栏选中3.2)左上角搜索font3.3)右侧展... 查看详情

[自主学习一:spring]day01_myspring_corespring

 1、根据jar包需要,导入spring核心jar包。  2、编写spring的context上下文环境<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/20 查看详情

sklearn机器学习基础(day01基本数据处理)(代码片段)

文章目录环境数据集特征提取字典特征提取文本特征提取One-Hot编码中文文本处理TF-IDF处理运算规则代码数据预处理归一化标准化降维特征选择Filter过滤方式低方差过滤相关系数主成分分析PCA小结环境python3.7sklearnn... 查看详情

day01

#Markdown学习##标题###三级标题####四级标题##字体Hello,word!Hello,word!Hello,word!Hello,word!##引用>争渡争渡惊起一滩鸥鹭##分割线---***##图片##超链接点击跳转到工藤新一##列表1.a2.b3.c-a-b-c##表格##代码```java``` 查看详情

nordicnrf24le1学习笔记day01安装环境与创建第一个工程

 首先First准备软件安装包perparethesoftwaerinstallationpachage①KeilC51(Version9.00or newer)②nRFgoStudio(Version1.4ornewer)③nRFgoSDK(Version2.2ornewer)④nRFprobe(Version1.2.0.5585ornewer)准备硬件perparetheH 查看详情

小白艰苦学习之路(记录学习历程——html篇)day8(代码片段)

...ay7是Java简单算法练习,就不放上来啦。我更改了一下学习路线,所以以后的博客内容将会是HTML和Java的穿插学习!大家一起加油哦!Day8(HTML基础)初始HTML什么是HTMLHTML发展史HTML5的优势W3C标准常见的IDE这... 查看详情

小白艰苦学习之路(记录学习历程——html篇)day8(代码片段)

...ay7是Java简单算法练习,就不放上来啦。我更改了一下学习路线,所以以后的博客内容将会是HTML和Java的穿插学习!大家一起加油哦!Day8(HTML基础)初始HTML什么是HTMLHTML发展史HTML5的优势W3C标准常见的IDE这... 查看详情