初衷
这遍教程是写给一个刚接触java的朋友,所以此教程是尽可能简单易懂,没有任何难度的技术,采用普通的web项目(不使用Maven,springboot,rest等等),开发工具为Ecipse(IDEA也差不多)。因为本人很久没有搞这些东西,如有错误之处,敬请提出!
一.新建web项目
打开eclipse在右边空白处鼠标右键,选择Dynamic Web Project(如果没有,选择Other打开web文件就可以找到)
这个是填写项目的基本信息,包括项目名、项目运行时服务器版本,你可以选择tomcat或者其他都可以,看你的项目需要,在这里我输入一个TestSsm来测试项目的建立,输入完毕后我们点击【Next】按钮
这个窗口显示的WEB项目中需要编译的JAVA文件的目录,默认是SRC目录,这个我们不需要改,直接点击【Next】
接着弹出窗口,显示的是我们的WEB项目,WEB文件相关的目录,就是html或者jsp还有js那些web相关的文件存放的目录,默认是【WebContent】,你也可以修改成你想要的文件名,注意,下面有个复选框,表示的是是否要自动生成web.xml文件
web.xml:这个文件是WEB项目的核心文件,也是WEB项目的入口,老版本的Eclipse都会有这个文件,但是新版本的Eclipse因为可以使用在JAVA代码中注解的方式,所以提供让用户选择是否要生成,如果是新手最好选择生成
然后我们点击【Finish】
项目创建完成,项目结构如下
二.配置项目
加入项目需要的jar包,直接把jar包复制在lib目录下即可(有可能运行项目报错需选择所有jar包右键Build Path>add to build path)
src右键新建mybatis-config.xml文件,mybatis配置文件。新建包分别为com.pyq.controller(控制层),com.pyq.entity(Model层,实体类),com.pyq.service(服务层),com.pyq.mapper(mapper.xml,mapper接口)。log4j.properties是项目日志配置文件,这里不多说
<!-- 指定mapper.xml位置 --
<mapper resource="com/pyq/mapper/UserMapper.xml" />
在WEB-INF目录下新建springmvc-servlet.xml(这里有个错误,懒得重新截图。<context:component-scan base-package=“com.pyq”/>包路径写错了),springmvc-servlet.xml也可以写在src根目录,然后wen.xml里面指定位置即可。配置如下
web.xml配置如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>TestSsm</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- spring上下文监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- springmvc配置文件位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springmvc-servlet.xml</param-value>
</context-param>
<!-- springmvc拦截器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!-- 中文过滤器 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
基本配置已经完成了
三.编码
1.编写实体类 (生成get,set,鼠标右键source>Generate Getters and Setters>选择属性就ok)
2.在UserMapper.java里面定义一个借口。@Repository用在借口类上,spring会扫描到,方便注入
@Repository
public interface UserMapper {
// 根据用户名查询用户
public User getUserByUsername(@Param("username") String username);
}
- UserMapper.xml如下
4.UserService.java如下(为了简便不分为Service接口和serviceImpl实现,这里可以在类上面加上事务注解@Transactional,具体可自行百度。在这里说一下,注入有很多方式,我是使用@Autowired注解)
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserByUsername(String username) {
return userMapper.getUserByUsername(username);
}
}
5.Controller如下(不使用ModelView之类的了,使用@ResponseBody直接返回json,@RequestMapping映射路径就是前端访问的路径。其实这里使用rest更好)
@Controller
public class TestController {
@Autowired
private UserService userService;
@RequestMapping("/getUser")
public @ResponseBody User getUser(String username){
return userService.getUserByUsername(username);
}
}
6.最后开始写页面,在WebContent目录下新建js文件夹(右键Folder),jquery-1.11.2.min.js放进去。新建index.jsp并引入jquery,代码如下
四.运行
把项目加进Tomcat,运行没有报错,perfect!!!。打开浏览器访问http://localhost:8080/TestSsm/index.jsp
五.总结
终于完成了,希望能起到作用。在搭建项目过程中因为jar包版本问题(jackson版本,因为spring版本过低。),找了很长时间才解决,真的是写这遍文章对我自己也是一种提升。突然间想到朋友很多次问控制台Console,Servers有时候会找不到,Window>Show View就可以找到了。每个人都是从菜鸟过来的,加油!