servlet学习
2016-07-05 14:17
525 查看
servlet学习
标签: servlet/* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . __ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ======`-.____`-.___\_____/___.-`____.-'====== `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永无BUG */
最近在学习servlet,用原生的servlet写了一个简单的登录注册,在此记录一下,目录结构:
登录
LoginServlet—登录界面
package servlet; 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.OutputStream; /** * Created by Fate on 2016/7/1. */ public class LoginServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { OutputStream outputStream = resp.getOutputStream(); String response = "<html>\n" + "<head>\n" + " <title>LoginServlet</title>\n" + "<meta charset=\"utf-8\">" + "</head>\n" + "<body>\n" + "<form action=\"loginControllerServlet\" method=\"post\">\n" + " <input name=\"username\" placeholder=\"please enter your name\" type=\"text\">\n" + " <input name=\"password\" placeholder=\"please enter password\" type=\"password\">\n" + "</br>" + " <input type=\"submit\" value=\"submit\">\n" + " <input type=\"reset\" value=\"reset\">\n" + "<span>don't have account?</span>" + "<a href=\"registerServlet\">Now register!</a>" + "</form>\n" + "</body>\n" + "</html>"; outputStream.write(response.getBytes()); outputStream.close(); } }
LoginControllerServlet—登录管理
package controller; import service.LoginService; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Fate on 2016/7/1. */ public class LoginControllerServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); LoginService LoginService = new LoginService(); boolean result = LoginService.login(username, password); if (result) { resp.sendRedirect("welcomeServlet"); return; } resp.sendRedirect("loginServlet"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } }
LoginService—登录业务处理
package service; import util.ConnectionUtil; import java.sql.*; /** * Created by Fate on 2016/7/4. */ public class LoginService { public boolean login(String name, String password) { String sql = "select * FROM user where name=? and password=?"; Connection connection = ConnectionUtil.getConnetion(); PreparedStatement pstmt = null; ResultSet resultSet = null; try { pstmt = connection.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, password); resultSet = pstmt.executeQuery(); return resultSet.next(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (resultSet != null) { resultSet.close(); } if (pstmt != null) { pstmt.close(); } if (con 4000 nection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } return false; } }
WelcomeServlet—登录成功
package servlet; 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.OutputStream; /** * Created by Fate on 2016/7/1. */ public class WelcomeServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { OutputStream outputStream = resp.getOutputStream(); String response = "<html>\n" + "<head>\n" + " <title>welcome</title>\n" + "</head>\n" + "<body>\n" + "welcome\n" + "</body>\n" + "</html>"; outputStream.write(response.getBytes()); outputStream.close(); } }
注册
RegisterServlet
package servlet; 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.OutputStream; /** * Created by Fate on 2016/7/4. */ public class RegisterServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { OutputStream outputStream = resp.getOutputStream(); String response = "<html>\n" + "<head>\n" + " <title>register</title>\n" + "<meta charset=\"utf-8\">" + "</head>\n" + "<body>\n" + "<form action=\"registerControllerServlet\" method=\"post\">\n" + " <input name=\"username\" placeholder=\"please enter your name\" type=\"text\">\n" + " <input name=\"password\" placeholder=\"please enter password\" type=\"password\">\n" + " <input name=\"age\" placeholder=\"please enter password\" type=\"password\">\n" + "</br>" + " <input type=\"submit\" value=\"submit\">\n" + " <input type=\"reset\" value=\"reset\">\n" + "</form>\n" + "</body>\n" + "</html>"; outputStream.write(response.getBytes()); outputStream.close(); } }
RegisterControllerServlet
package controller; import service.RegisterService; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * Created by Fate on 2016/7/4. */ public class RegisterControllerServlet extends HttpServlet { @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); int age = Integer.parseInt(req.getParameter("age")); RegisterService register = new RegisterService(); boolean result = register.register(username, password, age); if (result) { resp.sendRedirect("welcomeServlet"); return; } resp.sendRedirect("registerServlet"); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req, resp); } }
RegisterService
package service; import util.ConnectionUtil; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; /** * Created by Fate on 2016/7/4. */ public class RegisterService { public boolean register(String username, String password, int age) { String sql = "INSERT INTO user (name,password,age) VALUES (?,?,?)"; Connection connection = ConnectionUtil.getConnetion(); try { PreparedStatement pstmt = connection.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, password); pstmt.setInt(3, age); int result = pstmt.executeUpdate(); if (result != 1) { pstmt.close(); connection.close(); return false; } pstmt.close(); connection.close(); return true; } catch (SQLException e) { e.printStackTrace(); return false; } } }
数据库连接
ConnectionUtil—使用静态方法jdbc连接
package util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * Created by Fate on 2016/7/4. * use Static Method to create jdbc connection */ public class ConnectionUtil { private static final String URL = "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8"; static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnetion() { Connection connection = null; try { connection = DriverManager.getConnection(URL, "root", "123456"); } catch (SQLException e) { LOGEER.info("getConnection failed"); e.printStackTrace(); } System.out.println("get jdbc connection seccess"); return connection; } }
配置文件
web.xml—配置servlet
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <servlet> <servlet-name>Login</servlet-name> <servlet-class>servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>LoginCl</servlet-name> <servlet-class>controller.LoginControllerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginCl</servlet-name> <url-pattern>/loginControllerServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>welcome</servlet-name> <servlet-class>servlet.WelcomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>welcome</servlet-name> <url-pattern>/welcomeServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>registerServlet</servlet-name> <servlet-class>servlet.RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>registerServlet</servlet-name> <url-pattern>/registerServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>registerCL</servlet-name> <servlet-class>controller.RegisterControllerServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>registerCL</servlet-name> <url-pattern>/registerControllerServlet</url-pattern> </servlet-mapping> </web-app>
相关文章推荐
- Java Servlet生成JSON格式数据并用jQuery显示的方法
- jsp和servlet中实现页面跳转的方式实例总结
- java servlet结合mysql搭建java web开发环境
- Servlet与JSP间的两种传值情况
- JSP、Servlet中get请求和post请求的区别总结
- jsp和servlet的区别探讨
- Struts2访问servlet分享
- java中Servlet处理乱码的方法
- Servlet 过滤器详细介绍
- JSP+Servlet+JavaBean实现登录网页实例详解
- servlet中session简介和使用例子
- 在Jsp Servlet中页面重新定向总汇
- JSP使用Servlet作为控制器实现MVC模式实例详解
- JSP使用Servlet过滤器进行身份验证的方法
- Servlet动态网页技术详解
- jsp和servlet操作mysql中文乱码问题的解决办法
- 基于jsp+servlet实现的简单博客系统实例(附源码)
- js调用后台servlet方法实例
- 利用JQuery和Servlet实现跨域提交请求示例分享