如何创建并部署⼀个servlet
最近开始接触后端服务器,学习了如何创建servlet,在此记下备⽤。
注:本⽂将会介绍如何在IntelliJ IDEA上创建⼀个servlet,并部署到tomcat服务器。
注:本⽂仅供⾮后端⼈员应急使⽤,⽣产环境请进⾏系统的学习。
新建项⽬
启动IntelliJ IDEA后选择new - Project ,然后选择JAVA EE下的Web Application
输⼊项⽬名称,完成项⽬创建。
添加依赖
添加servlet依赖的tomcat的JAR包,在file-Project Structure中,选择Libraries , 然后点击绿⾊的加号,选择java,选择tomcat/lib/servlet-api.jar,跳过这⼀步在新建servlet时可能会导致缺少必要的⽂件。
创建数据库的操作类
本⽂创建的servlet⽤于提供接⼝操作数据库,⾸先需要创建数据库的操作类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
//⽤于获得数据库的连接的类为什么要学编程?有什么好处
class DBUtil {
idea配置artifacts
//数据库地址:端⼝号/数据库名字
private static final String URL = "jdbc:mysql://127.0.0.1:3306/mysql?useUnicode=true&characterEncoding=utf-8";
//登陆数据库的账户名
private static final String USER = "usr";
//登陆数据库的密码
private static final String PASSWORD = "password";
private static Connection conn = null;
static void prepare(){
try {
//1.加载驱动程序
Class.forName("sql.jdbc.Driver");
//2.获得数据库的连接
conn = Connection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//将获得的数据库与java的链接返回(返回的类型为Connection)
static Connection getConnection() {
prepare();
return conn;
}
}
【注意】加载驱动类Class.forName("sql.jdbc.Driver")需要导⼊jar包,我使⽤的版本是mysql-connector-java-5.1.46.jar
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//封装执⾏SQL语句的类,这⾥只写⼀个插⼊语句当作栗⼦
class DateBaseHelper {
static Map<String, Object> insertData(String sql) {
Connection conn = null;
Statement st = null;
ResultSet rs = null;
Map<String, Object> resultMap = new HashMap<>();
element ui分页问题try {
conn = Connection();
st = ateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);            PreparedStatement pst = conn.prepareStatement(sql);
resultMap.put("errorCode", "0");
return resultMap;
} catch (Exception e) {
System.out.Message());
resultMap.put("errorCode", "-1");
resultMap.put("message", e.getMessage());
return resultMap;
} finally {
前端面试自我介绍模板
try {
if (st != null) {
st.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
System.out.Message());
}
}
}
创建servlet
在项⽬中右键src,选择New - Servlet,输⼊名称完成创建。
默认名称命名的Servler⼤概长这个样⼦:
doPost⽤来处理post请求,doGet处理get请求。
添加逻辑,处理get请求,接受userName参数,并写⼊数据库。
import com.alibaba.fastjson.JSON;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.URLDecoder;
import java.util.Map;
@WebServlet(value = "/LogOn")
public class Servlet extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletRe
sponse response) throws javax.servlet.ServletExce ption, IOException {
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletExcep tion, IOException {
response.setContentType("text/html; charset=utf-8");//如果出现输出中⽂乱码需添加这⼀⾏
PrintWriter out = Writer();
String userName = URLDecoder.Parameter("userName")==null?"":Parameter("userName"), "UTF-8");text函数年月日
Map<String,Object> resultMap;
String res;
if (!"".equalsIgnoreCase(userName)){
resultMap = DateBaseHelper.insertData("insert into user(user_name)  values('"+userName+"');");
res= JSONString(resultMap);
s11全球总决赛8强抽签}else{
res="⽆效的⽤户名";
}
out.print(res);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。