轻量级Web应用服务器,开发和调式Servlet、JSP程序的首选
Server Applet: Java Servlet的简称,称小服务程序或服务连接器。
resp.setContentType("text/html;charset=utf-8");
// 获取工程名
String contextPath = servletContext.getContextPath();
// 获取部署工程路径信息,对应的就是当前工程中的web目录
String realPath = servletContext.getRealPath("/");
RegisterServlet
com.demo.servlet.RegisterServlet
RegisterServlet
/register
package com.demo.servlet;
import com.demo.dao.UserDao;
import com.demo.model.User;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class RegisterServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取请求对象中保存的用户和密码
String username = req.getParameter("username");
System.out.println("获取到的用户名为:" + username);
String password = req.getParameter("password");
System.out.println("获取到的密码为:" + password);
// 将接受到的用户名和密码信息打包成用户对象交给DAO层进行处理
User user = new User(username, password);
UserDao userDao = new UserDao();
int count = userDao.createUser(user);
// 将处理结果响应到浏览器
resp.setContentType("text/html;charset=utf-8");
PrintWriter writer = resp.getWriter();
if (1 == count) {
System.out.println("注册成功。。。");
writer.write("注册成功!!!
");
} else {
writer.write("注册失败!!!
");
}
writer.close();
}
}
package com.demo.dao;
import com.demo.model.User;
import com.demo.util.DbUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDao {
public int createUser(User user) {
Connection connection = null;
PreparedStatement ps = null;
try {
// 获取连接
connection = DbUtil.getConnection();
// 准备sql语句
String sql = "insert into t_user values(null, ?, ?)";
// 获取PrepareStatement类型的引用
ps = connection.prepareStatement(sql);
// 向占位符设置数据
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
// 执行sql语句
int row = ps.executeUpdate();
return row;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
DbUtil.closeConnection(connection, ps);
} catch (SQLException e) {
e.printStackTrace();
}
}
return 0;
}
}
package com.demo.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DbUtil {
private static String jdbcName;
private static String dbUrl;
private static String dbUsername;
private static String dbPassword;
static {
jdbcName = "com.mysql.jdbc.Driver";
dbUrl = "jdbc:mysql://192.168.30.222:3306/mybatis_demo";
dbUsername = "root";
dbPassword = "root";
try {
Class.forName(jdbcName);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
/**
* 获取连接
* @return
* @throws SQLException
*/
public static Connection getConnection() throws SQLException {
Connection conn = DriverManager.getConnection(dbUrl,dbUsername, dbPassword);
return conn;
}
/**
* 关闭连接
* @param conn
* @throws SQLException
*/
public static void closeConnection(Connection conn, PreparedStatement ps) throws SQLException {
if (null != conn) {
conn.close();
}
if (null != ps) {
ps.close();
}
}
}
RedirectServlet
com.demo.servlet.RedirectServlet
RedirectServlet
/redirectTo
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("接受到了浏览器的请求。。。");
resp.sendRedirect("target.html");
}
重定向后的页面
服务器重新指定位置后的页面
ForwardServlet
com.demo.servlet.ForwardServlet
ForwardServlet
/forward
TargetServlet
com.demo.servlet.TargetServlet
TargetServlet
/target
转发测试
package com.demo.servlet;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class ForwardServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("接受到了浏览器的请求");
// 向request对象中设置属性信息
req.setAttribute("forward", "forward");
// 转发 让web组件将任务转交给另外一个web组件
RequestDispatcher requestDispatcher = req.getRequestDispatcher("/target");
requestDispatcher.forward(req, resp);
}
}
package com.demo.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class TargetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("转发过来了。。。");
// 获取request对象中的属性值判断是否共享
Object forward = req.getAttribute("forward");
System.out.println("forward = " + forward);
// 通过打印流向页面写入转发成功的信息
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().write("转发成功!
");
}
}
页面更新:2024-05-20
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号