您的位置:首页 > 其它

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  servlet