Servlet/JSP小白初学

仅作为临时存储用,看官绕道- -

WebServlet FormServlet

【user包】:

Dbus.java

package user;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Dbus {

	public static Connection getConnection() {
		Connection conn = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			System.out.println("驱动程序未找到,请导入驱动包");
			e.printStackTrace();
		}
		try {
			conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/Tables", "root", "root");
		} catch (SQLException e) {
			System.out.println("执行数据库连接时发生错误");
			e.printStackTrace();
		}
		return conn;
	}

	public static void closeConnection(Connection conn) {
		try {
			if (conn != null) {
				conn.close();
				conn = null;
			}
		} catch (SQLException e) {
			System.out.println("执行关闭数据库连接过程中发生错误...");
			e.printStackTrace();
		}
	}

	public static void closeStatement(Statement stmt) {
		try {
			if (stmt != null) {
				stmt.close();
				stmt = null;
			}
		} catch (SQLException e) {
			System.out.println("执行关闭表达式语句过程中发生错误...");
			e.printStackTrace();
		}

	}

	public static void closeResults(ResultSet results) {
		try {
			if (results != null) {
				results.close();
				results = null;
			}
		} catch (SQLException e) {
			System.out.println("执行关闭结果集过程中发生错误...");
			e.printStackTrace();
		}

	}

}

User,java

package user;

public class User {
	private String name;
	private String password ;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

UserInterface.java

package user;
import java.util.List;

public interface UserInterface {
	boolean insert(String name,String password);
	boolean delete(String name);
	User update(String name,String password);
	User queryByName(String name);
	List<User> queryAll();
	boolean login(String name,String password);
}

UserImpl.java

package user;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class UserImpl implements UserInterface {

	static Connection conn = Dbus.getConnection();

	public boolean insert(String name,String password) {

		PreparedStatement pstmt = null;
		boolean register=false;
		String sql="insert into user(name,password)values(?,?)";
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, name);
			pstmt.setString(2, password);
			int i=pstmt.executeUpdate();
			if(i>0){
				register=true;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			Dbus.closeStatement(pstmt);
			//Dbus.closeConnection(conn);
		}
		return register;

	}

	public void delete(User user) {
		public boolean delete(String name) {
  	PreparedStatement pstmt = null;
  	boolean del=false;
  	String sql="delete from users where name=?";
  	try {
   	pstmt=conn.prepareStatement(sql);
   	pstmt.setString(1, name);
   	int i=pstmt.executeUpdate();
   	if(i>0){
    	del=true;
  	 }
  	} catch (SQLException e) {
   	e.printStackTrace();
 	 }finally {
  	 Dbus.closeStatement(pstmt);
 	 }
  	return del;
 	}	
}

	public User update(String name,String password) {
		PreparedStatement pstmt = null;
		User user=new User();
		String sql="update user set name=?,password=?";
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, name);
			pstmt.setString(2, password);
			int i=pstmt.executeUpdate();
			if(i>0){
				user.setName(name);
				user.setPassword(password);
			}
			else{
				user=null;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			Dbus.closeStatement(pstmt);
			//Dbus.closeConnection(conn);
		}
		return user;
	}

	public User queryByName(String name) {
		PreparedStatement pstmt = null;
		ResultSet results = null;
		User user=new User();
		user.setName(name);
		String sql="select from user name=?";
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setString(1, name);
			results=pstmt.executeQuery();
			if(results.next()){
				String password=results.getString(2);
				user.setPassword(password);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			Dbus.closeResults(results);
			Dbus.closeStatement(pstmt);
			//Dbus.closeConnection(conn);
		}
		return user;
		

	}

	public List<User> queryAll() {
		PreparedStatement pstmt = null;
		ResultSet results = null;
		List<User> list = new ArrayList<User>();
		String sql = "select * from user";
		try {
			pstmt = conn.prepareStatement(sql);
			results = pstmt.executeQuery();
			while (results.next()) {
				User user = new User();
				user.setName(results.getString(1));
				user.setPassword(results.getString(2));
				list.add(user);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			Dbus.closeResults(results);
			Dbus.closeStatement(pstmt);
		}
			//Dbus.closeConnection(conn);
		return list;

	}

	public boolean login(String name, String password) {
		PreparedStatement pstmt = null;
		ResultSet results = null;
		boolean login=false;
		String sql = "select * from user where name=? and password=?";
		try {
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, name);
			pstmt.setString(2, password);
			results = pstmt.executeQuery();
			if (results.next()) {
				login=true;
			} 
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			Dbus.closeResults(results);
			Dbus.closeStatement(pstmt);
			//Dbus.closeConnection(conn);
		}
		return login;

	}

}

【servlet包】

LoginServlet.java

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import user.UserImpl;
import user.UserInterface;

public class LoginServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		UserInterface ui=new UserImpl();
		String name=request.getParameter("name");
		String password=request.getParameter("password");
		if(ui.login(name, password)==true){
			out.println("欢迎来到!");
		}
		else{
			request.getRequestDispatcher("/login.html").forward(request, response);
			//this.getServletConfig().getServletContext().getRequestDispatcher("/login.html").forward(request, response);
		}
		out.flush();
		out.close();
	}

}

RegisterServlet.java

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import user.UserImpl;
import user.UserInterface;

