Tomcat与Servlet

Internet中web分类

静态web:指web页面中供人们浏览的数据始终是不变。

动态web:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

IDEA中Tomcat的配置

idea添加Tomcat

导航栏RUN --> Edit Configuration --> "+" --> Tomcat Service --> local

环境变量的配置

新建:CATALINA_HOME:tomcat路径
    CATALINA_BASE:tomcat路径
需确保有JAVA_HOME

Web项目的配置

添加Tomcat服务器到项目的环境变量
    File --> Project Structure... --> Modules --> Dependencies --> "+" --> Libary --> tomcat

添加服务器的部署
    run --> Edit Configuration --> 选中服务器 --> Deployment --> "+" --> 选中项目

Servlet应用

1.创建一个后缀为Servlet的类,继承HttpServlet(项目环境必须加入tomcat),重写service()

2.客户端是不能直接访问到后台代码
需要在web.xml(前端控制器)注册Servlet

<servlet>
    <servlet-name>a</servlet-name>
    <servlet-class>com.qf.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>a</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>

url-pattern:访问映射路径

mapping的servlet-name:寻找servlet的servlet-name

servlet-class:被访问的servlet类路径

Servlet的生命周期

客户端发送请求 --> 服务器 --> 根据web.xml的配置信息 --> 根据映射路径找到对应的Servlet类 --> 调用构造方法(创建对象) --> 调用(init)初始化方法 --> 执行service方法(根据请求提交方式决定调用doGet方法或者是doPost方法) --> Servlet被销毁的时候调用(destroy)销毁方法

Servlet是单例多任务模式

表单注册获取name的value值

request.getParameter() --> 获取单个name的value值,返回字符串

request.getParameterValues() --> 获取多个name的value值,返回字符串数组

乱码解决

post:

request.setCharacterEncoding("utf-8");
request.setContentType("text/html;charset=utf-8");

get:

第一种:修改服务器编码格式 tomcat文件地址 --> conf --> Server.xml:URIEncoding =  "utf-8"
第二种:针对乱码的字符串进行转码:username = new String(username.getBytes("iso-8859-1"),"utf-8");

猜你喜欢

转载自blog.csdn.net/qq_36901488/article/details/87691403