vlambda博客
学习文章列表

用IDEA创建Javaweb项目->部署->运行

这里注意,idea运行web项目时不要单独运行tomcat的shutup.bat,会报404错误。

以下是项目文件及包含关系(参考图二):

out目录存放项目的是编译后的文件和文件夹;

src对应Java类代码,web目录对应前端代码(能够运行外界项目(指网络下载的)需要在Modules项的Dependencies标签页中配置依赖关系);

另外在第三张图中,需要add new 'tomcat serve' configurations,其中的On ‘update' action 和 On frame deactivation 更改如图,端口号我设置的8088默认,在tomcat中可以更改,这里点击apply->ok ,同时记得在External Libararies中导入tomcat->lib->导入servlet-api.jar,如下图(为自动呈现)。

用IDEA创建Javaweb项目->部署->运行

用IDEA创建Javaweb项目->部署->运行

到这里就配好了,现在写测试类:

在web下写add.html(这里与WEB-INF同级):

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><form action="add" method=post> 名称:<input type="text" name="fname"><br/> 价格:<input type="text" name="price"><br/> 库存:<input type="text" name="fcount"><br/> 备注:<input type="text" name="remark"><br/> <input type="submit" value="添加"></form></body></html>


src文件中写AddServlet.class(尽量在src中创建包

// 文件位置package com.atguigu.servlets;
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;
public class AddServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String fname = request.getParameter("fname"); String priceStr = request.getParameter("price"); Integer price = Integer.parseInt(priceStr); String fcountStr = request.getParameter("fcount"); Integer fcount = Integer.parseInt(fcountStr); String remark = request.getParameter("remark");
System.out.println("fname="+fname); System.out.println("price="+price); System.out.println("fcount="+fcount); System.out.println("remark="+remark); //16:25 }}

如何实现两者建立联系呢?

在web->WEB-INF中有一个web.xml文件,添加如下代码:

<?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_4_0.xsd" version="4.0"> <servlet> <servlet-name>AddServlet</servlet-name> <servlet-class>com.atguigu.servlets.AddServlet</servlet-class> </servlet> <servlet-mapping>        <servlet-name>AddServlet</servlet-name> <url-pattern>/add</url-pattern> </servlet-mapping></web-app>//友情提醒:12行一定要加‘/’,否则会报505状态码,//另外,某些关键字和命名前后不一致也报505状态码!


HTTP状态码总结:

100 Continue 继续,一般在发送post 请求时,已发送了httpheader之后服务端将返回此信息,表示确认,之后发送具体参数信息200 OK 正常返回信息201 Created请求成功并且服务器创建了新的资源202 Accepted 服务器已接受请求,但尚未处理301 Moved Permanently 请求的网页已永久移动到新位置302 Found 临时性重定向303 See Other临时性重定向,且总是使用 GET 请求新的 URI304 Not Modified 自从上次请求后,请求的网页未修改过400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求401 Unauthorized 请求未授权403 Forbidden 禁止访问404 Not Found 找不到如何与 URI 相匹配的资源500 Internal Server Error 最常见的服务器端错误503 Service Unavailable服务器端暂时无法处理请求(可能是过载或维护)


编写完后,点击debug,等待片刻后会自动打开chrome浏览器,显示html文件如图:


点击添加按钮,idea中就会显示结果:

成功!


到这里挖个坑,是关于浏览器显示中用户提交输入后,如何绑定SQLyog数据库实现真正添加记录,即两者通过tomcat(中间件C/S不知道这样说对不对)建立联系。