public class RegisterServlet extends HttpServlet {

	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		UserInterface ui = new UserImpl();
		String name = request.getParameter("name");
		String password = request.getParameter("password");
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		if (ui.insert(name, password) == true) {
			out.println("恭喜,注册成功");
		} else {
			out.println("对不起,注册失败");
		}
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

}

EncodeFilter.java

package servlet;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class EncodeFilter implements Filter{

	public void destroy() {
		// TODO Auto-generated method stub
		
	}

	public void doFilter(ServletRequest req, ServletResponse res,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest request= (HttpServletRequest)req;
		HttpServletResponse response=(HttpServletResponse)res;
		request.setCharacterEncoding("gb2312");
		response.setCharacterEncoding("gb2312");
		chain.doFilter(req, res);
		
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
		
	}

}

【webroot】

register.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>register.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=gb2312">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
  
  <body>
    <form action="/FormServlet/servlet/RegisterServlet">
    <b>注册</b><br>
    用户名:
    <input type="text" name="name" /><br><br>
    密 码:
    <input type="password" name="password"/><br>
    <br>
    <input type="submit" value="注册" />  
    <input type="reset" value="重置" />
    <br>
    (<font color="red">我已经有账号,点击</font><a href="login.html">登陆</a>)
    </form>
  </body>
</html>
login.html


DeleteServlet

 

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import user.User;
import user.UserImpl;
import user.UserInterface;

public class DeleteServlet extends HttpServlet {


 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  UserInterface ui = new UserImpl();
  String delname = request.getParameter("delname");
  if(ui.delete(delname)){
   out.println("<script>alert('删除成功')</script>");
  }
  out.flush();
  out.close();
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  UserInterface ui = new UserImpl();
  String delname = request.getParameter("delname");
  if(ui.delete(delname)){
   out.println("<script>alert('删除成功')</script>");
  }
  out.flush();
  out.close();
 }

}


QueryAllServlet

 

package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import user.User;
import user.UserImpl;
import user.UserInterface;

public class QueryAllServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  this.doPost(request, response);
 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();
  UserInterface ui=new UserImpl();
  List<User> list=ui.queryAll();
  HttpSession session=request.getSession(true);
  out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
  out.println("<HTML>");
  out.println("  <HEAD><TITLE></TITLE></HEAD>");
  out.println("  <BODY>");
  out.println("<table border=\"2\" width=\"75%\" align=\"center\"><tr><th>用户名</th><th>密码</th><th>性别</th><th>城市</th><th>关于我</th><th>操作</th></tr>");
  for(int i=0;i<list.size();i++){
   out.println("<tr><td align=\"center\">"+"<font color=\"blue\">"+list.get(i).getName()+"</font>"+"</td>");
   out.println("<td align=\"center\">"+"<font color=\"red\">"+list.get(i).getPassword()+"</font>"+"</td>");
   out.println("<td align=\"center\">"+"<font color=\"blue\">"+list.get(i).getSex()+"</font>"+"</td>");
   out.println("<td align=\"center\">"+"<font color=\"blue\">"+list.get(i).getCity()+"</font>"+"</td>");
   out.println("<td align=\"center\">"+"<font color=\"blue\">"+list.get(i).getDescription()+"</font>"+"</td>");
   String delname=list.get(i).getName();
   //out.println("");
   //out.println("<input type=\"radio\" οnclick="javascript:window.location.href='http://localhost:8888/FormServlet/DeleteServlet?name='+id\">");
   //out.println("<script>id+=1;</script>");
   out.println("<td align=\"center\">"+"<a href=\"http://localhost:8888/FormServlet/servlet/DeleteServlet?delname="+delname+"\" "+">"+"删除</a>"+"</td></tr>");
   //out.println("<td align=\"center\">"+"<input type=\"button\" value=\"删除\" οnclick=\"javascript:window.location.href='http://localhost:8888/FormServlet/DeleteServlet?name='+id\" />"+"</td></tr>");
  }
  out.println("</table>");
  out.println("  </BODY>");
  out.println("</HTML>");
  out.flush();
  out.close();
 }

}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Head First Servlet/JSP》是一本非常受欢迎的电子书,它以有趣和易懂的方式介绍了有关ServletJSP的概念和技术。 这本书以轻松幽默的风格,通过有趣的故事和图表,深入讲解了ServletJSP的原理和用法。无论你是初学者还是有一定经验的开发者,这本书都能帮助你快速掌握这些技术。 《Head First Servlet/JSP》从基础概念开始介绍,包括Servlet容器、HTTP协议等。然后,它逐步引导读者了解如何开发动态的Web应用程序,包括如何处理表单、会话管理、数据持久化等。这本书通过实际的示例和练习,帮助读者深入理解这些概念,并且指导读者开发出功能强大的Web应用。 与其他技术书籍不同,《Head First Servlet/JSP》采用了一种更加互动和参与的方式。它使用了大量的图表、插图和练习,帮助读者更好地理解和记忆所学内容。书中的问答问题和拓展思维习题也能够锻炼读者的思维能力和解决问题的能力。 此外,这本书还涵盖了一些常见的开发工具和技术,如Eclipse和Tomcat服务器,以及MVC架构模式。通过学习这些工具和技术,读者可以更加高效和专业地开发ServletJSP应用。 总之,《Head First Servlet/JSP》是一本令人愉快和实用的电子书,它不仅教授了ServletJSP的知识,还能够激发读者的兴趣和学习动力。无论你是初学者还是有一定经验的开发者,这本书都能够帮助你提升技能,成为一名更加出色的Java Web开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值