当前位置: 首页 > news >正文

JavaWeb(Servlet预习)

案例1:基于jsp+Servlet实现用户登录验证

1.input.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="loginCheck" method="post">用户名:<input type="text" name="username" /><br> 密码:<inputtype="password" name="userpwd" /><br> <input type="submit"value="提交"> <input type="reset"></form>
</body>
</html>

2.loginCheckServlet.java

package servlets;import java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@WebServlet("/loginCheck")
public class LoginCheckServlet extends HttpServlet {public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{String userName = request.getParameter("username");String userPwd = request.getParameter("userpwd");String info = "";if("abc".equals(userName)&&"123".equals(userPwd)) {info="欢迎你"+userName;}else {info="用户名或密码错误";}request.setAttribute("outputMessage", info);request.getRequestDispatcher("/info.jsp").forward(request, response);}}

3.info.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=request.getAttribute("outputMessage") %>
</body>
</html>

案例2:基于jsp+Servlet+JavaBean实现用户注册

1.数据库连接类

package db;import java.sql.*;public class JdbcUtil {public static Connection getConnection() throws Exception{String driverName = "com.mysql.jdbc.Driver";String dbName = "students";String userName = "root";String userPwd = "1234";String url1 = "jdbc:mysql://localhost:3306/"+dbName;String url2 = "?user="+userName+"&password="+userPwd;String url3 = "&useUnicode=true&characterEncoding=UTF-8";String url = url1+url2+url3;Class.forName(driverName);Connection conn = DriverManager.getConnection(url);return conn;}public static void free(ResultSet rs,PreparedStatement pstmt,Connection conn) throws SQLException {if(rs!=null) {rs.close();}if(pstmt!=null) {pstmt.close();}if(conn!=null) {conn.close();}}
}

2.javabean实体类

package beans;public class User {private String userName;private String userPwd;public User(String userName,String userPwd) {this.userName = userName;this.userPwd = userPwd;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}public User() {}}

3.数据库访问类dao

package dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction;import beans.User;
import db.JdbcUtil;public class UserDao {//添加public void add(User user) throws Exception{Connection conn = null;PreparedStatement pstmt = null;conn = JdbcUtil.getConnection();String sql = "insert into user_b(username,userpassword) values(?,?)";pstmt = conn.prepareStatement(sql);pstmt.setString(1, user.getUserName());pstmt.setString(2, user.getUserPwd());pstmt.executeUpdate();JdbcUtil.free(null, pstmt, conn);}//查询全部public List<User> QueryAll() throws Exception{Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;List<User> UserList = new ArrayList<User>();conn = JdbcUtil.getConnection();String sql = "select * from user_b";pstmt = conn.prepareStatement(sql);rs = pstmt.executeQuery();while(rs.next()) {String xm = rs.getString("username");String mm = rs.getString("password");User user = new User(xm,mm);UserList.add(user);}JdbcUtil.free(rs, pstmt, conn);return UserList;}//修改public int update(User user) throws Exception{Connection conn = null;PreparedStatement pstmt = null;int result = 0;conn = JdbcUtil.getConnection();String sql = "update user_b set userpassword=? where username=?";pstmt.setString(1, user.getUserName());pstmt.setString(2, user.getUserPwd());result = pstmt.executeUpdate();JdbcUtil.free(null, pstmt, conn);return result;}//删除public int delete(int username) throws Exception{Connection conn = null;PreparedStatement pstmt = null;int result = 0;conn = JdbcUtil.getConnection();String sql = "delete from user_b where username=?";pstmt = conn.prepareStatement(sql);pstmt.setInt(1, username);result = pstmt.executeUpdate();JdbcUtil.free(null, pstmt, conn);return result;}}

4.注册页面a.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form>用户名:<input type="text" name="xm"><br><br> 密码:<input type="password" name="mm"><br><br> <input type="submit" value="提交"></form>
</body>
</html>

5.处理登录的servlet

6.结果页面b.jsp

例3:学生体质信息管理

student.java

package beans;public class Student {private int id;private String name;private String sex;private int age;private float weight;private float height;public Student() {}public Student(int id,String name,String sex,int age,float weight,float height) {this.id = id;this.name = name;this.sex = sex;this.age = age;this.weight = weight;this.height = height;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}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 float getWeight() {return weight;}public void setWeight(float weight) {this.weight = weight;}public float getHeight() {return height;}public void setHeight(float height) {this.height = height;}}

studentDao.java

package Dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import org.apache.tomcat.dbcp.dbcp2.PStmtKey;import com.sun.org.apache.xerces.internal.util.EntityResolver2Wrapper;import Util.JdbcUtil;
import beans.Student;public class StudentDao {public Student create(Student stu) throws Exception{Connection conn = JdbcUtil.getConnection();String sql = "insert into stu_info (id,name,sex,age,weight,height) values(?,?,?,?,?,?)";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setInt(1, stu.getId());pstmt.setString(2, stu.getName());pstmt.setString(3, stu.getSex());pstmt.setInt(4, stu.getAge());pstmt.setFloat(5, stu.getWeight());pstmt.setFloat(6, stu.getHeight());pstmt.executeUpdate();JdbcUtil.free(null, conn, pstmt);return stu;}public List<Student> findAll() throws Exception{Connection conn = JdbcUtil.getConnection();String sql = "select * from stu_info";PreparedStatement pstmt = conn.prepareStatement(sql);ResultSet rs = null;List<Student> students = new ArrayList<Student>();rs = pstmt.executeQuery();while(rs.next()) {Student stu2 = new Student();stu2.setId(rs.getInt(1));stu2.setName(rs.getString(2));stu2.setSex(rs.getString(3));stu2.setAge(rs.getInt(4));stu2.setWeight(rs.getFloat(5));stu2.setHeight(rs.getFloat(6));students.add(stu2);}JdbcUtil.free(rs, conn, pstmt);return students;}public void remove(Student stu) throws Exception{Connection conn = JdbcUtil.getConnection();String sql = "delete from stu_info where name=?";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, stu.getName());pstmt.executeUpdate();JdbcUtil.free(null, conn, pstmt);}public void update(Student stu) throws Exception{Connection conn = JdbcUtil.getConnection();String sql = "update stu_info set id=?,name=?,sex=?,age=?,weight=?,height=? where name=? ";PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setInt(1, stu.getId());pstmt.setString(2, stu.getName());pstmt.setString(3, stu.getSex());pstmt.setInt(4, stu.getAge());pstmt.setFloat(5, stu.getWeight());pstmt.setFloat(6, stu.getHeight());pstmt.setString(7, stu.getName());pstmt.executeUpdate();JdbcUtil.free(null, conn, pstmt);}
}

