自己在这上面走了很多弯路啊!
编译器用的是Intelij+服务器用的是Tomcat
为了照顾到一些真的什么都不会的同学,我把每一步都截图了,多图预警!
1.新建项目
新建项目,就选普通的java EE。
我的项目就叫FirstConnect,建好的project应该是这个样子。
2.解决getparameter爆红问题
在windows里面找到你建立项目的路径,新建两个文件夹。
根目录下面新建文件夹 \lib
在web\WEB-INF下面新建文件夹classes
接下来找到你的Tomcat目录 打开lib 复制jsp-api.jar和servlet-api.jar
复制到我们在project根目录下面新建的lib目录
接下来回到intelij,点击file->Project Structure
接下来Modules->Dependencies->加号,1.JARS or directories
选择我们project/lib里面那两个jar包,添加进来
getparameter爆红问题解决了!
(其实另一种解决方案是在libraries里面添加tomcat的lib里面的包,但是我觉得不如复制到project里面,添加dependencies保险)
3.intelij创建package,servlet
project structure界面不要关,还没设置完!Modules->Paths->Use module compile output path 选择我们在WEB-INF下面新建的classes文件夹。output path,Test output path暂时都设成这个。
接下来回到project目录,src文件夹右键新建package(建package是个好习惯)
还是src文件夹或我们package文件夹,右键新建servlet(不然可能没有这个新建servlet的选项哦)
新建servlet一定要勾选这个annotated class,不然你就等着改web.xml吧!
4.写servlet和jsp的代码
servlet.java的代码
package com.njust.connect;
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 java.io.IOException;
@WebServlet(name = "Servlet1",urlPatterns = {
"/Servlet1"})//解决404问题
public class Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String str=request.getParameter("character");
String name=new String(str.getBytes("ISO-8859-1"),"UTF-8");//解决中文乱码问题
System.out.println("doPost HELLO WORLD");
System.out.println(name);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGET HELLO WORLD");
}
}
index.jsp的代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>标题</title>
</head>
<body>
最喜欢的
<form action="/Servlet1" method="post">//解决404问题
<input type="text" name="character" >
<input type="submit" >
</form>
好~
</body>
</html>
具体怎么解决404和中文乱码问题在第6大段会解释,想直接看的往下翻。
接下来连接Tomcat,选择右上角的Edit Configureations
左上角的绿色加号->TomcatServer->Local
给它改个名字,我就改成了MyTomcat。我不喜欢勾选这个After Launch,因为我喜欢用UC浏览器(快,UC打钱)。
还没完,Deployment->Artifact…添加一下!
如果出现这个样子就是好用了。
5.启动
点击绿色三角,先是加载,如果tomcat是中文乱码就去tomcat根目录改xml,与本文无关。
在浏览器输入localhost:8080 连接到我们的index网页
直接输入http://localhost:8080/index.jsp也可
输入内容,然后点提交
会跳转到一个空白的页面,
控制台输出以上文字,恭喜你成功了
ps. 园田海未是lovelive里面的大和抚子哦~
6.404、中文乱码问题是怎么解决的
首先确保你第三大段
“Modules->Paths->Use module compile output path 选择我们在WEB-INF下面新建的classes文件夹。”
这一步是正确的。不然jsp很可能找不到servlet而报错
接着,
404问题:
请保证servlet的urlPatterns 与 jsp 的action相等!比如我的例子里都是 “/Servlet1”(这个卡了我很久,最后从贴吧老哥那学来的)
@WebServlet(name = "Servlet1",urlPatterns = {
"/Servlet1"})//解决404问题
<form action="/Servlet1" method="post">
表单提交中文乱码问题(我输出“园田海未”,输出却是乱码):在servlet中添加这两句话
String str=request.getParameter("character");
String name=new String(str.getBytes("ISO-8859-1"),"UTF-8");
这是因为它传输用的编码与我们常用的编码不一样导致的,这两句话的作用是转换。
以上