一.当创建web项目时,没有勾选Java EE时,如何添加web
(使用jdk8版本尽量不要使用tomcat9及以上版本的tomcat,版本不匹配的问题)
一.B/S模式和C/S模式
C/S:客户端服务器端结构模式
优点:充分利用客户端机器资源,减轻服务器负荷。(将一部分安全性不高的计算机存储任务安装在客户端,不需要将所有的计算和资源放在服务器上,减轻服务器的压力)
B/S:浏览器服务器模结构模式
优点:所有数据全部部署在服务器上,安全性高,升级维护成本低。客户端不需要安装。
缺点:服务器负荷重,需要服务器和客户端浏览器频繁交互,产生网络负荷。
B/S结构图:
二.创建web项目
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form method="post" action="Add">
ID:<input type="text" name="id"/><br/>
姓名:<input type="text" name="username"/><br/>
balance:<input type="text" name="balance"/><br/>
<input type="submit" value="添加">
</form>
</body>
</html>
package temp;
import Dao.UserDaoImpl;
import bean.User;
import org.apache.commons.dbutils.ResultSetHandler;
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.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
public class AddServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String userId = request.getParameter("id");
int id = Integer.parseInt(userId);
String name = request.getParameter("username");
String userBalance = request.getParameter("balance");
double balance = Double.parseDouble(userBalance);
System.out.println(id);
System.out.println(name);
System.out.println(balance);
}
}
三.举例说明Servlet执行流程图:
四.Servlet项目中常见的问题
一.当创建web项目时,没有勾选Java EE时,如何添加web
二.在web文件中导入jar
在web–inf中创建lib,其中的类库只能被改模块使用,其他模块不能使用
三.404
设置默认路径方式一:
设置默认路径方式二:
四.405
405是值请求方法不支持:比如,method为post,但是servle没有实现doPost的方法,就会报405错误。
五.空指针和NumberFormatException
六.500
七.中文编码出错
tomcat8之后:
只针对post方法:request.setCharacterEncoding(“UTF-8”);
tomcat8之前:
(1.如果是post传递方法:
request.setCharacterEncoding(“UTF-8”);
(2.如果是get传递方法
1.先将数据转换成字节数组
String name = request.getParameter(“name“);
byte[] by = name.getBytes(“ISO-8859-1”);
2.将字节数组按照设定的编码格式转成成字符串
name = new String(by,”UTF-8″);
原文地址:https://blog.csdn.net/qq_52655865/article/details/124093567
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_13085.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!