JdbcUtil.java

package Util;import java.sql.*;
import java.sql.DriverManager;import com.mysql.cj.jdbc.Driver;public class JdbcUtil {public static Connection getConnection() throws Exception {String dbName = "students";String driverName = "com.mysql.jdbc.Driver";String userName = "root";String userPwd = "1234";String url1 = "jdbc:mysql://localhost:3306/"+dbName;String url2 = "?user="+userName+"&password"+userPwd;String url3 = "&useUnicode=true&characterEncoding=UTF-8";String url = url1+url2+url3;Class.forName(driverName);Connection conn = DriverManager.getConnection(url);return conn;}public static void free(ResultSet rs,Connection conn,PreparedStatement pstmt) throws Exception {if(rs!=null) {rs.close();}if(conn!=null) {conn.close();}if(pstmt!=null) {pstmt.close();}}}

servlet:   insert.java

package servlet;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import Dao.StudentDao;
import beans.Student;/*** Servlet implementation class Insert*/
@WebServlet("/Insert")
public class Insert extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public Insert() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubrequest.setCharacterEncoding("UTF-8");int id = Integer.parseInt(request.getParameter("id"));String name = request.getParameter("name");String sex = request.getParameter("sex");int age = Integer.parseInt(request.getParameter("age"));Float weight = Float.parseFloat(request.getParameter("weight"));Float height = Float.parseFloat("height");Student stu = new Student(id,name,sex,age,weight,height);StudentDao studentDao = new StudentDao();studentDao.create(stu);response.sendRedirect(StudentServlet?action=list);response.getWriter().append("Served at: ").append(request.getContextPath());}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}

list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" import="java.util.*" import="beans.Student"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生信息管理</title>
</head>
<body><a href="insert.jsp">添加学生</a><table><tr><th>学号</th><th>姓名</th><th>性别</th><th>年龄</th><th>体重</th><th>身高</th><th>操作</th></tr><%List<Student> students = (List<Student>) request.getAttribute("students");if (students != null && !students.isEmpty()) {for (Student student : students) {%><tr><td><%=student.getId()%></td><td><%=student.getName()%></td><td><%=student.getSex()%></td><td><%=student.getAge()%></td><td><%=student.getWeight()%></td><td><%=student.getHeight()%></td><td><a href="edit.jsp?name=<%=student.getName()%>">编辑</a> <ahref="delete.jsp?name=<%=student.getName()%>"onclick="return confirm('确定要删除吗?')">删除</a></td></tr><%}}%></table>
</body>
</html>

insert.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="insert" method="post"><table><tr><td>学号</td><td><input type="text" name="id"></td></tr><tr><td>姓名</td><td><input type="text" name="name"></td></tr><tr><td>性别</td><td><input type="text" name="sex"></td></tr><tr><td>年龄</td><td><input type="text" name="age"></td></tr><tr><td>体重</td><td><input type="text" name="weight"></td></tr><tr><td>身高</td><td><input type="text" name="height"></td></tr><tr><td><input type="submit" value="提交"></td></tr></table></form>
</body>
</html>

相关文章:

  • Python使用总结之Linux部署python3环境
  • 基于springboot视频及游戏管理系统+源码+文档+应用视频
  • linux安装Redis6.0.8
  • 进程间通信详解(三):Linux进程信号深度解析
  • Unity Assembly的灵活用法总结
  • 深度学习入门(4):resnet50
  • 【Fifty Project - D36】
  • 【sqlite开发】遇到的问题及解决方法收录
  • 【chipyard】Gemmini 定制
  • 【MicronTech】eMMC 部件编号解析
  • python3.12安装记录
  • Systemctl 手记:从服务管理到资源控制的进阶实践
  • 纯血HarmonyOS ArKTS NETX 5 打造小游戏实践:大鱼吃小鱼(附源文件)
  • 明远智睿SD2351核心板:边缘计算时代的工业级核心引擎深度解析
  • 安装 Poppler(Windows)
  • linux 配置mvn
  • RK3588 ENV 环境配置之 fw_printenv
  • 高效管理Python环境:Miniforge、pyenv和Poetry深度对比与应用
  • TEXT2SQL-vanna多表关联的实验
  • 开源模型应用落地:GLM-4 上手实测体验报告!
  • 优秀网站建设设计/宁波seo网络推广主要作用
  • 如何上传自己做的网站/竞价推广课程
  • 政府门户网站建设情况说明/seo搜索优化待遇
  • 陕西门户网站建设/在线查询网站收录
  • 网站导航条制作/绍兴seo网站推广
  • 自己做网站生意怎么样/网站优化公司排名