Servlet 注册01
来源:互联网 发布:网络的英文翻译 编辑:程序博客网 时间:2024/06/05 15:19
1.今天我用汉文写了个servet 的初步认识,以后还会用英文发表文章。
//第一步
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>用户注册</title></head><body><!-- 提示 : 这里的form, action = "RegisterServlet" 是根据web.xml里面的 servlet-name来填写, 推荐直接赋值避免发生不必要的错误 --><form action="RegisterServlet" method = "post"><table align="center" width="450" border="1px"> <tr> <td align="center">用户名</td> <td> <input type="text" name = "username"> </td> </tr> <tr> <td align="center">密 码:</td> <td> <input type="password" name="password"> </td> </tr> <tr> <td align="center">确认密码:</td> <td> <input type="password" name="repassword"> </td> </tr> <tr> <td align="center">性 别:</td> <td> <input type="radio" name="sex" value="male" checked="checked">male <input type="radio" name="sex" value="female">female </td> </tr> <tr> <td align="center">年龄</td> <td> <input type="text" name = "age"> </td> </tr> <tr> <td align="center">家乡</td> <td> <input type = "text" name ="address"> </td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="注 册"> <input type="reset" value="重 置"> </td> </tr> </table></form></body></html>
//第二步 控制层
package servlet;import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 作者 : Iparhan * 时间 : 2016-6 * 地点 : 北京中关村科源小区宿舍 * 系统 : linux (ubuntu 15.10) * 社和人群 : 学完基础,servlet ,jsp,jdbc,数据库,html,css,js 和 准备学习框架的人群。 * * 项目功能点 :注册和跳转页面 * 项目开发步骤 : 按照生活上的逻辑思维开发就行 * 1.先建一个数据库和数据表。 * 2.写显示页面register.html(这里的显示页面可以任何一种, .html,.jsp,或者是IndexServlet.java)然后填数据。 * 3.写控制功能(RegisterServlet.java) * 4.判断是否注册成功,如果成功就跳转到message.jsp 页面把返回的信息显示给客户端。 * * 提示 : 严格按照上面的步骤来开发不会出错误。一切顺利。 * * *//* * Servlet开发步骤: * 等我们在显示页面输入注册信息之后,执行命令通过<form action = "RegisterServlet"method ="post"> 会找到这里来, * 然后RegisterServlet 接到命令之后就开始做准备工作 * 1.准备好编码问题 * 2.接受显示页面(register.jsp 或者register.html)发来的参数和数据, * 3.连接数据库 * 4.然后给每一个参数就进行赋值 * 5.进行executeUpdate()更新和保存数据到数据库(这一步很重要)。 * 6.判断 如果成功就转到 message页面。 * 完成! */public class RegisterServlet extends HttpServlet {private static final long serialVersionUID = 1L;/* * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) * 需要注意的几点 : * 1.这里(doGet,doPost) 两种方法处理整个项目请求和响应。 * 这里我们可以使用doPost() 因为相对比doGet安全和好理解(个人观念),一个servlet 里面可以两个都可以使用, 也可以只使用一个。 */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//第一步 处理乱码问题//提示 : 如果下面的两个方法同时使用会效果更好。response.setCharacterEncoding("utf-8"); //保证浏览器页面的编码问题response.setContentType("text/html;charset = utf-8"); // 解析之后的字符编码//第二步 接受显示页面的注册参数String id = request.getParameter("id");String username = request.getParameter("username");String password = request.getParameter("password");String sex = request.getParameter("sex");String age = request.getParameter("age");String address = request.getParameter("address");//第三步 连接数据库//提示 : 数据库连接很容易发生错误,所以一开始就是准备处理工作。try{Class.forName("com.mysql.jdbc.Driver");Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/servlet","root","root");if(connection != null){System.err.println("数据库连接成功");}else{System.out.println("数据库连接失败");}//第四步 :给参数进行赋值 往数据库添加数据PrintWriter out = response.getWriter(); // 整个项目里面扮演着 把数据输出到浏览器的角色。PreparedStatement preparedStatement = connection.prepareStatement("insert into user values(?,?,?,?,?,?)");preparedStatement.setString(1, id);preparedStatement.setString(2, username);preparedStatement.setString(3, password);preparedStatement.setString(4, sex);preparedStatement.setString(5, age);preparedStatement.setString(6, address);//第五步 :保存数据 提示 : 这里才是关键int i = preparedStatement.executeUpdate();//第六步 判断是否注册成功 如果成功就信息跳转到message 页面if(i >0){//下面的意思是 把最初客户端给servlet 发送的数据跳转到另一个页面去响应再返回给客户端//通俗点的讲 就像领导给我了一个任务 但是我很忙或者别的原因就把任务转给第三个人。request.getRequestDispatcher("message.jsp").forward(request, response);}}catch(Exception e){e.printStackTrace();}}}
//第三步 跳转页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>接受服务器信息</title></head><body><%request.setCharacterEncoding("UTF-8");String username = request.getParameter("username");//String password = request.getParameter("password");String sex = request.getParameter("sex");String age = request.getParameter("age");String address = request.getParameter("address");%><%=username %><%=sex %>><%=age %>><%=address %>></body></html>
//最后
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>register04</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>RegisterServlet</display-name> <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></web-app>
终稿 : 本人用半天总结了这么一段小总结, 如果能对初学者有帮助我很乐意,高手尽情指点!
提示: 别忘; mysql-connector-java-5.1.26-bin.jar
1 0
- Servlet 注册01
- Servlet注册
- servlet的注册
- 【servlet】注册模块
- servlet的动态注册
- Servlet实现用户注册
- 温故知新--servlet(二)web.xml注册servlet
- Servlet的注册与运行
- servlet的注册与使用
- Servlet注册功能的实现
- servlet的注册和运行
- servlet的注册和映射
- 如何在XML注册Servlet
- Servlet 实现登录与注册
- 在web.xml注册Servlet
- servlet实现客户注册功能
- springboot注册servlet,Filter,Listener
- Eclipse自动注册Servlet:web.xml注册和@Servlet注解 实现注册
- Hadoop源码 YarnRPC通信框架
- Qt5以上的建立空Qt项目时
- 面试必备
- 开源镜像站最新动态20150626
- Python 小练习 倒序切片
- Servlet 注册01
- Leetcode-maximum-depth-of-binary-tree
- Eclipse插件springsource-tool-suite的下载和安装
- 学习 Promise (结合 Rxjava)
- Leetcode-reverse-integer
- Two Cylinders (辛普森公式处理积分)
- 二叉树的遍历。。。
- BZOJ 2208: [Jsoi2010]连通数
- 4. gpio 库