环境配置

需要配置web.xml文件,

<web-app>
<servlet>
<servlet-name>你起的一个类的名字</servlet-name>
<servlet-class>该类的全部路径</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>同上面那个类的名字</servlet-name>
<url-pattern>/加上那个类的名字</url-pattern>
</servlet-mapping>
</web-app>

要使用到Servlet相关类,需要提前将相关导包导入到pom.xml文件中(导包的导入在Maven项目就已经将网址分享啦!网址很好用,咱就是说)

Servlet类中,包含两个方法:doGet方法和doPost方法,其中,doGet方法是将数据写入到网页中,即与在jsp文件中写<%%>这样子的Java代码是一样的道理,但servlet更加受欢迎一些,更常见一些,应用更广一些;而doPost方法,主要适用于将数据传递到表单中,达到修改数据库数据的目的;

相关文件的编写

1、JDBCUtils.java文件(存储连接数据库的各种操作:连接、查询、修改,关闭等)

import java.sql.*;

public class JDBCUtils {
private String driver="com.mysql.cj.jdbc.Driver";
private String url="jdbc:mysql://localhost:3306/ad";
private String root="root";
private String password="20214063"; private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;
//打开连接
public boolean connect(String sql) throws ClassNotFoundException, SQLException {
boolean b=false;
Class.forName(driver);
conn= DriverManager.getConnection(url,root,password);
b=true;
return b;
}
//修改
public void update(String sql) throws SQLException {
boolean b=false;
stmt=conn.createStatement();
stmt.execute(sql);
b=true;
}
//查询
public void print(String sql) throws SQLException {
boolean b = false;
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
//关闭连接
public void close() throws SQLException {
if(rs!=null){
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
} }

2、userServlet.java文件(用于读取用户的相关信息,并进行判断)

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 java.io.IOException;
import java.sql.SQLException; @WebServlet("/userServlet")
public class userServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String name=req.getParameter("name");
String id=req.getParameter("id");
if(name==null||id==null){
System.out.println("用户名或者密码不能为空!");
resp.sendRedirect("index.jsp");
return ;
} userBean user=new userBean();
boolean isValue= false;
try {
isValue = user.isValid(name,id);
} catch (SQLException e) {
throw new RuntimeException(e);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
if(isValue){
System.out.println("登录成功!");
req.getSession().setAttribute("name",name);
resp.sendRedirect("index.jsp");
return ;
}
}
}

3、userBean.java文件(用于存放具体的判断验证是否有效的代码,上个文件只是引用其中的具体代码)

public class userBean {

    //登录验证
public boolean isValid(String name,String id) throws SQLException, ClassNotFoundException {
boolean b=false;
JDBCUtils uu=new JDBCUtils();
if(uu.connect()){
String sql="select * from we where name="+name+" and id="+id+"";
uu.print(sql);
if(uu.next()){
b=true;
return b;
}
b=false;
return b;
}
return b;
} }

4、index.jsp(编写的登录界面,直接传递值传到页面中)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>登录界面</title>
</head>
<body>
<div id="loginDiv" style="...">
<form action="userServlet?name=1" id="form" method="post">
<h1 id="loginMsg">LOGIN IN</h1>
<div id="用户名或密码不正确"></div>
<p>Username:<input id="username" name="username" type="text"></p>
<p>Id:<input id="id" name="id" type="password"></p> <div id="subDiv">
<input type="submit" class="button" value="login up">
<input type="reset" class="button" value="reset">
<a href="register.jsp">没有账号?</a>
</div>
</form>
</div>
</body>
</html>

当然还有相关的注册界面、验证是否登陆成功、注册成功界面的编写,其基本结构与index.jsp结构一致,自己自行编写即可。

加深印象篇之Servlet的更多相关文章

  1. Servlet第二篇【Servlet调用图、Servlet细节、ServletConfig、ServletContext】

    Servlet的调用图 前面我们已经学过了Servlet的生命周期了,我们根据Servlet的生命周期画出Servlet的调用图加深理解 Servlet的细节 一个已经注册的Servlet可以被多次映 ...

  2. C++中const关键字的使用方法,烦透了一遍一遍的搜,总结一下,加深印象!!!

