java创建web心得(改)

看了很多前辈们的,可能是刚学吧,感觉里面很多使用教程用不上,于是东拼西凑终于弄了一个相对完善的web和mysql连接的完整过程(基于eclipse jee 2018-09下创建web):

在mysql和tomcat安装配置好情况下:
1:引入tomcat环境:

File->Other->Server->Server->选择好自己所安装的tomcat版本->Finish

2:创建web工程:

File->Other->Web->Dynamic Web Project

3:创建java web工程的servlet:

自己所建的项目->Java Resources->右击src->new->servlet->取名(java package 和 classname)随意

4:WebContent的WEB-INF的web.xml完善:


    
5:mysql驱动设置,驱动最好新版不然要挂掉(mysql-connector-java-5.1.47-bin.jar):

首先:把下载好的mysql驱动拷贝到自己的tomcat目录下的lib目录里面(没有放置里面,之后的class.forname(driver)会报错异常)

其次:自己所建的项目->Java Resources->Libraries->JRE System Library->右键Build Path->Configure Build Path->在Libraries选项卡下(->单击Modulepath右侧灰字即可点击)->Add External JARs->引入mysql的连接驱动包(PS:tomcat的lib下的mysql驱动)

6:创建jsp或者HTML:

自己所建的项目->右键->new->JSP File->命名->Finish。

 创建成功后在WebContent里面    

7:重写doGet()或doPost()

package test;

import java.io.IOException;
import java.sql.DriverManager;
import java.sql.SQLException;

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

import com.mysql.jdbc.Statement;

@WebServlet("/_test")
public class _test extends HttpServlet {
	private static final long serialVersionUID = 1L;
	// 声明一个驱动字符串,注意大小写!
	public static String drive = "com.mysql.jdbc.Driver";
	// 声明与数据库连接的路径字符串,其中test是数据库名
	public static String url = "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8";
	// 声明数据库使用对象的变量,当前为root对象
	public static String root = "root";
	// 声明数据库连接所需的密码
	public static String password = "";

	public _test() {
		super();
		// TODO Auto-generated constructor stub
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 响应前台的name属性为User_Name的标签,获取其文本内容
		String UserName = request.getParameter("User_Name");
		// 响应前台的name属性为PassWord的标签,获取其文本内容
		String PassWord = request.getParameter("PassWord");
		// 响应前台的name属性为Sex的标签,获取其文本内容
		String Sex = request.getParameter("Sex");
		// 声明一个数据库连接变量,初始化为null
		java.sql.Connection connection = null;
		try {
			// 实现驱动,但是必须首先将mysql的驱动拷贝到tomcat下的lib文件而且从该路径引用该mysql驱动
			Class.forName(drive);
			// 设置连接字符串
			connection = DriverManager.getConnection(url, root, password);
			// statement:声明。该声明对象被 数据库连接字符串下的创建声明所实例化,之后被声明的对象便能执行数据库操作
			Statement statement = (Statement) connection.createStatement();
			// 给字符串赋予插入对应表对应字段(因为有自增所以必须加对应字段)的对应内容
			String select1 = "insert into T_User(U_UserName,U_PassWord,U_Sex) values('" + UserName + "','" + PassWord
					+ "','" + Sex + "')";
			// 声明的对象执行数据库操作
			statement.execute(select1);
			// forward()是request中的参数继续传递,redirect()则是重新生成request了。
			// 类似ASP.NET MVC里面的view(""),而后者类似于里面的redirectview();一样
			request.getRequestDispatcher("Register.html").forward(request, response);
		} catch (ClassNotFoundException e) {
			// 如果驱动失败,则获取异常
			e.printStackTrace();
		} catch (SQLException e) {
			// 数据库操作异常
			e.printStackTrace();
		}
	}
}

8:mysql数据库表设计:

9:执行结果:

 

 


10:注意:

配置web.xml时候,如果是直接Ctrl+c和Ctrl+V过去的话,极有可能会报错,所以最好servlet和servletmapping都是直接输入进去的。

一边使用一边写的这个文档,如有不足,联系交流

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值