温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么看待Servlet和Jsp知识点

发布时间:2021-10-20 16:09:39 来源:亿速云 阅读:130 作者:柒染 栏目:大数据

怎么看待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。

        怎么看待Servlet和Jsp知识点

    5.整体把握

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

        怎么看待Servlet和Jsp知识点

    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<User> 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<User> showAllService();

	//注册
	void userRegService(String uname, String pwd, String sex, String age, String birth);
}
            6.3.2接口的实例化对象

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI