package com.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Dbutils {
private static String dbNAME;
private static String dbURL;
private static String dbUSERNAME;
private static String dbPASSWORD;
static {
dbNAME="com.mysql.jdbc.Driver";
dbURL="jdbc:mysql://127.0.0.1:3306/db_web?characterEncoding=utf-8";
dbUSERNAME="root";
dbPASSWORD="123456";
try {
Class.forName(dbNAME);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
Connection con= DriverManager.getConnection(dbURL,dbUSERNAME,dbPASSWORD);
return con;
}
public static void close(Connection con) throws SQLException {
if (con!=null){
con.close();
}
}
public static void close(Connection con, PreparedStatement ps) throws SQLException {
if (null!=ps){
ps.close();
}
close(con);
}
}
package com.dao;
import com.modal.User;
import com.utils.Dbutils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDao {
public int creatUser(User user){
Connection con=null;
PreparedStatement ps=null;
try {
con= Dbutils.getConnection();
String sql="insert into User values(null,?,?)";
ps= con.prepareStatement(sql);
ps.setString(1,user.getUserName());
ps.setString(2,user.getPassword());
//数据库原表ALTER TABLE USER MODIFY userName VARCHAR(20) CHARACTER SET "utf8";不然无法识别中文
int row = ps.executeUpdate();
return row;
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
Dbutils.close(con,ps);
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
}
}
package com.servlet;
import com.dao.UserDao;
import com.modal.User;
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.io.PrintWriter;
@WebServlet(name = "RegisterServlet")
public class RegisterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String name = request.getParameter("userName");
String password = request.getParameter("password");
System.out.println("用户名:"+name+",密码:"+password);
User user = new User(name, password);
UserDao userDao = new UserDao();
int i = userDao.creatUser(user);
response.setContentType("text/html;charset=UTF-8");
PrintWriter writer = response.getWriter();
if(i==1) {
writer.write("<h1>注册成功</h1>");
}else{
writer.write("<h1>注册失败</h1>");
}
writer.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
package com;
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;
@WebServlet(name = "RedirectServlet")
public class RedirectServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("开始重定向");
response.sendRedirect("https://www.jiegeng.com/bz=18052915230356");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册登录页面</title>
</head>
<body>
<form action="redirect" method="post">
重定向页面 <br>
<input type="submit" value="提交"></form>
</body>
</html>
方法声明 | 功能介绍 |
Object getAttribute(String name) |
将指定属性值作为对象返回,若给定名称属性不存 在,则返回空值 |
void setAttribute(String name,Object o) |
在此请求中存储属性值 |
方法声明 | 功能介绍 |
RequestDispatcher getRequestDispatcher(String path) |
返回一个RequestDispatcher对象,该对象充当位 于给定路径上的资源的包装器 |
方法声明 | 功能介绍 |
void forward(ServletRequest request, ServletResponse response) |
将请求从一个servlet转发到服务器上的另一个资 源(Servlet、JSP文件或HTML文件) |
package com;
import javax.servlet.RequestDispatcher;
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;
@WebServlet(name = "ForwardServlet")
public class ForwardServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("开始转发");
request.setAttribute("key1","value1");
RequestDispatcher requestDispatcher = request.getRequestDispatcher("forwardEnd");
requestDispatcher.forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
//--------------------------
package com;
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;
@WebServlet(name = "ForwardEndServelet")
public class ForwardEndServelet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("转发成功");
System.out.println(request.getAttribute("key1"));
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>注册登录页面</title>
</head>
<body>
<form action="forward" method="post">
转发页面 <br>
<input type="submit" value="提交"></form>
</body>
</html>
package com;
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.io.PrintWriter;
@WebServlet(name = "ThreadServlet",urlPatterns = "/thread")
public class ThreadServlet extends HttpServlet {
private String name;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
synchronized (this) {
System.out.println("线程测试");
//1.获取名字
name=request.getParameter("name");
System.out.println(name);
//2.启动线程睡眠
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//3.输出姓名
PrintWriter writer = response.getWriter();
writer.write("<h1>"+name+"</h1>");
writer.close();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>thread测试</title> </head> <body> <iframe width="300px" height="100px" src="thread?name=admin1"></iframe> <iframe width="300px" height="100px" src="thread?name=admin2"></iframe> <iframe width="300px" height="100px" src="thread?name=admin3"></iframe> </body> </html>
方法声明 | 功能介绍 |
void addCookie(Cookie cookie) | 添加参数指定的对象到响应 |
方法声明 | 功能介绍 |
Cookie[] getCookies() | 返回此请求中包含的所有Cookie对象 |
方法声明 | 功能介绍 |
String getName() | 返回此Cookie对象中的名字 |
String getValue() | 返回此Cookie对象的数值 |
void setValue(String newValue) | 设置Cookie的数值 |
原文:https://www.cnblogs.com/forever-fate/p/14298794.html