千家信息网

怎么看待Servlet和Jsp知识点

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,怎么看待Servlet和Jsp知识点,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.首先需要一些工具:tomcat,m
千家信息网最后更新 2024年10月02日怎么看待Servlet和Jsp知识点

怎么看待Servlet和Jsp知识点,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.首先需要一些工具:

tomcat,mysql,Navicat For mysql,eclipse(javaee)

2.创建数据库

3.新建一个web项目

注意是Dynamic Web Project,module version选择2.5或者3.0都可以

4.部署tomcat

新建server,完成后完成以下配置,这样就能在eclipse里直接用tomcat服务器了。这里如果选择第一个的话,eclipse会自己下载一个简易版的tomcat。

5.整体把握

实现网页对数据库的查询或者新增,需要MVC开发模式,这里画了一个图,大概就是这样:

6.写代码的顺序是从下到上:pojo层---Dao层---Service层---servlet层

6.1pojo层代码编写:

写一个与数据库对应的类,包名以.pojo结尾。set get方法、构造方法、无参构造方法和toString方法都写一遍,反正alt+s自动生成。

package com.pojo;public class User {        private int uid;        private String uname;        private String pwd;        private String sex;        private int age;        private String birth;        public int getUid() {                return uid;        }        public void setUid(int uid) {                this.uid = uid;        }        public String getUname() {                return uname;        }        public void setUname(String uname) {                this.uname = uname;        }        public String getPwd() {                return pwd;        }        public void setPwd(String pwd) {                this.pwd = pwd;        }        public String getSex() {                return sex;        }        public void setSex(String sex) {                this.sex = sex;        }        public int getAge() {                return age;        }        public void setAge(int age) {                this.age = age;        }        public String getBirth() {                return birth;        }        public void setBirth(String birth) {                this.birth = birth;        }        public User(int uid, String uname, String pwd, String sex, int age, String birth) {                super();                this.uid = uid;                this.uname = uname;                this.pwd = pwd;                this.sex = sex;                this.age = age;                this.birth = birth;        }        public User() {                super();        }        @Override        public String toString() {                return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd + ", sex=" + sex + ", age=" + age + ", birth="                                + birth + "]";        }        }

6.2Dao层代码编写

6.2.1接口
package com.dao;import java.util.List;import com.pojo.User;public interface UserDao {        //登录        User checkUserLoginDao(String uname,String pwd);        //密码修改        int userChangePwdDao(String newPwd, int uid);        //显示所有信息        List showAllDao();                //插入用户        int userRegDao(String uname, String pwd, String sex, String age, String birth);}
6.2.2接口的实例化对象

这里以一个插入和查询的方法为例,按照基本步骤来就可以。

查询:

public User checkUserLoginDao(String uname, String pwd) {                //创建jdbc对象                Connection conn = null;                PreparedStatement ps = null;                ResultSet rs = null;                //创建实体类对象                User u = null;                try {                        //加载驱动                        Class.forName("com.mysql.jdbc.Driver");                        //获取连接                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2","root","lijingjing");                        //创建sql语句                        String sql = "select * from t_user where uname=? and pwd=?";                        //创建sql对象                        ps = conn.prepareStatement(sql);                        //给占位符赋值                        ps.setString(1, uname);                        ps.setString(2, pwd);                        //ִ执行sql                        rs = ps.executeQuery();                        //遍历结果集                        while(rs.next()) {                                u = new User();                                u.setAge(rs.getInt("age"));                                u.setUid(rs.getInt("uid"));                                u.setBirth(rs.getString("birth"));                                u.setPwd(rs.getString("pwd"));                                u.setSex(rs.getString("sex"));                                u.setUname(rs.getString("uname"));                        }                } catch (Exception e) {                        e.printStackTrace();                }finally {                        try {                                rs.close();                        } catch (SQLException e) {                                // TODO Auto-generated catch block                                e.printStackTrace();                        }                        try {                                ps.close();                        } catch (SQLException e) {                                // TODO Auto-generated catch block                                e.printStackTrace();                        }                        try {                                conn.close();                        } catch (SQLException e) {                                // TODO Auto-generated catch block                                e.printStackTrace();                        }                }                                return u;        }

插入的代码流程和查询大同小异,不同在于不需要rs结果集,返回值为int类型(表示受影响的行数),index = ps.executeUpdate();

另外为保证中文能够在数据库中正常显示,在加载驱动这一步时,数据库后面要加上?useUnicode=true&characterEncoding=UTF8

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF8","root","lijingjing");

这样数据访问层就写完了。

6.3Service层代码编写

6.3.1接口

一般这一层会对从Dao层取到的数据进行业务逻辑处理,这里只是简单的返回。

package com.service;import java.util.List;import com.pojo.User;public interface UserService {                //登录        User checkUserLoginService(String uname,String pwd);        //修改密码        int userChangePwdService(String newPwd, int uid);        //展示所有用户信息        List showAllService();        //注册        void userRegService(String uname, String pwd, String sex, String age, String birth);}
6.3.2接口的实例化对象

继承上面的接口,实现其方法,创建Dao层对象,返回即可,代码不上了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

数据 代码 对象 方法 接口 数据库 查询 知识 信息 实例 密码 用户 结果 帮助 登录 选择 驱动 知识点 不同 清楚 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发为什么是职能岗 方舟手游龙珠服务器怎么进去 软件开发的前景和认识 数据库并发控制技术百度文库 滨州计划管理软件开发公司 破解通达信数据库 C语言数据库的使用方法 翼课网络技术有限公司 山东清微网络技术有限公司 高校学校网络安全工作内容 饥荒联机版地牢服务器连接不上 最新小学校园网络安全工作制度 深圳品质网络技术优化 互联网并不是一种具体的网络技术 从二维数组中删除数据库 分布式切片服务器 互联网科技融资案例 聊天记录迁移后原来数据库 离线基站数据库 腾讯轻量级服务器如何登录 数据库短文本英文 数据库每一级模式的作用 ftp服务器 破解 软件开发后的职业规划 北京乐语在线网络技术有限公司 无锡.NET软件开发 遂宁网络技术服务 php 读取数据库 下半年网络安全责任工作情况 爱思唯尔数据库怎么切换中文
0