    之前一直在学习C/C++,关于const的使用,这里出现一点,那里出现一点.知识用时方恨少,这一段时间正好各种笔试题,其中关于const的用法也是层出不穷,所以疲于在书本上各种翻,这里汇总一下,加深自 ...

  3. JMeter接口测试印象篇(win10)

    参考博文1:https://www.cnblogs.com/suim1218/p/9257369.html 参考博文2:https://blog.csdn.net/u011541946/article ...

  4. 淘宝(阿里百川)手机客户端开发日记第十一篇 JSP+Servlet

    由于本人从事.net开发已有多年经验,今天由于工作需要,我只能学习下JSP+Servlet,至于java web提供了更好的开发框架MVC,现在由于时间关系,我只好用JSP+Servlet来搭建服务器 ...

  5. Java从入门到精通——基础篇之Servlet与JSP的区别

    一.基本概念 1.1 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面.它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器 ...

  6. servlet篇 之 servlet的访问

    三:servlet的访问 使用web.xml文件中的这个<url-pattern>标签中的映射路径,来访问servlet 6.1 在浏览器的地址栏中,直接输入servlet映射的路径来访问 ...

  7. servlet篇 之servlet实现

    一:如何写一个servlet 实现/继承 如下 接口/类 Servlet   接口 有五个抽象方法 GenericServlet  抽象类     有一个抽象方法 HttpServlet   抽象类 ...

  8. servlet篇 之 servlet概念及其功能实现

    Servlet概念: 在JavaWeb中,把那些可以使用浏览器通过url的形式来访问的java类,叫做servlet. servlet就是java类中的一种,只不过这种java类有一个特殊的功能,就是 ...

  9. 如何设置页面自动刷新第一篇?? servlet setHeader("refresh","2")

    import java.io.IOException; import java.util.Random; import javax.servlet.ServletException; import j ...

  10. [技巧篇]01.Servlet的优化模版代码

    Servlet.java的模版 #---------------------------------------------# # <aw:description>Template for ...

随机推荐

  1. 上传文件-jq

    var formFile = new FormData(); formFile.append("[file]", fileObj); formFile.append("t ...

  2. vue后台管理系统——登录/退出功能

    电商后台管理系统的功能--登录/退出功能 1. 登录业务流程 ① 在登录页面输入用户名和密码 ② 调用后台接口进行验证 ③ 通过验证之后,根据后台的响应状态跳转到项目主页 2. 登录业务的相关技术点 ...

  3. c++ vtdcm对于压缩模式文档图片的读取

    //获取dcm数据结构,一下图像数据仅针对单通道8字节数据 DcmFileFormat fileformat; OFCondition oc = fileformat.loadFile(dcmPath ...

  4. Vue3注册全局组件

    1. Vue3全局组件注册 components文件夹下新建index.js文件,统一引入需要注册的组件 import CustomCheck from "./CustomCheck.vue ...

  5. 20200923--计算鞍点(奥赛一本通P91 4)

    给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点.鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值. 例如:在下面的例子中(第4行第1列的元素就是鞍 ...

  6. UEC++学习(2)

    第三章 断言 第一节 简单的断言 断言让程序的进程中断,方便程序员发现在哪里发生了问题. AGameBase * GameBase = nullptr; check(false); check(Gam ...

  7. vite+vue3批量导入静态资源图片;动态绑定大量图片

    vite版本:vite3:vue版本:vue3 打包上线后发现,动态绑定的图片皆失效. 单图可用 import 导入解决,但是若有大量图片,一一导入则耗时耗力. vue2+webpack 可用 req ...

  8. Jmeter-接口测试(一)

    一.接口测试分类 内部接口 外部接口--被测系统调用外部     --系统对外部提供的接口 接口测试重点:接口参数传递的正确性.接口功能的正确性.输出结果正确性.各种异常容错处理.权限控制.分页.调用 ...

  9. scrollToFirstError失效解决方法

    ant design 使用 设置scrollToFirstError = true,表单验证失败后却没有滚动到第一个错误字段 解决方法: 在button按钮中加入 html-type = 'submi ...

  10. 如何用虚拟机VMware Workstation安装CentOs-7

    因为我是先安装虚拟机的,再安装CentOs的.在此建议大家先安装CentOs-7再安装虚拟机,比较方便. 1.首先进入centos官方网站下载,网站如下:https://www.centos.org/ ...